diff options
Diffstat (limited to 'plugins/dfsound/spu.c')
-rw-r--r-- | plugins/dfsound/spu.c | 7 |
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; } } |