FMOD_MANAGER->system->createSound(
path.c_str(),
(loop ? FMOD_LOOP_NORMAL : FMOD_DEFAULT) | FMOD_LOWMEM | FMOD_IGNORETAGS,
nullptr,
&sound)
In this call after the IOS 17 update, it became much slower, the application used to take a few seconds to load all the sounds, now it takes more than 10 seconds, only devices with IOS 17 have this problem, IOS 16 and below works without delay
Hi,
What version of the FMOD engine are you using? How many sounds are you attempting to load? Would it be possible to see more of the code around where this function is being called?
I am using FMOD version 2.02.19.
We have an audio library written in C++ that uses FMOD to load and play audios for iOS.
After the release of iOS 17, FMOD is taking significantly longer to load audios into memory. On iOS 16 and earlier, it took about 2 seconds to load 88 audios, but on iOS 17, it takes more than 10 seconds.
Sound::Sound(
const string& path,
bool loop,
bool usePool): loop(loop), usePool(usePool), path(path)
{
this->className = __func__;
SoundManager::errorCheck(
FMOD_MANAGER->system->createSound(
path.c_str(),
(loop ? FMOD_LOOP_NORMAL : FMOD_DEFAULT) | FMOD_LOWMEM | FMOD_IGNORETAGS,
nullptr,
&sound),
LOG_LABEL);
if(loop) {
this->sound->setLoopCount(-1);
this->sound->setMode(FMOD_LOOP_NORMAL);
}
this->endMs = this->getDurationMs();
}
I load each Sound object into a list. After studying the entire code flow, the part that is taking longer is in the createSound function.
Hi,
Unfortunately, I was not able to reproduce the issue using an iPhone on IOS 17 and an iPad on IOS 15 loading 90 sounds in our example.
I see that you are using a Sound::Sound
class. Would it be possible for some file IO operations you are doing to cause the delays?
If not, would it be possible to get a copy of the project or the audio files to test on my end?