Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
C++ 프로파일러 사용하기
Godot의 성능을 최적화하려면 먼저 무엇을 최적화해야 하는지 알아야 합니다. 이를 위해 프로파일러는 유용한 도구입니다.
참고
편집기에는 :ref:`내장 GDScript 프로파일러 <doc_the_profiler>`가 있지만, GDScript 프로파일러가 충분히 정확하지 않거나 프로파일러의 버그로 인해 정보가 누락된 경우 C++ 프로파일러를 사용하는 것이 유용할 수 있습니다.
사용할 수 있는 프로세싱 타입은 두 가지가 있습니다:
샘플링 프로파일러는 실행 중인 프로그램을 주기적으로 중단하고 "샘플"을 수집하여 실행 중인 기능을 기록합니다. 프로파일러는 이 정보를 사용하여 프로그램이 어떤 기능에 가장 많은 시간을 소비했는지 추정합니다.
추적 프로파일러는 애플리케이션별 이벤트(예: 단일 프레임의 시작 및 끝)를 기록하여 "추적"이라는 로그를 생성하는 방식으로 작동합니다. 프로파일러는 추적을 사용하여 발생한 일에 대한 정확한 상위 수준 타임라인을 보여주는 그래프를 생성할 수 있습니다. 그러나 명시적으로 계측되지 않은 코드는 추적 프로파일러의 타임라인에 표시되지 않습니다.
Godot는 샘플링 프로파일러와 추적 프로파일러를 모두 지원하며 이미 추적 프로파일러와 함께 사용할 수 있는 일반적인 Godot 이벤트에 대한 로깅 코드를 포함하고 있습니다!
다양한 문제는 한 종류의 프로파일러를 사용하여 디버깅하는 것이 더 쉬울 수 있지만 사용할 규칙 세트를 제공하기는 어렵습니다. 두 가지를 모두 시도해 보고 그로부터 무엇을 배울 수 있는지 알아보세요!
프로필 공유하기
다음과 같은 주의 사항이 있습니다:
:ref:`VerySleepy <doc_profiler_very_sleepy>`(Windows에만 해당)
:ref:`Hotspot <doc_profiler_hotspot>`(Linux에만 해당)
:ref:`Instruments <doc_profiler_instruments>`(Apple에만 해당)
이러한 프로파일러는 가장 강력하거나 유연한 옵션은 아닐 수 있지만 독립 실행형 작동 및 제한된 기능 세트로 인해 사용하기가 더 쉬워집니다.
Godot 설정하기
유용한 프로파일링 정보를 얻으려면 디버깅 기호가 포함된 Godot 빌드를 사용하는 것이 절대적으로 필요합니다. 공식 바이너리에는 디버깅 기호가 포함되어 있지 않습니다. 디버깅 기호를 사용하면 다운로드 크기가 상당히 커질 수 있기 때문입니다.
프로덕션 환경과 가장 잘 일치하는 프로파일링 데이터(디버깅 기호 포함)를 얻으려면 production=yes debug_symbols=yes SCons 옵션을 사용하여 바이너리를 컴파일해야 합니다.
덜 최적화된 빌드(예: LTO가 없는 target=template_debug)에서 프로파일러를 실행할 수 있지만 결과는 당연히 실제 조건을 덜 대표하게 됩니다.
경고
바이너리를 컴파일한 후 strip 명령을 사용하여 바이너리의 디버깅 기호를 제거하지 마세요. 그렇지 않으면 프로파일러를 실행할 때 더 이상 유용한 프로파일링 정보를 얻을 수 없습니다.
시작/종료 시간 벤치마킹
Godot의 시작/종료 성능을 최적화하려는 경우, Godot 바이너리에서 --quit 명령줄 옵션을 사용하도록 프로파일러에 지시할 수 있습니다. 시작이 완료된 직후 Godot가 종료됩니다. --quit 옵션은 --editor, --project-manager 및 ``--path <path to project directory>``(프로젝트를 직접 실행)와 함께 작동합니다.
더 보기
Godot가 지원하는 더 많은 명령줄 인수는 :ref:`doc_command_line_tutorial`를 참조하세요.
프로파일러
Godot는 현재 세 가지 추적 프로파일러를 지원합니다:
참고
Perfetto is the default tracing system for Android, so pre-built export templates with Perfetto built-in and enabled are provided from the GitHub Releases page.
둘 중 하나를 사용하려면 소스에서 엔진을 빌드해야 합니다. 이전에 이 작업을 수행한 적이 없다면 프로파일링하려는 플랫폼에 대한 :ref:`이 문서 <doc_compiling_index>`를 읽어보세요. 여기에서도 동일한 단계를 수행해야 하지만 ``scons``에 대한 몇 가지 추가 인수가 필요합니다.