MAME:跳过旧方案多线程做法才需要的Thread.Sleep(),已不必要,节省时间

This commit is contained in:
sin365 2025-10-23 10:39:33 +08:00
parent c0a8127d6a
commit 8cb9a28620
2 changed files with 18 additions and 8 deletions

View File

@ -68,22 +68,29 @@ namespace MAME.Core
while(bNeedPreheat)
UpdateFrame();
Mame.paused = true;
Thread.Sleep(20);
if(mameMainMotion.bIsNewThreadMode)
Thread.Sleep(20);
Mame.soft_reset();//软重启一次,确保没有脏数据
State.loadstate_callback(sr);
Mame.postload();
Video.popup_text_end = Wintime.osd_ticks() + Wintime.ticks_per_second * 2;
mameMainMotion.ResetFreameIndex();
Thread.Sleep(20);
if (mameMainMotion.bIsNewThreadMode)
Thread.Sleep(20);
Mame.paused = false;
}
public void SaveState(System.IO.BinaryWriter sw)
{
Mame.paused = true;
Thread.Sleep(20);
if (mameMainMotion.bIsNewThreadMode)
Thread.Sleep(20);
State.savestate_callback(sw);
Thread.Sleep(20);
if (mameMainMotion.bIsNewThreadMode)
Thread.Sleep(20);
Mame.paused = false;
}

View File

@ -289,16 +289,19 @@ namespace MAME.Core
if (Machine.bRom)
{
Mame.exit_pending = true;
Thread.Sleep(50);
if (bIsNewThreadMode)
Thread.Sleep(50);
}
}
public void ResetFreameIndex()
{
Mame.paused = true;
Thread.Sleep(20);
if (bIsNewThreadMode)
Thread.Sleep(20);
Video.screenstate.frame_number = 0;
Thread.Sleep(20);
if (bIsNewThreadMode)
Thread.Sleep(20);
Mame.paused = false;
}
@ -596,7 +599,7 @@ namespace MAME.Core
int TempWidth = 0;
int TempHeight = 0;
private bool bIsNewThreadMode;
public bool bIsNewThreadMode;
private void ResizeMain()
{