First post, by superfury
The main problem I'm having with optimizing my emulator is that I can't find out any ways anymore to make it run even faster than it does currently. I see it reaching a top of about 200-300KIPS in IPS clocking mode on my 4GHz i7-4790K, but cant seem to get much more out of it. How can Dosbox manage to reach 3MIPS with only a few % CPU usage, while mine is at ~15%(the limit it seems) with only 20%p30% of that speed reached?
Quite a few precalcs tables are already used with both memory and segment descriptors etc.?
Anybody has some tips how to get it faster? I notice much of the bottleneck(according to profiling) is the PIQ filling from emulated RAM, where the basic resolving of the memory block and it's physical location seems to take up the most time, according to the profiler(see mmu/mmu.c's directrb/directwb functions)? This is especially the case with memory reads, even though the three most recent memory access(data read, instruction read and data write) are cached seperately.
Anyone?
Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io