We had this discussion before and many seemed to believe that threading a game engine in Java was a waste of time and developers should stick to the standard single-loop model.
Since my game is getting a bit further along and pushing things alot harder, I thought I would share some numbers to get the discussion going again for those that are performance junkies like myself.
Threaded:
FPS: 102
Engine: 62
Verts: 201,492
Non-Threaded:
FPS: 81
Engine: n/a
Verts: 201,492
Both on an AMD2600 Geoforce 4MX looking at the same scene with the same game options.
When running with threads I am getting 126% better performance (well beyond my expectations). Which really illustrates just how much time is wasted in a single game loop.
Here are screen shots of the tests as well as a preview of the in-cockpit view of “Exigent” (tentatively named):
Threaded:
http://www.imagehosting.us/himages/ihnp-226544thumb.jpg
Non-Threaded:
http://www.imagehosting.us/himages/ihnp-226541thumb.jpg
Let the debate commence…or agreement