aboutsummaryrefslogtreecommitdiff
path: root/plugins/dfsound/spu.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/dfsound/spu.c')
-rw-r--r--plugins/dfsound/spu.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/plugins/dfsound/spu.c b/plugins/dfsound/spu.c
index c455d3d..afd5fd6 100644
--- a/plugins/dfsound/spu.c
+++ b/plugins/dfsound/spu.c
@@ -771,7 +771,7 @@ void CALLBACK SPUasync(unsigned long cycle)
if(iSpuAsyncWait)
{
iSpuAsyncWait++;
- if(iSpuAsyncWait<=64) return;
+ if(iSpuAsyncWait<=16) return;
iSpuAsyncWait=0;
}
@@ -780,6 +780,11 @@ void CALLBACK SPUasync(unsigned long cycle)
if(!bSpuInit) return; // -> no init, no call
MAINThread(0); // -> linux high-compat mode
+
+ // abuse iSpuAsyncWait mechanism to reduce calls to above function
+ // to make it do larger chunks
+ // note: doing it less often than once per frame causes skips
+ iSpuAsyncWait=1;
}
}