2016. 11. 29.

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

글쓴이 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

최근 게시글

이미지를 넘어서: 비주얼 디자인을 경험해보다

디자인 경험이라는 것이 과연 무엇을 뜻할까요? 현재 기업들이 언리얼 엔진을 어떻게 작업물의 새롭고 강력한 테스트 방법으로 활용하고 있는...

언리얼 엔진 웨비나, 리얼타임 시각화를 위한 디자인 제조

실시간 기술을 활용하여 더 빠르고 효율적인 디자인 워크플로우를 경험해 보고 싶으신가요?

2018년 언리얼 엔진 기대작

주요 매체들에서는 새해가 시작되면서 2018년 최고의 기대작들을 꼽고 있으며, 이 기대작 목록에는 언리얼 엔진 타이틀이 가득 들어있습니...