АРХІТЕКТУРНІ ОСОБЛИВОСТІ ПРОЄКТУВАННЯ ІГРОВОГО РУШІЯ ДЛЯ ПЛАТФОРМИ ANDROID
Ключові слова:
архітектура ігрового рушія, Android, Vulkan API, Rust, Entity-Component-System (ECS), ADPF, Data-OrientedDesign, енергоефективність, термальний тротлінгАнотація
У статті вирішено задачу підвищення енергоефективності та стабільності роботи графічних застосунків на мобільних пристроях з обмеженим тепловим пакетом (TDP). Розроблено архітектурний підхід до проєктування кросплатформеного ігрового рушія для ОС Android, що базується на синтезі парадигми, орієнтованої на дані (Data-Oriented Design), та використанні системної мови Rust. Обґрунтовано переваги використання архітектурного патерну
Entity-Component-System (ECS) для мінімізації промахів кешу (cache misses) на процесорах архітектури ARM. Запропоновано метод динамічного керування продуктивністю з використанням Android Dynamic Performance Framework (ADPF), який, на відміну від реактивних підходів, застосовує ПІД-регулятор для предикативної адаптації роздільної здатності рендерингу на основі теплового запасу пристрою. Реалізація графічної підсистеми на базі API Vulkan дозволила забезпечити багато потоковий запис командних буферів. Результати дослідження підтверджують, що запропонована модульна архітектура забезпечує стабілізацію часу кадру (Frame Pacing) та зниження енергоспоживання порівняно з універсальними рушіями. Проведений аналіз універсальних рішень (Unity, Unreal Engine) довів, що їх традиційна архітектура має високий ступінь зв'язності підсистем. Це спричиняє архітектурну ерозію та швидке настання термального тротлінгу при жорстких обмеженнях теплового пакета у 3 – 5 Вт. Натомість інтеграція патерну ECS гарантує лінійне розміщення даних. Це суттєво оптимізує пропускну здатність пам'яті для гетерогенних процесорів архітектури big.LITTLE. Безпека багатопотокових обчислень надійно гарантується афінною системою типів мови Rust, яка математично унеможливлює стан гонки даних ще на етапі компіляції. У свою чергу, графічний модуль використовує блокову алокацію для обходу обмежень драйвера, що значно зменшує фрагментацію пам'яті. Практична апробація ПІД-регулятора зафіксувала приріст середньої частоти кадрів на 57 % у навантажених сценах. Розроблене комплексне рішення зменшує кінцевий розмір виконуваного файлу та дозволяє уникнути надлишкової роботи підсистем.
##submission.downloads##
-
PDF
Завантажень: 0