Re: High CPU usage
"Mark Schilling" <[email protected]> Wed, 13 Jun 2012 20:41:07 +0200
| Newsgroups | gmane.comp.audio.compression.speex.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi Tanmay, >Does compiling speex API with DISABLE_FLOAT_API and DISABLE_VBR solve the >problem? I remember that this fixed the problem. But at that time I also needed VBR so this was not an option. As far as I know, it is related to some calculations that involve float denormals that cause the high CPU usage. Today I'm still using the following code before speex_encoder_init and erverything works great: // fix denormals performance issue // http://software.intel.com/en-us/articles/x87-and-sse-floating-point-assists-in-ia-32-flush-to-zero-ftz-and-denormals-are-zero-daz/ __m128 state[32]; __int32 temp; __asm fxsave state; memcpy(&temp, (char*)state + 24, 4); temp |= (1 << 11); // UNDERFLOW_EXCEPTION_MASK temp |= (1 << 15); // FTZ_BIT __asm ldmxcsr temp; Tested with Visual Studio 2010 on x86. Please let me know if it works for you too. Mark -- NEU: FreePhone 3-fach-Flat mit kostenlosem Smartphone! Jetzt informieren: http://mobile.1und1.de/?ac=OM.PW.PW003K20328T7073a