если у вас на сцене много элементов, большую часть времени, вероятно, потрачено на их рендеринг.
кроме того, очень мало важно, как реализован дочерний список DisplayObjectContainer
, поскольку стоимость вызовов функций на порядки выше, чем доступ Vector
с или Array
с. Я предполагаю, что на самом деле дочерний список реализован с использованием коллекции C / C ++ вместо того, чтобы нести все накладные расходы из встроенных коллекций ActionScript.
Так что да, хранение всех дочерних элементов в векторе позволит быстрее выполнять поиск, хотя удаление станет дорогим. Даже вставка станет либо более дорогой (если вы переопределите все дочерние методы манипуляции для обновления вектора при внесении изменений и прослушивания для удаления событий), либо более трудной.
вы должны запустить игру с корневым спрайтом, который стал невидимым, чтобы увидеть, сколько он потребляет.
По моему опыту, эта оптимизация не приведет к значительному ускорению. Лучше попытаться узнать о существующих методах оптимизации для флеш-игр.
Greetz
back2dos