유니티의 프로파일러 기능을 통해, 병목 현상을 체크하고, 문제가 되는 부분을 찾아내어 수정할 수 있는 능력을 기르자.
- 빈 오브젝트 하나 생성 후, 코드로 일부러 부하가 걸리게끔 스크립트를 작성했다.
void Update()
{
for(int i = 0; i < 1000000; ++i)
{
float a = Mathf.Sqrt(i);
}
}
- for - loop 를 극한으로 돌려 cpu에 연산 부담을 높인 결과, 유니티의 프로파일러 창을 실행해 테스트 해보니 , 다음과 같이 결과가 나타난다.

- 사진 속 그래프들의 설명은 대략 다음과 같다.

- 프로파일러 창 하단에서,
CPU Active Time : 125.897 ms
GPU Time : 5.947 ms
- 즉 현재 상태는, CPU Frame Time = 125ms
즉, 1000 / 125 = 8 FPS 를 의미한다. → CPU 가 프레임을 너무 오래 점유하고 있는 현상. 프로파일러 상단에,
CPU exceeded your target frame time 라는 경고문구가 출력된다.
- 통상 프레임 기준표
| FPS |
Frame Time |
| 60 FPS |
16.6 ms |
| 30 FPS |
33 ms |
| 15 FPS |
66 ms |

| 색상 |
의미 |
| 노랑 |
Rendering |
| 파랑 |
Scripts |
| 연두 |
Physics |
| 보라 |
UI |
| 회색 |
Others |
- 현재 그래프는 파란색 영역인 Scripts 의 비중이 크기 때문에, → 스크립트의 실행이 CPU를 많이 사용하고 있다는 의미.
( Update 부담 , 무거운 계산, Instantiate 반복 등.. )