‘느리다’를 프레임 시간으로 나눠 보기

Profiler는 앱이 프레임마다 어디에 시간을 쓰는지 보여 줍니다. 문제가 다시 나타나는 장면을 먼저 고정하고, 병목 후보를 찾은 뒤 가설을 하나씩 바꿔 봅니다.

에디터 수치만 보고 결론 내리지는 마세요. 목표 기기와 비슷한 환경에서도 같은 문제가 나타나는지 다시 확인해야 합니다.

처음 30분은 이 순서로 본다

처음부터 모든 모듈을 읽으려 하지 마세요. 프레임 시간을 가장 많이 차지하는 구간부터 좁혀 가는 게 빠릅니다.

  1. 문제가 발생하는 같은 장면과 조작을 반복할 수 있게 만듭니다.
  2. CPU Usage에서 프레임이 튀는 구간을 찾고, PlayerLoop 아래의 가장 큰 항목을 엽니다.
  3. GPU 또는 Rendering 지표를 함께 보며 CPU 대기인지 렌더링 병목인지 가설을 세웁니다.
  4. Memory에서 반복 조작 뒤 메모리가 계속 증가하는지 관찰합니다.
  5. 한 가지 변경만 적용한 뒤 같은 시나리오를 다시 측정합니다.

Deep Profile은 후보를 좁힌 뒤에

Deep Profile은 세부 호출을 보여 주지만 측정 자체의 부담도 큽니다. 일반 Profiler로 큰 병목 후보를 먼저 찾고, 꼭 필요한 짧은 구간에만 켜세요.

‘FPS가 올랐다’고 끝내지 말고, 어떤 시나리오에서 프레임 시간의 어느 구간이 얼마나 줄었는지 적어 둡니다. 그래야 다음 최적화를 어디서 시작할지 바로 알 수 있습니다.

확인한 공식 문서Unity 6.1 Profiler 매뉴얼 ↗