Ответ 1
С выпуском ARKit 3.0 и его спутника - RealityKit (среда с оптимизированным механизмом рендеринга и измененной иерархией сцен, написанная на Swift, следовательно, не имеет привязки Objective-C), drop-frame, при добавлении потомка, уменьшается до незаметного значения.
И такое предсказуемое поведение связки ARKit3
/RealityKit
особенно актуально для устройств с процессорами A12 Bionic и A13 Bionic, изготовленными по 7 нм процессу (и, конечно, из-за к тому, что у них есть нейронные движки последнего поколения и мощные графические процессоры).
Для устройств с менее мощными процессорами (A9, A10, A11) рекомендуется использовать 3D-модели с общим количеством полигонов не более 10K на модель и с обычными шейдерами, такими как .blinn
или .phong
(не PBR).
Я считаю, что это довольно распространенная практика для игр и приложений, использующих игровые движки, сначала загружать (или кэшировать) все необходимые игровые ресурсы (например, 3D-модели, текстуры, звуковые файлы и т.д.) В ОЗУ перед их использованием. Подробнее читайте в этой статье и этой статье.
Однако стоит сказать, что AR-игры, в отличие от VR-игр, потребляют значительно больше вычислительной мощности, поэтому их необходимо тщательно оптимизировать. Итак, вы абсолютно правы, визуализируя узлы перед их использованием, и это нормальное поведение в игровом программировании.