Hi, I’m using FMOD and I’m experimenting a big latency when playing sounds. I think the latency is about 140ms.
I’m on Windows 10 64 bits, high end CPU, using FMOD C# bindings supplied by FMOD and mostly using raw C# (not unity)
My init is
result=lowLevelSystem.setSoftwareFormat (0,SPEAKERMODE.DEFAULT,0); // so that can get same frequency as output and avoid some extra latency
result=system.initialize (256,
FMOD.Studio.INITFLAGS.NORMAL,
FMOD.INITFLAGS.NORMAL | FMOD.INITFLAGS._3D_RIGHTHANDED,
IntPtr.Zero);
I’m playing the particular sound through FMOD Studio events.
I use system.getEvent at the start of the game, then each time I want to play the sound, I call the event’s createInstance, and finally effectInstance.start to play the sound.
I’ve been searching the forum and used lowLevelSystem.setDSPBufferSize (512,4); to reduce latency a bit (maybe from ~140 to ~100)
but that is still too big for my project, and I don’t feel like further reducing the DSP buffer size. (256 reduces it to ~80)
All sounds are added into FMOD Studio as wav, although I don’t know is FMS changes the format. The sound is “correctly trimmed” (no extra silence before the sample)
Could you please suggest any more actions to further reduce the latency? It seems like there are 60ms extra latency somewhere not caused by the DSP buffer.
Thanks!