delay playing event instances


#1

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


#2

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


#3

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


#4

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.


#5

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?


#6

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.


#7

Excellent, thanks!