Friday, October 10, 2014
By: Matthew Doucette
Here's how to maximize DOSBox calculation performance on an x86 processor:
Set to cycles=max in the DOSBox configuration file.
Warning: This sometimes results in a game working too fast or unstable.
CPU Core (x86 only):
Set core=dynamic in the DOSBox configuration file, to force usage of a dynamically recompiling core.
Warning: 1) This is known to crash programs sporadically and I have witnessed it do this to our own AI programs I mention below. 2) This is for x86 architectures only. 3) This is best accompanied by cycles=max (see above).
I have been playing around with some old DOS programs Jason and I have written, notably our artificial intelligence ones, like Jason's Maim Chess engine and Triple Jump checker engine, and my WipeOut Reversi/Othello engine.
I expected DOSBox, without cycle limit, on a single core on my current 2.4 GHz (2,400 MHz) system to out perform my 200 MHz computer from 1998. I was wrong!
Step 1: I maximized DOSBox's cycles count, as it is limited to be slower by default. According to my documentation of WipeOut, it performed 100,000 moves per second on my 200MHz computer, and it only calculates 20,000 moves per second in DOSBox with the cycles maximized. Result: 20% performance, not good!
Step 2: I researched how to speed up DOSBox more, finding the dynamic core setting, and this doubled the performance to 45,000 moves per second. It is still only 45% of the original speed, where I would love to see an increase in speed, but it is much better than the 20% performance I was getting out of maximizing the CPU cycles alone. Result: 45% performance, is the best I can do for now!
More Performance Tips:
Read more at the Performance article on the DOSBox wiki, to address speeds up with grahics and sound.
That is all!
About the Author: I am Matthew Doucette of Xona Games, an award-winning indie game studio that I founded with my twin brother. We make intensified arcade-style retro games. Our business, our games, our technology, and we as competitive gamers have won prestigious awards and received worldwide press. Our business has won $190,000 in contests. Our games have ranked from #1 in Canada to #1 in Japan, have become #1 best sellers in multiple countries, have won game contests, and have held 3 of the top 5 rated spots in Japan of all Xbox LIVE indie games. Our game engines have been awarded for technical excellence. And we, the developers, have placed #1 in competitive gaming competitions -- relating to the games we make. Read about our story, our awards, our games, and view our blog.