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...
Панель налагоджувача
Багато інструментів налагодження Godot, включаючи налагоджувач, можна знайти на панелі налагоджувача внизу екрана. Натисніть Налагоджувач, щоб відкрити його.
Панель налагоджувача розділена на кілька вкладок, кожна з яких зосереджена на певному завданні.
Трасування стека
Вкладка Stack Trace відкривається автоматично, коли компілятор GDScript досягає точки зупину у вашому коді.
Він дає вам стек стека, інформацію про стан об’єкта та кнопки для керування виконанням програми. Коли налагоджувач ламається на точці зупину, зелена трикутна стрілка відображається в канаві редактора сценаріїв. Ця стрілка вказує на рядок коду, який зламався налагоджувач.
Порада
Ви можете створити точку зупину, клацнувши значок у лівій частині редактора сценаріїв (ліворуч від номерів рядків). Під час наведення курсора на цей жолоб ви побачите прозору червону крапку, яка перетворюється на непрозору червону крапку після встановлення точки розриву клацанням. Ще раз натисніть червону крапку, щоб видалити точку зупину. Створені таким чином точки зупину зберігаються під час перезапуску редактора, навіть якщо скрипт не було збережено під час виходу з редактора.
Ви також можете використовувати ключове слово breakpoint у GDScript, щоб створити точку зупину, яка зберігається в самому сценарії. На відміну від точок зупину, створених клацанням у канаві, ця точка зупину на основі ключових слів є постійною на різних машинах під час використання контролю версій.
Ви можете використовувати кнопки у верхньому правому куті, щоб:
Пропустити всі контрольні точки. Таким чином ви можете зберегти контрольні точки для майбутніх сеансів налагодження.
Скопіюйте поточне повідомлення про помилку.
Знайомство з кодом. За допомогою цієї кнопки ви перейдете до наступного рядка коду, і якщо це функція, вона проходить рядок за рядком через функцію.
Перейдіть код. За допомогою цієї кнопки можна перейти до наступного рядка коду, але вона не виконує крок за рядком функцій.
Перерва. Ця кнопка призупиняє виконання гри.
Продовжити. Ця кнопка продовжує гру після точки зупинки або паузи.
Примітка
Використання налагоджувача та точок зупинки на tool scripts наразі не підтримується. Точки зупинки, розміщені в редакторі скриптів або за допомогою ключового слова breakpoint, ігноруються. Натомість можна використовувати оператори print для відображення вмісту змінних.
Помилки
Тут друкуються повідомлення про помилки та попередження під час запуску гри.
Ви можете вимкнути певні попередження в Налаштуваннях проекту > Налагодження > GDScript.
Оцінювач
Ця вкладка містить засіб оцінювання виразів, також відомий як REPL. Це більш потужне доповнення до дерева змінних стека, доступного на вкладці Трасування стека.
Коли проект переривається в налагоджувачі (через точку зупину або помилку сценарію), ви можете ввести вираз у текстове поле вгорі. Якщо проект запущено, поле виразу не можна буде редагувати, тому спочатку потрібно встановити точку зупинки. Вирази можна зберігати під час виконання, знявши прапорець Очищати під час виконання, хоча вони будуть втрачені, коли редактор вийде.
Вирази обчислюються за допомогою Godot's expression language, яка дозволяє виконувати арифметичні дії та викликати деякі функції у виразі. Вирази можуть посилатися на змінні-члени або локальні змінні в тій же області, що й лінія, на якій знаходиться точка зупину. Ви також можете вводити постійні значення, що робить його придатним для використання як вбудованого калькулятора.
Розглянемо такий скрипт:
var counter = 0
func _process(delta):
counter += 1
if counter == 5:
var text = "Some text"
breakpoint
elif counter >= 6:
var other_text = "Some other text"
breakpoint
Якщо налагоджувач ламається на першому рядку, що містить точку зупину, наступні вирази повертають ненульові значення:
Постійне вираження:
2 * PI + 5Змінна-член:
лічильник,лічильник ** 2,sqrt(лічильник)Локальна змінна або параметр функції:
delta,text,text.to_upper()
Якщо налагоджувач ламається на другому рядку, що містить точку зупину, наступні вирази повертають ненульові значення:
Постійне вираження:
2 * PI + 5Змінна-член:
лічильник,лічильник ** 2,sqrt(лічильник)Локальна змінна або параметр функції:
delta,other_text,other_text.to_upper()
Профайлер
Профайлер використовується, щоб побачити, який код виконується під час використання вашого проекту, і як це впливає на продуктивність.
Дивись також
Детальне пояснення використання профайлера можна знайти на спеціальній сторінці Профайлер.
Візуальний профайлер
Visual Profiler можна використовувати для відстеження того, що займає найбільше часу під час візуалізації кадру на CPU та GPU відповідно. Це дозволяє відстежувати джерела потенційних вузьких місць ЦП і ГП, спричинених рендерингом.
Попередження
Візуальний профайлер вимірює лише час процесора, який витрачається на виконання завдань візуалізації, наприклад виконання викликів малювання. Visual Profiler не включає час процесора, який витрачається на інші завдання, такі як створення сценаріїв і фізика. Використовуйте стандартну вкладку Profiler для відстеження завдань ЦП, не пов’язаних із рендерингом.
Щоб використовувати візуальний профайлер, запустіть проект, перейдіть на вкладку Visual Profiler на нижній панелі Debugger, а потім натисніть Почати:
На вкладці Visual Profiler натисніть Почати, зачекайте кілька секунд і натисніть Зупинити
Порада
Ви також можете позначити Автозапуск, який змусить візуальний профайлер автоматично запуститися під час наступного запуску проекту. Зауважте, що стан прапорця Автозапуск не зберігається в сеансах редактора.
Під час роботи профайлера ви побачите категорії та результати. Також з’являються лінії графіка, причому ліва сторона – кадрова графіка процесора, а права – кадрова графіка графічного процесора.
Натисніть Зупинити, щоб завершити профілювання, яке залишить результати видимими, але замороженими на місці. Результати залишаються видимими після зупинки запущеного проекту, але не після виходу з редактора.
Клацніть категорії результатів ліворуч, щоб виділити їх на графіках ЦП і ГП праворуч. Ви також можете натиснути на графік, щоб перемістити курсор до певного номера кадру та виділити вибраний тип даних у категоріях результатів ліворуч.
You can switch the result display between a time value (in milliseconds per frame) or a percentage of the target frametime. The debugger/profiler_target_fps editor setting controls the target frametime value according to the specified FPS.
Якщо під час профілювання виникають стрибки частоти кадрів, це може призвести до поганого масштабування графіка. Вимкніть Fit to Frame, щоб графік збільшився до частини 60 FPS+.
Примітка
Пам’ятайте, що результати Visual Profiler можуть суттєво відрізнятися залежно від роздільної здатності вікна перегляду, яка визначається розміром вікна, якщо використовуються режими disabled або canvas_items stretch.
Порівнюючи результати в різних циклах, переконайтеся, що для всіх циклів використовується однаковий розмір вікна перегляду.
Visual Profiler підтримується при використанні будь-якого методу візуалізації (Forward+, Mobile або Compatibility), але повідомлені категорії відрізнятимуться залежно від поточного методу візуалізації, а також увімкнених графічних функцій. Наприклад, якщо використовувати Forward+, проста двовимірна сцена з світлом, що відкидає тінь, призведе до появи таких категорій:
Приклад результатів для 2D сцени у візуальному профайлері
Щоб навести інший приклад із Forward+, 3D-сцена з увімкненими світлом, що відкидає тінь, і різними ефектами призведе до ввімкнення таких категорій:
Приклад результатів для 3D сцени у візуальному профайлері
Зверніть увагу, як у 3D-прикладі до назви кількох категорій додано (Паралельно). Це вказує на те, що кілька завдань виконуються паралельно на GPU. Загалом це означає, що вимкнення лише однієї з задіяних функцій не покращить продуктивність настільки, як очікувалося, оскільки інше завдання все ще потрібно виконувати послідовно.
Примітка
Візуальний профайлер не підтримується під час використання засобу рендерингу сумісності на macOS через обмеження платформи.
Засіб профілювання мережі
Network Profiler містить список усіх вузлів, які спілкуються через багатокористувацький API, і для кожного з них кілька лічильників кількості вхідних і вихідних мережевих взаємодій. Він також має лічильник пропускної здатності, який відображає загальне використання пропускної здатності в будь-який момент.
Примітка
Вимірювач пропускної здатності не бере до уваги власну систему стиснення API Мультиплеєр високого рівня. Це означає, що зміна використовуваного алгоритму стиснення не змінить показники, які повідомляє вимірювач пропускної здатності.
Монітори
Монітори – це графіки кількох аспектів гри під час її роботи, таких як FPS, використання пам'яті, кількість вузлів у сцені тощо. Усі монітори автоматично відстежують статистику, тому навіть якщо один монітор не відкритий під час роботи гри, ви можете відкрити його пізніше та побачити, як змінилися значення.
Дивись також
Окрім стандартних моніторів продуктивності, ви також можете створити custom performance monitors для відстеження довільних значень у вашому проекті.
Відеопам'ять
Вкладка Video RAM показує використання відео RAM грою під час її роботи. Він надає список кожного ресурсу, який використовує відеопам’ять, за шляхом до ресурсу, типом ресурсу, форматом і кількістю відеопам’яті, яку використовує цей ресурс. У верхньому правому куті панелі також є загальне число використання відеопам’яті.
Інше
Вкладка Різне містить інструменти для визначення вузлів керування, які ви натискаєте під час виконання:
Клацнутий елемент керування повідомляє, де клацнутий вузол знаходиться в дереві сцени.
Clicked Control Type повідомляє тип вузла, який ви клацнули.