This translation is community contributed and may not be up to date. We only maintain the English version of the documentation. Read this manual in English
Defold에는 엔진과 빌드 파이프라인에 통합된 프로파일링 도구 세트가 포함되어 있습니다. 이 도구들은 성능과 메모리 사용량 문제를 찾는 데 도움이 되도록 설계되었습니다. 내장 프로파일러는 디버그 빌드에서만 사용할 수 있습니다. Defold에서 사용하는 프레임 프로파일러는 Celtoys의 Remotery 프로파일러입니다.
디버그 빌드에는 실행 중인 어플리케이션 위에 라이브 정보를 오버레이로 렌더링해 표시하는 런타임 비주얼 프로파일러가 포함되어 있습니다:
function on_reload(self)
-- 핫 리로드 시 비주얼 프로파일러를 토글합니다.
profiler.enable_ui(true)
end

비주얼 프로파일러는 데이터를 표시하는 방식을 변경하는 데 사용할 수 있는 여러 함수를 제공합니다:
profiler.set_ui_mode()
profiler.set_ui_view_mode()
profiler.view_recorded_frame()
프로파일러 함수에 대한 자세한 내용은 profiler API 레퍼런스를 참조하세요.
게임의 디버그 빌드를 실행하는 동안, 브라우저를 통해 대화형 웹 기반 프로파일러에 접근할 수 있습니다.
프레임 프로파일러를 사용하면 실행 중인 게임을 샘플링하고 개별 프레임을 자세히 분석할 수 있습니다. 프로파일러에 접근하려면:
프레임 프로파일러는 실행 중인 게임을 서로 다른 관점으로 보여주는 여러 섹션으로 나뉩니다. 오른쪽 위 모서리의 Pause 버튼을 눌러 프로파일러가 뷰를 업데이트하는 것을 일시적으로 멈출 수 있습니다.

여러 타겟을 동시에 사용할 때는 페이지 상단의 Connection Address 필드를 타겟이 시작될 때 콘솔에 표시된 Remotery 프로파일러 URL과 일치하도록 변경해 타겟 사이를 수동으로 전환할 수 있습니다:
INFO:ENGINE: Defold Engine 1.3.4 (80b1b73)
INFO:DLIB: Initialized Remotery (ws://127.0.0.1:17815/rmt)
INFO:ENGINE: Loading data from: build/default



LuaMem 값은 Lua 가비지 컬렉터가 보고한 Lua VM의 메모리 사용량을 킬로바이트 단위로 나타냅니다. Memory는 엔진이 사용한 메모리 양을 킬로바이트 단위로 나타냅니다.
리소스 프로파일러를 사용하면 실행 중인 게임을 검사하고 리소스 사용량을 자세히 분석할 수 있습니다. 프로파일러에 접근하려면:
리소스 프로파일러는 두 섹션으로 나뉩니다. 하나는 게임에 현재 인스턴스화된 컬렉션, 게임 오브젝트, 컴포넌트의 계층 뷰를 표시하고, 다른 하나는 현재 로드된 모든 리소스를 표시합니다.

게임을 번들링할 때 빌드 리포트를 만들 수 있는 옵션이 있습니다. 이 옵션은 게임 번들에 포함되는 모든 에셋의 크기를 파악하는 데 매우 유용합니다. 게임을 번들링할 때 Generate build report 체크박스를 선택하기만 하면 됩니다.

빌더는 게임 번들과 함께 “report.html”이라는 파일을 생성합니다. 리포트를 살펴보려면 이 파일을 웹 브라우저에서 엽니다:

Overview는 리소스 타입을 기준으로 프로젝트 크기의 전체적인 시각적 분석을 제공합니다.
Resources는 크기, 압축률, 암호화 여부, 타입, 디렉토리 이름을 기준으로 정렬할 수 있는 자세한 리소스 목록을 보여줍니다. 표시되는 리소스 항목을 필터링하려면 “search” 필드를 사용합니다.
Structure 섹션은 프로젝트 파일 구조 안에서 리소스가 어떻게 구성되어 있는지를 기준으로 크기를 보여줍니다. 항목은 파일과 디렉토리 컨텐츠의 상대적 크기에 따라 초록색(가벼움)부터 파란색(무거움)까지 색상으로 구분됩니다.
내장 도구 외에도 무료로 사용할 수 있는 고품질 추적 및 프로파일링 도구가 다양하게 있습니다. 다음은 일부 예입니다:
순수 Lua 프로파일러는 설치하는 각 훅마다 상당한 오버헤드를 추가한다는 점에 유의하세요. 이런 이유로 이러한 도구에서 얻는 타이밍 프로파일은 어느 정도 주의해서 보아야 합니다. 하지만 카운팅 프로파일은 충분히 정확합니다.

이 도구를 사용하면 실행 중인 Defold 어플리케이션을 검사하고 OpenGL을 어떻게 사용하는지 볼 수 있습니다. OpenGL 함수 호출을 추적하고, OpenGL 함수에 중단점을 설정하고, 어플리케이션 리소스(텍스쳐, 프로그램, 쉐이더 등)를 조사하고, 버퍼 컨텐츠를 살펴보고, OpenGL 상태의 다른 측면을 확인할 수 있습니다.

게임의 CPU, 메모리, 네트워크 활동에 대한 실시간 데이터를 캡처하는 프로파일링 도구 모음입니다. 코드 실행에 대한 샘플 기반 메서드 추적을 수행하고, 힙 덤프를 캡처하고, 메모리 할당을 확인하고, 네트워크로 전송된 파일의 세부 정보를 검사할 수 있습니다. 이 도구를 사용하려면 “AndroidManifest.xml”에 android:debuggable="true"를 설정해야 합니다.

참고: Android Studio 4.1부터는 Android Studio를 시작하지 않고 프로파일링 도구를 실행할 수도 있습니다.
어플리케이션에서 그래픽 드라이버로 보내는 호출을 검사하고, 조정하고, 재생할 수 있는 도구 모음입니다. 이 도구를 사용하려면 “AndroidManifest.xml”에 android:debuggable="true"를 설정해야 합니다.
