0
0

i have to improvement loading speed in my job.

my profiler is show:

+——————————————————+
FMOD::getDriverCaps 0.64231 sec
+——————————————————+
total sound 1.00134 sec

FMOD::getDriverCaps funcs take half of init sound. jejus!
our game engine used all state of FMOD_CAPS.

plz. help me.

  • You must to post comments
0
0

Often getDriverCaps needs to basically create the device to query its capabilities, this is potentially unavoidable. Perhaps you do not need to call it at all though? Could you answer a couple of questions…

What platform are you on / OS version?
What information from FMOD_CAPS are you using?

  • You must to post comments
0
0

What platform are you on / OS version?
– Test OS : Windows 7 Ultimate 64bit

What information from FMOD_CAPS are you using?
– Used All

the game engine used all of state. In initalize, checking EAX able.

here is source code :

if (m_nSpeakerMode != FMOD_SPEAKERMODE_MAX)
m_ExResult = m_pAPISystem->getDriverCaps(0, &m_nFMODDriverCaps, 0, 0, &m_nSpeakerMode);
else
m_ExResult = m_pAPISystem->getDriverCaps(0, &m_nFMODDriverCaps, 0, 0, 0);

  • You must to post comments
0
0

I have just checked the code for getDriverCaps and we are doing the minimum required to get the speaker mode setting in the OS. If you are finding that to be slow there isn’t much we can do to reduce that cost.

Also be aware that the caps are mostly irrelevant. Win7 will support mixing to any format, any rate and EAX is never available.

If getDriverCaps is the first driver related call you make it will enumerate all the devices then also (hence why it may be extra slow). Any other call like getNumDrivers or getDriverInfo (if called first) will incur this one time cost.

  • You must to post comments
0
0

thanks. mathew.
very helpful advice to me. 8)

  • You must to post comments
Showing 4 results
Your Answer

Please first to submit.