Sweden-Number/dlls/dsound
Florian Will 835dfaab02 dsound: Skip resampling/mixing inaudible buffers.
In some situations, "ZUSI 3" has a lot of secondary buffers in the
PLAYING state, but most of these buffers have a really low volume, so
these buffers are multiplied by 0 before mixing (and possibly after
resampling). There can be hundreds of inaudible buffers at the same
time.

In these situations, the dsound mixthread is unable to mix fast enough,
resulting in sound stuttering and generally poor performance.

To resolve this performance issue, skip the mixing (and possibly
resampling) step for all inaudible secondary buffers.

Signed-off-by: Florian Will <florian.will@gmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-06 22:55:07 +01:00
..
tests dsound/tests: Use nameless unions. 2021-03-31 10:06:51 +02:00
Makefile.in makefiles: Make -mno-cygwin the default. 2021-09-20 22:45:48 +02:00
buffer.c dsound: Skip resampling/mixing inaudible buffers. 2021-12-06 22:55:07 +01:00
capture.c
dsound.c dsound: Correctly report hardware audio buffers as unsupported. 2021-11-17 17:59:26 +01:00
dsound.spec
dsound_classes.idl
dsound_convert.c dsound: Commit next audio chunk between play cursor and write cursor to playing. 2021-09-20 22:48:41 +02:00
dsound_main.c winecrt0: Add a default implementation DllRegisterServer()/DllUnregisterServer(). 2021-04-30 22:59:50 +02:00
dsound_private.h dsound: Skip resampling/mixing inaudible buffers. 2021-12-06 22:55:07 +01:00
duplex.c
fir.h
make_fir
mixer.c dsound: Skip resampling/mixing inaudible buffers. 2021-12-06 22:55:07 +01:00
primary.c dsound: Use nameless unions. 2021-03-31 10:06:49 +02:00
propset.c dsound: Use nameless unions. 2021-03-31 10:06:49 +02:00
sound3d.c
version.rc