UDN
Search public documentation:

MobileProfilingHomeKR
English Translation
日本語訳
中国翻译

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

UE3 홈 > 퍼포먼스, 프로파일링, 최적화 > 모바일 디바이스 프로파일링
UE3 홈 > 모바일 홈 > 모바일 디바이스 프로파일링

모바일 디바이스 프로파일링


문서 변경내역: Jeff Wilson 작성. 홍성진 번역.

개요


일반적으로 모바일 디바이스 프로파일링에는 언리얼 엔진 3 관련 PC 게임 프로파일링 툴과 기술이 그대로 적용됩니다. 그러나 모바일 디바이스에는 게임내 콘솔이 없다든가, 특정 파일은 게임 디렉토리가 아닌 디바이스에 저장된다든가 하는 등, 미묘한 차이와 고려할 사항들이 약간 있습니다. 추가적으로 애플의 Instruments 툴처럼 모바일 디바이스 프로파일링 전용 툴도 있습니다. 여기서는 모바일 디바이스에서 엔진의 성능을 최대로 끌어내기 위해, 언리얼 엔진 3의 프로파일링 툴과 아울러 기타 외부 툴을 사용하는 과정에 대해서 상세히 기술하도록 하겠습니다.

언리얼 엔진 3로 개발할 때의 범용 프로파일링 / 최적화 정보에 대해서는, Performance Home KR 페이지를 참고하시기 바랍니다.

STAT 명령


STAT 명령은 프로파일링에 있어 매우 유용하게 자주 사용되는 방법 중 하나입니다. 각 명령은 화면상에 다양한 통계 그룹을 표시하여, 어느 때고 배후에 무슨 일이 벌어지는지를 실시간 스냅샷으로 나타내 줍니다. 이를 통해 게임 내 문제가 있는 특정 지역으로 이동해서 즉시 문제를 파악하는 일이 매우 쉬워집니다.

stats.jpg

전체 STAT 명령과 그 설명에 대해서는 Stats Descriptions KR 페이지를 참고하시기 바랍니다.

모바일에서도 아래 예외 두 가지를 제외하고는 PC 에서 게임 프로파일링할 때와 똑같이 작동합니다.

명령 실행하기

모바일 게임에는 콘솔이 없기에 키보드 입력을 통해 어떤 명령을 직접 내리거나 할 수 없습니다. 가능한 방법은:

  • 키즈멧 - 키즈멧에서 Console Command 액션을 사용하여 STAT 명령을 실행하도록 시퀸스 구성을 할 수 있습니다. 이 시퀸스는 레벨 시작시나 특정 이벤트 발생시 트리거시킬 수 있습니다. kismet.jpg
  • 언리얼스크립트 - 언리얼스크립트로 PlayerController 에서 ConsoleCommand() 함수를 호출한 다음 실행할 명령을 전달해 주는 식으로 STAT 명령을 실행시킬 수도 있습니다. 유연성은 뛰어나지만, 다른 명령을 내리기 위해서는 코드를 바꾸고 다시 컴파일해야 합니다.
  • 메뉴 버튼 - 모바일 메뉴 시스템을 사용하여 디버그 메뉴를 만든 다음, 위에 설명한 방법대로 메뉴의 각 버튼에 다양한 명령을 실행하도록 지정하는 방법도 있습니다. menu.jpg

제한된 화면공간

STAT 명령은 통계 정보를 화면에 바로 뿌린다는 점에 유념해 봅시다. 즉 어떤 명령의 결과가 너무 길면 일부분만 보일 수도 있다는 뜻입니다. 통계 그룹을 여럿 동시에 표시하는 것도 사실상 불가능합니다. 물론 모바일 프리뷰어로 게임을 실행할 때야 이런 걱정을 할 필요가 없습니다. 그저 실제 디바이스와 모바일 프리뷰어가 다르게 돌아가는 부분이 있다는 것만 알아 두시면 됩니다.

게임 스레드 프로파일링


언리얼 엔진 3로 PC 게임플레이를 프로파일링하는 데 사용되는 툴은 모바일 디바이스에서도 사용할 수 있습니다. 게임플레이 프로파일러통계 뷰어 가 포함됩니다. 둘 다 매우 유용한 툴인데, 정보를 파일로 덤프하고 각각의 툴로 열어 분석해 보면 뭐가 문제인지 알아볼 수 있습니다.

gameplay.jpg

프로파일링 파일 구하기

모바일 디바이스에서 실행할 때, 프로파일링 파일은 디바이스에 생성됩니다. 그 파일을 사용하려면 디바이스에서 구해 와야 합니다. 그 자세한 과정은 아래와 같습니다.

언리얼 iPhone Packager 툴을 통해 iPhone 에서 파일 구하는 방법:

  • /binaries/iPhone/ 에 있는 IPP.exe 를 엽니다.
  • Deployment Tools 탭에서 디바이스를 선택한 다음 Backup Documents 를 선택합니다.
  • 디바이스에서 사용한 IPA 위치로 이동합니다. 예를 들어 Release MobileGame 을 쿠킹했다면, IPA는: \Binaries\IPhone\Release-iphoneos\MobileGam\MobileGame.ipa
  • 파일 저장 위치는: \UnrealEngine3\MobileGame\iOS_Backups\
  • 그런 다음 프로파일링 파일을 GameplayProfiler.exe 와 같은 연결 어플리케이션을 통해 열어보면 됩니다.

Instruments


Instruments 는 (OS X 는 물론) iOS 디바이스 상의 어플리케이션 프로파일링 용으로 애플이 제공하는 어플리케이션입니다. 앱과 운영 체제 양쪽 면에서 프로세스를 추적하고 데이터를 수집해 줍니다. 디바이스에서 실행되는 게임에 대한 세부적인 퍼포먼스 분석을 할 수 있는 것입니다.

Instruments.jpg

게임에 관련된 프로세스와 메모리 사용을 모니터링하려면:

  1. Library 의 iPhone 섹션에서 Memory Monitor 와 Activity Monitor 를 선택합니다.
  2. 게임을 실행중인 iOS 디바이스를 선택하고, Record 버튼 옆의 드롭다운에서 All Processes 를 선택합니다.
  3. Record 버튼을 클릭하여 프로파일링을 시작합니다.

Memory Monitor 는 전체적인 물리 메모리 사용량을, Activity Monitor 는 각 프로세스를 표시해 줍니다.

애플은 Instruments 의 자세한 사용 안내서를 제공하고 있습니다. 자세한 사용법은 애플의 개발자 사이트에서 Instruments User Guide를 참고하시기 바랍니다.

ALERT! 주: 이 어플리케이션은 Mac이 필요합니다.

메모리 프로파일러


언리얼 메모리 프로파일러 는 이제 iOS 용 고급 메모리 추적 시스템을 지원합니다. 병목현상을 겪고 계신다면 조사하는 데 도움이 될 수 있을 것입니다.

ALERT! 주: 이 어플리케이션은 맥을 필요로 합니다.

흔한 퍼포먼스 문제


  • 모바일 디바이스에서 감마 보정을 사용하면 퍼포먼스에 심각한 문제가 생길 수 있습니다. (iPad2 이상급의) 고성능이나 앞으로 나올 모바일 디바이스에서만 쓰도록 고안된 기능이기 때문입니다. 맵에 모바일 디바이스 감마 보정을 켜서 퍼포먼스 문제를 겪고 계신다면, 꺼 주시고 감마 부족분은 콘텐츠를 통해 직접 처리해 주셔야 합니다. 감마 보정 없는 모바일 디바이스용 콘텐츠에 대한 정보에 대해서는 모바일 디바이스에서의 감마 문서를 참고해 주시기 바랍니다.