이 페이지는 실시간 렌더링 기능으로 최적의 충실도를 달성하면서 퍼포먼스를 파악하고 최적화하는 방법에 대한 가이드라인과 모범 사례를 제공합니다.
이 페이지에서는 아래와 같은 내용을 살펴봅니다.
프로젝트 개발 시 애플리케이션의 타깃 플랫폼에는 오브젝트를 메모리에 유지하고 이를 처리하는 데 사용할 수 있는 리소스에 제한이 있습니다. 프로젝트를 빌드할 때에는 어떤 용도로 리소스를 사용할지 결정해야 합니다. CPU와 GPU의 속도, 스레드, 대역폭 측면에서 플랫폼의 성능을 숙지해야 합니다. 잠재적 메모리, 그래픽 메모리, 사용 가능한 디스크 공간도 모두 고려해야 할 중요한 요인입니다.
프로젝트가 어떻게 실행될지, 어디서 퍼포먼스 병목 현상이 나타날 것인지 파악하려면 타깃 플랫폼을 기준으로 프로젝트를 벤치마크 해야 합니다. 퍼포먼스 부담이 큰 애플리케이션이나 테크 데모를 실행한 다음, 퍼포먼스 통계를 관찰하여 플랫폼이나 디바이스를 벤치마크할 수 있습니다. 정기적으로 같은 방식을 통해 프로젝트를 테스트하고 벤치마크하는 것이 중요합니다.
퍼포먼스 통계는 프로젝트를 실행하는 동안 몇 가지 콘솔 명령을 사용하여 확인할 수 있습니다. 프로젝트를 실행했거나 개발 빌드로 패키징했다면 콘솔 창을 통해 콘솔 명령을 입력할 수 있습니다.

모바일 애플리케이션에 콘솔 창이 표시됩니다.
<aside> 💡 콘솔과 손가락 4개를 탭하는 명령은 개발 빌드에서만 사용할 수 있습니다. 출시나 테스트 빌드에서는 사용할 수 없습니다.
</aside>
콘솔에 명령을 입력하여 화면에 디버그 정보를 표시할 수 있습니다. 다음 표에는 퍼포먼스 정보를 제공하는 명령 목록이 포함되어 있습니다.
| 명령 | 설명 |
|---|---|
Stat GPU |
각기 다른 프로세스를 위해 GPU에서 사용하는 시간을 밀리초 단위로 표시합니다. |
Stat Unit |
각기 다른 프로세스를 위해 CPU에서 사용하는 시간을 밀리초 단위로 표시합니다. 게임 스레드, 렌더링 스레드, GPU 시간도 표시합니다. |
Stat UnitGraph |
시간에 따른 CPU 및 GPU 사용량을 보여주는 그래프를 표시합니다. 이를 통해 급증 현상을 식별할 수 있습니다. |
Stat TextureGroup |
각기 다른 텍스처 풀에서 사용하는 메모리의 양을 표시합니다. |
<aside> 💡 디바이스에서 애플리케이션의 퍼포먼스를 분석하는 데 사용할 수 있는 추가 콘솔 명령은 Stat 명령을 참조하세요.
</aside>
퍼포먼스 데이터를 확인하는 곳을 알아보았으니, 이제 퍼포먼스에 흔히 영향을 미치는 대표적인 요인을 살펴보겠습니다. 프로젝트에 영향을 미치는 요소가 무엇인지, 어떻게 영향을 미치는지를 이해하면 엔진의 내장 진단 툴을 사용하여 문제를 식별 및 해결할 수 있습니다.
로우 폴리 모델에 대한 노멀 맵으로 고해상도 버텍스를 구우면 프로세스가 복잡해질 수 있으며, 엔진 내에서 노멀 맵 텍스처의 퀄리티를 떨어뜨릴 수 있는 요소가 많습니다. 노멀 맵을 구울 때 사용할 수 있는 툴세트는 많지만 XNormal 을 권장합니다. 에픽게임즈의 Xnormal 프로세스를 간략히 설명하면 다음과 같습니다.