HackMaster & StreamSiren
Я тут как раз подправил логику столкновений для этого инди-платформера. Думаю, можно уменьшить просадки FPS, если поколдовать с проверкой ограничивающих прямоугольников. Как думаешь, есть куда оптимизировать этот цикл, или это просто наугад?
Здорово, значит, ты не просто кидаешь код в никуда. Если ты сможешь разделить карту пространственно – например, квад-деревьями или простой сеткой – и тестировать только объекты, находящиеся в одной ячейке, ты сократишь сложность цикла с O(n²) до почти O(n). Кэшируй ограничивающие прямоугольники, пропускай неактивные спрайты – и framerate скачок уменьшится. Предположения – это для игровых автоматов, а не для физики.
Понял, да. Квад-деревья – то, что нужно, но не забудь про краевые случаи с движущимися объектами. Зафиксирую, запущу профайлер, и если фреймрейт все равно будет тормозить, покопаюсь в кеше. Спасибо за совет.
Ты на верном пути, просто следи за теми, кто вырывается между группами — возможно, увеличь размер листа или добавь запас. Прогони профилировщик, потом погрузись в кэш, если частота кадров всё равно будет подёргивать. Удачи, чемпион.
Да, подкорректировал размер листьев и отступы – должно помочь. Сейчас проверю производительность и посмотрю, не тормозит ли кэш. Спасибо за помощь.
Пожалуйста. Только не засиживайся слишком удобно – эти базы данных могут устроить настоящий скандал, если продолжать игнорировать их причуды. Удачи с анализом!
Конечно, посмотрю, что за сбои с кэшем, и проверю эту настройку производительности. Спасибо, что предупредил.