View Single Post
Old 08 November 2014, 19:47   #2
Oh noes!
spiff's Avatar
Join Date: Mar 2003
Location: Neverland
Posts: 660
A little bit

Interview with Toni Wilen
(Interview realized by David Brunet - J

- What about support for the multi-core x86 ?

Very difficult. For compatible modes (like A500), practically impossible, if you want any performance gains. Chips in Amiga "talk" to each other continuously, you can't have a separate thread for chips, because continuous inter-chip messaging would kill the performance.

Some "post"-processing parts could be moved to other threads, but it isn't easy, at least if you don't want to lose performance on single core CPUs... (not interested, not worth the trouble, at least I won't waste my time for free). Also, in theory, JIT CPU emulation could be moved to a separate thread, but again, I am not interested in possible performance gains (in worst case, the result is slower performance if there is too much messaging between threads...).

Some parts of emulation have always been multithreaded, e.g. the filesystem. I am also trying to move the RTG Amiga VRAM buffer to real display copy/color space translation part to a separate thread, which should be an easy way to increase RTG performance.

Bug-free multithreaded coding is troublesome; it is all too easy to introduce bugs that will be extremely difficult to debug. It will be even more complex if it still needs to run on a single core CPU without the extra threads.
spiff is offline  
Page generated in 0.10336 seconds with 9 queries