Page 1 of 1

Dynarec regressions are related to page flipping

Posted: Sat 30 Dec, 2023 9:20 pm
by unreal9010
Like I previously suspected, dynarec regressions are indeed related to page flipping. Earlier today I experimented a bit with my custom PCem build which had the unfinished Matrox Mystique emulation enabled. I tested the old freeware game called Bubble Puzzle '97 to see how it would work with this card. Selecting the "page flipping via Direct X" option caused the emulation speed of my Pentium 2 350 virtual machine to drop down to 70%, however, selecting the "page flipping via game" option allowed the game to run at rock solid 100%.
This isn't the only game with such issue. As mentioned earlier this year, I tested the 1996 game Time Commando which had its "flipping" option set to off by default. Using this setting, the game wasn't much playable as the emulation speed jumped between 65-75%. Turning the "flipping" option on, however, enabled the game to run at 100% the whole time. Time Commando shares the same engine with Little Big Adventure 2. The latter isn't much playable without disabling the internal CPU cache in the BIOS as the emulation speed would drop down to 60%. Unlike Time Commando, LBA2 has no flipping option available.
I wish PCem had an option to generate a log file so that I would be able to see what causes dynarec to regress when changing the flipping options mentioned above.
Nevertheless, this might be of use to developers/maintainers of PCem and its derivatives.

Re: Dynarec regressions are related to page flipping

Posted: Sat 30 Dec, 2023 11:20 pm
by tr.StEalTH
:geek: :ugeek: hmm

Re: Dynarec regressions are related to page flipping

Posted: Sun 28 Jan, 2024 3:47 pm
by duotone
Those games are running less than 60fps inside the emulation? Any chance vsync plays a role here?

Re: Dynarec regressions are related to page flipping

Posted: Mon 29 Jan, 2024 3:19 pm
by unreal9010
No, it's about emulator's speed (and therefore its capability to properly handle processors at certain frequencies in specific cases) being dropped due to faults in its code and not fps.

Re: Dynarec regressions are related to page flipping

Posted: Mon 29 Jan, 2024 10:14 pm
by unreal9010
Just tried v14, the last version of PCem that included the old dynamic recompiler.
I'm testing Mobile Pentium 300 MMX (my host CPU is i9 12900KF). No regressions so far and no dips below 100% even on Future Shock and SkyNet.