bbbradsmith / hatariB

Libretro core for Hatari emulation of Atari ST STE TT Falcon
GNU General Public License v2.0
20 stars 3 forks source link

Consider "Cycle Exact CPU Cache" ON by default? #15

Closed vanfanel closed 1 year ago

vanfanel commented 1 year ago

Yo @bbbradsmith !

I was doing some more testing today and found out that my favorite Atari RPG and pinnacle of the genre on the ST, AmberStar by Thalion, has bad music tempo if cycle exact CPU cache is OFF. You can see it in-game only: tittle screen sounds well without it.

I have been measuring CPU usage on the Pi4 using TOP, and there's no big difference with it active.

Since this jewel of a game has mutilated audio without cycle exact CPU cache, I'd suggest to have it ON by default. Just an idea!

vanfanel commented 1 year ago

I must add that, after several tests, increase in CPU usage with cycle exact CPU cache on the Pi4 is exactly zero. So, well, nothing to lose with it on modern systems! It's a win-win situation.

bbbradsmith commented 1 year ago

I'm not sure how it's possible to measure exactly zero impact? The code path is significantly different.

One easy way to measure performance is to turn on the FPS counter, and then enter fast-forward mode. See: Settings > On-Screen Display > On-Screen Notifications > Notification Visibility > Display Framerate

Maybe I should look into the RetroArch performance counters thing tho...

Anyway, I see more like a 15% performance difference. I hadn't run into any games that needed that feature yet, but I can consider having it on by default. Knowing more games that need it would help make that decision.

bbbradsmith commented 1 year ago

I added an actual performance timer to make this easier to measure in the future, but I'll just turn it on by default for v0.2.