# Sound Effects tanking iPhone FPS

**URL:** <https://forum.babylonjs.com/t/sound-effects-tanking-iphone-fps/60389>\
**Category:** Questions\
**Tags:** mobile, audio, sound\
**Created:** [September 5, 2025, 10:37am UTC](https://forum.babylonjs.com/t/sound-effects-tanking-iphone-fps/60389 "2025-09-05T10:37:29Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![chbaby](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/chbaby/32/46452_2.png) [@chbaby](https://forum.babylonjs.com/u/chbaby)\
**Post date:** [September 5, 2025, 10:37am UTC](https://forum.babylonjs.com/t/sound-effects-tanking-iphone-fps/60389/1 "2025-09-05T10:37:29Z")

</div>

Hello, just wanted to ask if anyone has run into anything similar and has a fix.

Currently I’ve been adding sound effects to my game using the AudioEngineV2.

Everything was working fine on PC, but once I tried on iPhone, I noticed some framerate hiccups. Usually the game runs at a steady 60fps on iPhone, but in this case there were some visible drops to 58 causing stutters.

Then I tried on another mode of the game where there are lots of sound effects played, the result is clear fps drop to 48-53, even after all the sounds are done playing.

Has anyone run into this and knows the cause?

---

<div class="post-metadata">

**Author:** ![Cedric](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/cedric/32/2742_2.png) [@Cedric](https://forum.babylonjs.com/u/Cedric)\
**Post date:** [September 5, 2025, 2:09pm UTC](https://forum.babylonjs.com/t/sound-effects-tanking-iphone-fps/60389/2 "2025-09-05T14:09:19Z")

</div>

cc @docEdub

---

<div class="post-metadata">

**Author:** ![docEdub](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/docedub/32/14525_2.png) [@docEdub](https://forum.babylonjs.com/u/docEdub)\
**Post date:** [September 5, 2025, 3:30pm UTC](https://forum.babylonjs.com/t/sound-effects-tanking-iphone-fps/60389/3 "2025-09-05T15:30:05Z")

</div>

This can happen when multiple sounds are attached to meshes or other grahics objects.

By default the audio engine updates the spatial audio parameters on every frame to sync them with the graphics objects’ position and rotation. You can change how often the spatial audio parameters are updated by setting the [sound.spatial.minUpdateTime](https://doc.babylonjs.com/typedoc/classes/BABYLON.AbstractSpatialAudio#minupdatetime) property, or [spatialMinUpdateTime](https://doc.babylonjs.com/typedoc/interfaces/BABYLON.IStaticSoundOptions#spatialminupdatetime) sound creation option. The audio engine [listener](https://doc.babylonjs.com/typedoc/classes/BABYLON.AbstractSpatialAudioListener) property’s spatial update time can be set similarly.

There are also sound and listener creation options to disable spatial auto update, in which case the [sound.spatial.update](https://doc.babylonjs.com/typedoc/classes/BABYLON.AbstractSpatialAudio#update) function would need to be called explicitly to sync the sound’s position and rotation with the attached mesh.

---

<div class="post-metadata">

**Author:** ![chbaby](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/chbaby/32/46452_2.png) [@chbaby](https://forum.babylonjs.com/u/chbaby)\
**Post date:** [September 6, 2025, 8:23am UTC](https://forum.babylonjs.com/t/sound-effects-tanking-iphone-fps/60389/4 "2025-09-06T08:23:44Z")

</div>

Thank you for the ideas.

It looks like what happened in my case was I was initializing multiple audioEngines when switching game modes. When changing game modes in my game, the page url changes, but as it being an SPA, my code didn’t check if the audioEngine was already created and re-created it. This seemed to immediately cause perf issues in Safari.
