I’m developing a cross-platform game using cocos2dx and FMOD.
No problem on iOS, but on android I got some troubles: in the first place I was using my original FMOD Studio bank with Vorbis compression (about 25 MB), but the slightest drop of frame rate caused heavy stuttering, and latency occurred already, making the tween of System::setDSPBufferSize and System::setSoftwareFormat kind of pointless.
Since you suggest to use FADPCM as primary compression format for android, I gave it a try and, as a matter of fact, latency has been decreased and the stuttering had been drastically reduced (but sadly, still present sometimes).
But now I have a new major issue: sounds start to be played with a great delay after the launch of the app. This delay time varies between sound events, but, for example, the background music track starts after about an entire minute!
At the very beginning of the application I load the banks (with the FMOD_STUDIO_LOAD_BANK_NORMAL option) and, just after that, I call the loadSampleData() method on them. I suppose that, considering that FMOD runs on its own thread, the loading of the banks is not stopping the main thread, so maybe I need to wait for the banks to be loaded, but I didn’t find a callback for that.
Any idea or suggestion about this delay? My new FADPCM bank is 52 MB. Is it too large?
Thanks in advance