In our case, there are 4 FMOD project(fev). From the last projects update, FMOD can NOT load all fev files by EventSystem::load function. The last fev file will be failed with return value: [color=#FF4040:3t2295wk]FMOD_ERR_MEMORY[/color:3t2295wk]. I had tried re-ordered 4 projects loading sequence, only and always, the last fev to load will be failed.
Is there any threshold which will lead to this kind of error? Or any other clue?
Thank you very much in advance!
- leaves asked 5 years ago
Sorry for reminding this post again, I think I found the reason why EventSystem::load function failed with FMOD_ERR_MEMORY in our project.
It is a limitation of event number. I found the FMOD does not permit over 8192 events totally. When the fev project loading by EventSystem::load fucntion, and the accumulated event number was over 8192, the function will return with error code – FMOD_ERR_MEMORY.
Is there a limitation really exist in FMOD event system?
If so, could you give some advice to overcome the problem?
Thank you very much,
The error FMOD_ERR_MEMORY usually means that your system has run out of memory. There’s a few things that you can do about this:
1.) Increase the amount of memory that’s allotted for sound. This may not be possible, depending on your setup, but it may simply be an issue of balancing your memory usage vs other pieces of your project.
2.) Change the compression type for your bank. Make sure that you’re using an appropriate compression type for your platform. The default PCM isn’t usually a good option. Try ADPCM, MP3, MP2, Vorbis, CELT, or one of the platform-specific ones such as XWMA or AT9.
3.) Change the Compression Quality of your bank file. Lowering this number will lower the quality of your output, but will also reduce its size.
4.) Make sure that your bank is set to "Load into memory" instead of "Decompress into memory". Setting to "Load into memory" will load the FSB into memory compressed, and then decompress it on the fly.
5.) For music, ambience, or other long sounds, set your bank type to "stream from disk", which will just load a small buffer into memory, and the sounds will be streamed in packets from the disk. Read up on how the "Max Streams" property works for streaming banks.
Hope that helps!
- Adiss answered 5 years ago
Please login first to submit.