Dynarec regressions are related to page flipping
Posted: Sat 30 Dec, 2023 9:20 pm
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.
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.