전체 시스템에서 성능이라 처리량을 제한하는 구간 -> 시스템 전체 성능은 가장 느린 구간 하나가 결정한다.
병목이 아닌 곳을 최적화할 경우 전체 성능이 안 좋아진다. 렌더링이 병목일 때 AI 연산을 최적화해봤자 체감이 없다. 그래서 병목 현상이 일어나는 부분을 먼저 찾고 그 다음 고치는 순서가 절대 원칙이다.
병목 종류
CPU 병목 -> AI, 물리, 게임 로직 과부하 : GPU 대기 시간이 길다 ( UE5 Unreal Insights )
GPU 병목 -> 드로우콜, 셰이더 복잡도 : CPU 대기 시간이 길다 ( RenderDoc, GPU Profiler )
메모리 병목 -> 텍스처, 메시 과적재 : 로딩 길고 프레임 드랍 ( UE5 Memory Insights )
I/O 병목 -> 에셋 스트리밍 지연 : 팝인(Pop-in) 현상 ( 디스크 프로파일러 )
병목 해결 순서
1. 측정 ( Measure ) : 프로파일러로 실제 수치 확인
2. 발견 ( Identify ) : 어디서 시간을 제일 많이 쓰는가
3. 수정 ( Fix ) : 병목 구간만 타깃 최적화
4. 검증 ( Verify ) : 수정 후 수치 재측정
연결되는 개념들
프로파일러 ( Profiler ) : 병목을 찾는 도구. 수치로 보여주는데 UE5는 Unreal Insights가 핵심이다
암달의 법칙 ( Amdahl's Law ) : 병렬화해도 전체 성능 향상에는 한계가 있다는 법칙. 병목이 전체의 10%라면 그걸 완전히 없애도 전체는 10%밖에 안빨라진다.
핫 패스 ( Hot Path ) : 매 프레임, 매 틱처럼 자주 실행되는 코드 경로. 여기서 병목이 날 경우 임팩트가 크다.
항상 병목은 데이터와 수치로 접근해서 개선해야한다.
'Word' 카테고리의 다른 글
| 데이터 드리븐 ( Data-Driven Design ) (0) | 2026.06.25 |
|---|---|
| 리텐션 ( Retention ) (0) | 2026.06.25 |
| 크런치 ( Crunch ), 히트박스/헛박스 (Hitbox/Hurtbox) (0) | 2026.06.24 |
| 온보딩 ( Onboarding ) (0) | 2026.06.24 |
| 상태 머신 ( State Machine ) FSM (0) | 2026.06.23 |
