На карте летают машины трёх типов: граждане, преступники и полиция. Игрока не считаем, он один и проблем оптимизации в игру не привносит. Граждане имеют наипростейшие ИИ, который просто двигает их из одной точки в другую. Полицейские и преступники имеют схожий ИИ, который различается лишь тем, что преступники убегают от полиции, а полиция следует за преступниками, параллельно в них стреляя.
Сделайте дорожки часто вызываемых эффектов в формате wav без компрессии. Тогда процессорное время не будет тратится на дикомпрессию.
Так же привяжите AudioStreamPlayer3D к Area3D. Если игрок вне радиуса этого area - звук даже не пытаться проигрывать.
Либо привяжите звуковые эффекты к listener игрока и по нему определяйте, производить звук или нет.
Можно по оптимизации пойти глубже.
отслеживать N ближайших источников и включать звуки только у ближайших, назначая им индекс приоритета.
Обязательно попробую, спасибо за дельный совет! Люди, сохраняйте инфу
Скорее всего эксепшен при переполнении пула звуков дорогой
В движке нет исключений.
Он либо работает, либо сразу крашится =)
Он компилируется с флагом no-exception =)