게임 루프 전체 실행 시간을 나타냄.
일반적으로 16.67ms(60FPS) 이하로 유지하는 것이 목표.
첫 프레임에서 시간이 길어지는 경우, 초기화 로직 최적화 필요.
점진적으로 GC 실행되면서 걸린 시간.
2~3ms 정도는 괜찮지만, 지속적으로 높거나 10ms 이상 튀면 최적화 필요.
new 남발, Instantiate() 반복 사용이 원인일 수 있음 → 오브젝트 풀링 적용 추천.
SetPass Calls: 많으면 CPU 부하 증가 → Material Batching 최적화 필요.
Batches: 낮을수록 성능이 좋음 → Static Batching, Dynamic Batching, GPU Instancing 활용.
Physics.Simulate() 시간이 길면 물리 연산 최적화 필요.
Rigidbody, Collider 개수 확인 → 너무 많으면 성능 저하.
Fixed Timestep 값을 조절해서 물리 연산 줄이기 가능.
특정 스크립트가 CPU 사용량을 많이 차지하면 최적화 필요.
Update()에서 불필요한 연산 반복되는지 확인.
Debug.Log() 남발하면 성능 저하될 수 있음 → 빌드 시 제거.
Canvas.Rebuild()가 자주 실행되면 UI 업데이트가 많다는 뜻 →
Canvas를 잘 나누거나, CanvasGroup.alpha 활용해서 성능 최적화.
Layout 관련 연산이 많으면 UI 업데이트 최적화 필요.
프로파일을 볼 때 CPU 시간, GC, 렌더링, 물리, 스크립트, UI 관련 항목을 체크하는 게 중요하다.
프레임 시간이 16.67ms(60FPS 기준) 이상 길어지면, 어디에서 병목이 발생하는지 분석하고 최적화해야 함
