more multi-thread fixes

don't use static on acquire()
don't yield at all
run fillBuf() on thread
fix option tooltip as it introduces some overhead
This commit is contained in:
tildearrow 2023-09-07 00:48:26 -05:00
parent 64669e4d9b
commit 1a520dbf3e
14 changed files with 33 additions and 29 deletions

View file

@ -52,7 +52,7 @@ const char** DivPlatformArcade::getRegisterSheet() {
}
void DivPlatformArcade::acquire_nuked(short** buf, size_t len) {
static int o[2];
thread_local int o[2];
for (size_t h=0; h<len; h++) {
for (int i=0; i<8; i++) {
@ -92,7 +92,7 @@ void DivPlatformArcade::acquire_nuked(short** buf, size_t len) {
}
void DivPlatformArcade::acquire_ymfm(short** buf, size_t len) {
static int os[2];
thread_local int os[2];
ymfm::ym2151::fm_engine* fme=fm_ymfm->debug_engine();