1. Unity хранит объекты на сцене в виде иерархического графа объектов, который находится на процессоре (CPU). Этот граф описывает структуру сцены, включая расположение объектов, их взаимосвязи и иерархию.
2. Да, в Unity существует разделение между динамическими и статическими объектами. Статические объекты обычно хранятся и оптимизируются отдельно от динамических объектов. Для статических объектов используются структуры данных, которые позволяют эффективно проводить оптимизации, такие как BSP-деревья или Quadtree.
3. Вычисления для определения видимых объектов (culling) в Unity, как правило, происходят на CPU. Unity использует различные методы для culling, включая Frustum Culling, Occlusion Culling и Distance Culling, чтобы определить, какие объекты должны быть отрисованы на экране.
4. При изменении положения объектов в Unity происходит обновление отдельных узлов и перестройка деревьев в зависимости от сложности структуры сцены. Unity оптимизирован для работы с большими сценами, поэтому использует различные методы для ускорения процесса изменения положения объектов.
5. В Unity есть возможность оптимизировать процессы при изменении сцены, например, при повороте камеры. Это можно сделать путем использования оптимизированных алгоритмов culling, уменьшения количества объектов на сцене, использования Level of Detail (LOD) для объектов и других методов оптимизации производительности.