2016-11-29

Mali Graphics Debugger 가 지원되는 언리얼 엔진 어플리케이션 빌드하기

By Thomas Poulet ARM Mali Graphics

ARM Mali Graphics Debugger (MGD)는 어플리케이션의 Vulkan, OpenGL ES, EGL, OpenCL API 호출을 추적하여, 개발자가 프레임 단위로 이해하고 코드에서 병목 현상이 생길 수 있는 부분을 찾아내는 데 도움을 줍니다. 이 글에서는 언리얼 엔진 어플리케이션이 루팅되지 않은 디바이스에서도 MGD 가 지원 되도록 하는 방법을 설명해 드리겠습니다.

blogAssets%2F2016%2FNovember+2016%2FNOV29_ARMMaliGraphicsDebugger%2F770_Epic_Citadel_with_MGD-770x458-3e605439d65d30668f907945b9bf8cebf1fb64c9

설정하는 방법은 아주 간단합니다:

  • 빌드 시스템에 인터셉터 라이브러리 추가
  • 인터셉터 라이브러리를 로드하도록 액티비티 편집
  • 타겟 디바이스에 MGD daemon 어플리케이션 설치

 

첫번째 단계로, 깃허브에서 언리얼 엔진 소스 코드 버전 하나를 다운로드해야 합니다. 자세한 정보는 에픽의 안내서를 참고하세요.

사용할 엔진을 받아서 설정을 완료했다면, MGD 작업에 집중할 차례입니다. 먼저 MGD가 설치된 디렉토리에서 android-non-root 폴더와 언리얼 엔진이 설치된 폴더를 띄웁니다. android-non-root 폴더를 Engine\Build\Android\Java\ 에 복사합니다.

다음은, 인터셉터가 엔진 빌드 내에 포함되어 패키징되도록 안드로이드 메이크파일을 변경해야 합니다. Engine/Build/Android/Java/jni/ 에 있는 Android.mk 파일을 열어서 맨 끝에 다음 줄을 추가합니다: include $(LOCAL_PATH)/../android-non-root/MGD.mk. 이와 같아 보일 것입니다:

 


blogAssets%2F2016%2FNovember+2016%2FNOV29_ARMMaliGraphicsDebugger%2FARM_Mali_Text_1-770x150-a2c6cc3438321dfcd31c52c69ec7273da9bb546b
 
이제 메인 게임 액티비티가 MGD 라이브러리를 로드하도록 지정해줄 것입니다. Engine\Build\Android\Java\src\com\epicgames\ue4\ 안에서 GameActivity.java 를 찾아 onCreate 함수를 다음과 같이 수정합니다:

blogAssets%2F2016%2FNovember+2016%2FNOV29_ARMMaliGraphicsDebugger%2FARM_Mali_Text_2-770x248-ca951201784e122b7b7420b4acde4247a305eef6
 
엔진측 준비는 완료되었으니, 이제 디바이스 준비를 하겠습니다. 타겟 폰을 PC에 연결하고, android-non-root 폴더에서 다음 명령을 실행해 타겟 폰에 MGD daemon을 설치합니다:

blogAssets%2F2016%2FNovember+2016%2FNOV29_ARMMaliGraphicsDebugger%2FARM_Mali_Text_3-770x23-1e353d47e3c9672b132dea3ac9e6a2e11c4e3b0c
 
앱을 실행하기 전, PC 에서 다음 명령을 실행시켜 줘야 합니다 (adb devices 를 먼저 실행하여 디바이스가 보이는지 확인해 주세요):

blogAssets%2F2016%2FNovember+2016%2FNOV29_ARMMaliGraphicsDebugger%2FARM_Mali_Text_4-770x22-cce33de0cd6aee4c96edacbde4d48d5e42f9e2db
 
타겟 폰에서 MGD daemon 어플리케이션을 실행시키고 daemon 자체를 활성화시킵니다:

blogAssets%2F2016%2FNovember+2016%2FNOV29_ARMMaliGraphicsDebugger%2FARM_Mali_Text_5-770x248-c7923709ea768477e70cc401e0cd36278b4d2d4b

이 시점에서 PC 에서 MGD를 실행하여 타겟 폰에 연결하고, 어플리케이션을 시작한 뒤, 디버깅을 시작할 수 있습니다. 사용법 관련 상세 정보는 MGD 매뉴얼을 참고해 주세요.

이렇게 하면 어떤 Mali 기반 플랫폼에서도 언리얼 어플리케이션을 MGD 와 함께 사용할 수 있을 것입니다. 자세한 정보 또는 질문은 ARM Mali graphics Connected Community 를 참고하시기 바랍니다.

blogAssets%2F2016%2FNovember+2016%2FNOV29_ARMMaliGraphicsDebugger%2Fcitadel-frame-analysis3-scaled1-0613777c5147b6b1d93338d7e77e85bdaa8c942d

Recent Posts

리얼타임 기술의 잠재력을 선보인 Theia Interactive의 Harley Davidson AR

증강 현실은 리얼타임 프로젝트 샘플을 통해 비즈니스 고객들을 설득하는 중요한 도구로 자리잡았습니다. Theia Interactive가 ...

2018년 4월 NVIDIA Edge 프로그램 수상자

4월에도 NVIDIA Edge 프로그램에 멋진 작품들이 많이 제출되었으며, 그 중에서 세 개의 작품을 뽑아 수상작으로 선정하였습니다. ...

언리얼 엔진으로 BMW 차량 디자인에 혼합 현실 구현

리얼타임 기술과 VR이 자동차 제조의 새로운 시대를 열고 있는 가운데, 자동차 디자인 분야는 빠르게 변화하고 있습니다. BMW와 MIN...