delay playing event instances

I’m getting delays playing simple event instances, on both win32 and iOS. I thought I had all the basics down:

Studio vs. 1.07.05
code: #define FMOD_VERSION 0x00010705

  • all events are set NOT streaming in Studio
  • building Vorbis on Desktop, FADPCM on iOS
  • I loadSampleData on the entire single master bank at load time (and it completes successfully)
  • I create all EventDescriptions once at load time also.
  • I create each instance on-the-fly and play (but I assumed this would work with no perceivable delay, as the whole bank is loaded)
  • yet I am hearing delays before playback, ranging from very slight to huge (approx 1 second!)
  • the delay is the same on both win32 and iOS.

Any thoughts as to what I’m doing wrong?

Many thanks in advance.
Greg

Does the delay occur every time you play an instance, or just the first time?

I figured out the problem - there is only one event that had significant delay, and it was because the place where System update was getting called was actually blocked from being called for a short time, while several systems in the engine were paused.
[facepalm]
Then, because of the one “real” delay, I wasn’t sure if the others were playing on time, but I think they’re fine.

thx
Greg

I’m just glad to hear it’s all sorted out. It does raise a good point though. In the Studio API, commands are queued until the next system update. So it’s important to call Studio::System::update() regularly.

Thanks Graeme. Can you confirm that it’s “ok” to be creating the instances on the fly, as I am, as long as the banks are fully loaded, and the event descriptions have already been fetched?

Yes, it’s perfectly fine to create event instances on demand. In fact, that’s what we recommend. As long as the sound data is already loaded, there should be no extra delay.

Excellent, thanks!