Replies: 2 comments 5 replies
-
This is interesting topic. When I started learning about Bochs, I thought for some reason that it allows to have full reproducibility, at least in some configurations.
Can you test it with Ballance game? |
Beta Was this translation helpful? Give feedback.
-
After a quick test with the ValleyOfRa demo I can say that the performance loss in 3D mode is about 50% (IPS drop from about 64 to 29 Mips). Using this code to find out if an issue is caused by emulation or multi-threading is okay, but in general we need more usage of multi-treading, not less. In the early days of Bochs everything was done in a single thread and multi-threading was a feature request. Only the win32 and rfb guis were using a thread internally. In the meantime it has been added in some more guis and the lowlevel sound code. The Voodoo device is still the only device emulation using multi-threading. |
Beta Was this translation helpful? Give feedback.
-
I made some simple modifications to use the voodoo stuff without the dedicated thread but using only the bochs virtual timer. So removing all mutexes and semaphores.
Maybe it could be useful to check emulation correctness without bothering with threads sync and locking. Obviously there is a small performance loss but not so much.
Theoretically it could be possible to use both thread and non-thread versions in the same code with some #ifdef switches at compile time.
The thing could be refined, for example wirh start/stop of the timer and calculating the best timer period.
If there is interest I can post the modified files.
Beta Was this translation helpful? Give feedback.
All reactions