[Freemint-list] Kronos: WinUAE vs ARAnyM

Vincent Rivière vincent.riviere at freesbee.fr
Sat Feb 18 14:53:43 MSK 2017


Hello.

You may wonder why I cared about porting EmuTOS to Amiga a few years ago, 
while I had never used Amiga machines myself. There were 2 reasons:

1) To prepare EmuTOS for the FireBee when the hardware was not yet 
available, I needed to work on something else. So I ported EmuTOS to 
ColdFire Evaluation Boards. The 2 main issues were different CPU and lack of 
Atari hardware. It was very long and difficult, but finally it worked. Then 
I realized that, after having removed all dependencies to Atari hardware in 
EmuTOS, it would be a piece of cake to run it on other 68000 computers. So I 
tried to run it on Amiga, and after little effort to write minimal support 
for screen, keyboard, and mouse, it worked almost immediately.

2) It is well-known that ARAnyM and Hatari are based on the UAE/WinUAE CPU 
emulator. So I wanted to see how the performance was on the real thing. Of 
course, I also had to port FreeMiNT and fVDI to WinUAE to have a similar 
setup. Finally, the biggest issue was the fight against fVDI internal bugs, 
which were revealed by GCC 4.x. Anyway, now it works.

And finally, here are the first Kronos results of WinUAE vs ARAnyM, with 
similar setup.

Kronos Atari Benchmark:
http://kronos.lutece.net/

fVDI drivers:
http://vincent.riviere.free.fr/soft/m68k-atari-mint/archives/mint/fvdi/

NB: Yesterday I needed to fight against another fVDI / GCC 4 bug which 
caused crash in Kronos VDI bench. It is now fixed (you can see details in 
GitHub changelog), so I have just published new fVDI binaries on the above page.

Hardware used to run emulators:
- PC with Core i7 920 @ 2.67 GHz
- Windows 10 64-bit
- CompactFlash with USB2 adapter for emulated mass storage

ARAnyM and WinUAE setup:
- 68040
- FPU
- JIT
- fastest possible emulation
- 64 MB of FastRAM
- EmuTOS 0.9.7 (with AROS support to use WinUAE FastRAM)
- Current FreeMiNT and fVDI
- 1024x768, 16-bit

See attached picture for Kronos results.
- The reference (blue bars) is ARAnyM, by definition it is 100 %
- Both "Your computer" and "WinUAE" are WinUAE, for 2 different runs

Comments:

CPU: ARAnyM is still 6% faster. Maybe it is because WinUAE wastes time in 
Amiga chipset emulation. Or different compilation options.

FPU: WinUAE is about 17% faster.

Memory: WinUAE is 63% faster. ARAnyM has room for improvement, here.

VDI: WinAUE is about 20% slower. This is because my fVDI driver is only 
partially accelerated. I'm not even sure it could even be accelerated much 
more, regarding to WinUAE abilities. On the other hand, the ARAnyM fVDI 
driver is fully accelerated, and that matters for filled polygons, etc.

Disk: ARAnyM is about 138% faster than WinUAE. Huge difference. This is 
because ARAnyM provides a NatFeats interface to block devices, which is used 
by EmuTOS XHDI. On the other hand, current block device emulation in WinUAE 
goes through IDE emulation, which is slow. No doubt: NatFeats block devices 
are the key to performance.

OpenGL: WinUAE is 18% faster, certainly due to faster FPU.

And with red bars, you can see that real hardware is far, far behind.

Conclusions:
- ARAnyM has slightly faster CPU
- WinUAE has faster FPU and OpenGL
- WinUAE has much faster memory
- ARAnyM has faster VDI
- ARAnyM has much faster disk access

Of course, this is a first rough test. But it gives an idea of the relative 
performance of those emulators. And in the absolute, they are pretty good :-)

-- 
Vincent Rivière
-------------- next part --------------
A non-text attachment was scrubbed...
Name: kronos.png
Type: image/png
Size: 14905 bytes
Desc: not available
Url : http://mail.atariforge.org/pipermail/freemint-list/attachments/20170218/336f6656/attachment.png 


More information about the Freemint-list mailing list