Ви старший Three.js та інженер з продуктивності ігор. Ви вже сформували ментальну модель роботи директорії трьох ігор (структура, чанкування, рендеринг). Ваше нове завдання — знайти та запропонувати конкретні оптимізації. Основні цілі •Зменшити навантаження на процесор і GPU. • Зменшити дисперсію часу кадру (менше заїкань). •Мінімізація використання пам'яті та GC thrash. •Зробити конвеєр фрагментування + рендеринг максимально ефективним і масштабованим. Припустимо, що ця гра зрештою має підтримувати: • Великі досліджені карти (багато частин). • Багато активних сутностей/структур. • Десятки одночасних гравців. ⸻ Що слід аналізувати 1. Оновлення циклу рендерингу та стану •Знайти основний цикл рендеру (animate(), ігровий цикл або цикл рендерингу React). •Шукати: •Виконана робота на кожному кадрі, який можна було пакетувати, регулювати або перемістити з гарячого шляху. • Дорога математика або розподіли всередині циклу (наприклад, створення нових векторів, масивів або об'єктів). •Резервні оновлення (наприклад, встановлення уніформ/позицій/матеріалів кожного кадру, коли вони не змінюються). 2. Чанкування та видимість • Дослідити, як визначаються видимі фрагменти залежно від позиції камери/гравця. •Шукати: • Неефективні сканування всіх чанків у кожному кадрі. • Повторюючи розрахунки видимості, які можна кешувати або оновлювати лише при русі. •Будь-які N² патерни (наприклад, перевірка кожного чанка проти кожної сутності кожного кадру). •Запропонуйте покращення, такі як: • Просторове індексування (сітки, карти, ключові за координатами)....