if(iSpuAsyncWait)
{
iSpuAsyncWait++;
- if(iSpuAsyncWait<=64) return;
+ if(iSpuAsyncWait<=16) return;
iSpuAsyncWait=0;
}
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;
}
}
pMixIrq = 0;
memset((void *)s_chan, 0, (MAXCHAN + 1) * sizeof(SPUCHAN));
pSpuIrq = 0;
- iSPUIRQWait = 0;
+ //iSPUIRQWait = 0;
lastch = -1;
//ReadConfigSPU(); // read user stuff