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.

Використання профілів C++

Щоб оптимізувати продуктивність Godot, вам потрібно знати, що оптимізувати в першу чергу. Для цього корисними інструментами є профайлери.

Примітка

У редакторі є built-in GDScript profiler, але використання профайлера C++ може бути корисним у випадках, коли профайлер GDScript недостатньо точний або в ньому відсутня інформація через помилки в профайлері.

Існує два основних типи профайлерів: вибіркові профайлери та трасувальні профайлери.

Профайлери вибірки періодично переривають роботу програми та беруть «вибірку», яка фіксує, які функції виконуються. Використовуючи цю інформацію, профайлер оцінює, в яких функціях програма витратила найбільше часу.

Профайлери трасування працюють, записуючи події, специфічні для програми (наприклад, початок і кінець одного кадру), створюючи журнал, який називається «трасування». Профайлер може використовувати трасування для створення графіка, що показує точну загальну часову шкалу того, що сталося. Однак будь-який код, який не є явно інструменталізованим, не відображатиметься на часовій шкалі профайлера трасування!

Godot підтримує як профайлери вибірки, так і профайлери трасування, і вже включає код реєстрації поширених подій Godot для використання з профайлером трасування!

Різні проблеми може бути легше налагоджувати за допомогою одного типу профайлера, ніж іншого, але важко надати набір правил, для яких можна було б використовувати. Спробуйте обидва варіанти та подивіться, чого ви можете навчитися з них!

Профілери вибірки

Ми рекомендуємо такі профайлери вибірки:

Ці профайлери можуть бути не найпотужнішими чи найгнучкішими варіантами, але їхня автономна робота та обмежений набір функцій, як правило, роблять їх зручнішими у використанні.

Налаштування Godot

Щоб отримати корисну інформацію профілювання, абсолютно необхідно використовувати збірку Godot, яка містить символи налагодження. Офіційні двійкові файли не включають символи налагодження, оскільки вони значно збільшать розмір завантаження.

Щоб отримати дані профілювання, які найкраще відповідають робочому середовищу (але з символами налагодження), вам слід скомпілювати двійкові файли з параметрами production=yes debug_symbols=yes SCons.

Можна запустити профайлер на менш оптимізованих збірках (наприклад, target=template_debug без LTO), але результати, природно, будуть менш репрезентативними для умов реального світу.

Попередження

Не видаляйте символи налагодження у двійкових файлах за допомогою команди strip після компіляції двійкових файлів. Інакше ви більше не отримуватимете корисну інформацію профілювання під час запуску профайлера.

Порівняльний аналіз часу запуску/вимкнення

Якщо ви хочете оптимізувати продуктивність запуску/вимкнення Godot, ви можете вказати профайлеру використовувати параметр командного рядка --quit у бінарному файлі Godot. Це призведе до виходу з Godot одразу після завершення запуску. Параметр --quit працює з --editor, --project-manager та --path <шлях до каталогу проекту> (що запускає проект безпосередньо).

Дивись також

Перегляньте Використання командного рядка більше аргументів командного рядка, які підтримує Godot.

Трасування профайлерів

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.

Щоб використовувати будь-який з них, вам потрібно буде зібрати рушій з вихідного коду. Якщо ви ніколи раніше цього не робили, будь ласка, прочитайте цю документацію для платформи, на якій ви хочете створити профіль. Вам потрібно буде виконати ті ж кроки тут, але з деякими додатковими аргументами для scons.