ОЦІНЮВАННЯ ВПЛИВУ ВІДКЛЮЧЕННЯ ЛОГУВАННЯ НА ПРОДУКТИВНІСТЬ МОБІЛЬНИХ ЗАСТОСУНКІВ, СТВОРЕНИХ НА UNITY
Ключові слова:
Unity, продуктивність, мобільні платформи, логування, Debug.Log, t-критерій Стьюдента, FPS, оптимізаціяАнотація
У процесі розробки програмного забезпечення, зокрема ігор на рушії Unity [1], досягти ідеальної реалізації з першої спроби практично неможливо. Незалежно від масштабу проєкту – чи то велика команда, чи індивідуальний розробник – програмісти постійно перевіряють правильність роботи свого коду. Для цього існує чимало інструментів: юніт-тестування, системи налагодження (debugger), встановлення точок зупину (breakpoints), а також спеціалізовані фреймворки, такі як Selenium (фреймворк для автоматичного тестування). Проте найпростішим і найбільш поширеним способом оперативного аналізу поведінки коду залишається логування. У середовищі Unity це реалізується через клас Debug і його метод Log, який дозволяє виводити повідомлення в консоль [2]. Попри простоту використання, логування може мати серйозний вплив на продуктивність, особливо у випадках великої кількості викликів – наприклад, при логуванні в кожному кадрі гри на мобільному пристрої. У великих проєктах, над якими одночасно працює значна кількість розробників, обсяг логування часто істотно перевищує умовну межу в один логаритмічний запис на кадр. Мобільні ігри або застосунки можуть містити сотні, а іноді й тисячі модулів, у кожному з яких реалізовано логування з метою верифікації коректності роботи або для виведення діагностичної інформації під час розробки.У даній роботі проаналізовано вплив активного логування на продуктивність Unity-додатків, орієнтованих на мобільні платформи. Автори ставлять за мету кількісно оцінити продуктивність додатку за умов активного та відключеного логування. Для цього буде застосовано низку базових статистичних методів, зокрема: обчислення середнього значення частоти кадрів (FPS), розрахунок відсоткової зміни продуктивності, а також використання t-критерію Стьюдента для оцінки статистичної значущості результатів. Запропонований підхід дозволить на практиці оцінити доцільність збереження або видалення викликів Debug.Log у фінальних білдах мобільних ігор, а також сформулювати практичні рекомендації для Unity-розробників.
Посилання
Unity Technologies. Unity Manual [Електронний ресурс]. Режим доступу: https://docs.unity3d.com/Manual/index.html – Unity 6 User Manual. Дата звернення: 21.04.2025.
Unity Technologies. Debug.Log [Електронний ресурс] // Unity Scripting API. Режим доступу: https://docs.unity3d.com/6000.0/Documentation/ScriptReference/ Debug.Log.htmlНазва з екрану. Дата звернення: 21.04.2025.
Unity Technologies. Tools for profiling and debugging [Електронний ресурс]. Режим доступу: https://unity.com/how-to/profiling-and-debugging-tools – Tools for profiling and debugging. Дата звернення: 21.04.2025.
Julian, M. Practical Monitoring [Текст] / Mike Julian. 1st ed. Sebastopol: O’Reilly Media, Inc., 2017. 173 с. ISBN 978-1-491-95731-8. С. 84.
Dickinson, C. Unity Game Optimization. Third Edition [Текст] / Chris Dickinson. – Birmingham: Packt Publishing, 2017. 270 с. Режим доступу: https://books.google.com.ua/books/about/Unity_Game_Optimization_Third_Edition.html?id=3KBRzQEACAAJ&redir_esc=y Дата звернення: 21.04.2025.
Thorn, A. Pro Unity Game Development with C# [Електронний ресурс] / Alan Thorn. Apress, 2014. Режим доступу: https://www.academia.edu/11201938/Pro_ Unity_Game_Development_with_C_ Назва з екрану. Дата звернення: 21.04.2025.
Klieptsov, A. Performance Logging Test script for Unity v1.0 [Електронний ресурс]. Zenodo, 2025. DOI: https://doi.org/10.5281/zenodo.15254575 Дата звернення: 21.04.2025.
Klieptsov, A. Performance Logging Test script for Unity v2.0 [Електронний ресурс]. Zenodo, 2025. DOI: https://doi.org/10.5281/zenodo.15254641 Дата звернення: 21.04.2025.