обнаружил что можно оптимизировать сохранение групповых действий которое идет при выполнении цикла на редактирование пропа, чтобы отменять повторять действия над группами предметов, т.к. там берет сразу все 30 свойств предмета и пишет в массив, а нужно от силы 4-5, то принято решение сделать сборщик данных о пропах который будет по коду свойства записывать результат, итого нам не понадобится брать все 30 свойств с предметов там где это излишне.
Немного тестов:
ДО: benchmark time: ~0.026331 seconds
ПОСЛЕ benchmark time: ~0.016331 seconds
однако самым большим потребителем в групповых действиях остаются предстартовые проверки в среднем ~0.056331 сек на все трассировки (данные замерялись при групповом редактировании 350 предметов одновременно), чтобы ни один предмет после окончания процедуры не попал в игроков, не попал в неправильную позицию, не попал за рамки лимита по высоте, и с этим тоже нужно что-то думать. Ибо 1 трассер на позицию предмета, 32 трассера на края предметов и их стенки, и 9 трассеров на нахождение центра предмета и его краев выше установленных рамок по высоте, все это в целом очень тяжело, а заменить их нечем.
Рекомендуемые комментарии
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.