Argh wrote:Hey guys... one question... has zerver's code sliced all of the OpenGL calls out of the gamecode? Or is that still a side issue?
What I did, you can see for yourself here:
https://spring.clan-sy.com/svn/spring/branches/gml/
The OpenGL multithreading library is located in rts/lib/gml
Very much macro based which makes the code difficult to read - sorry for that.
It essentially redefines (patches) all GL calls. So, the GL calls themselves look the same as they did before, but a different function is in fact called.
I did some testing with the profiler today and can confirm that all the four parts I have multithreaded do in fact increase the performance.
However, this is with my system (8 cores). Many units and/or large maps in combination with high graphics settings seem to give the best results. You may get very different results, please have a try.
I also tried threading a fifth part today (the CSmfReadMap::GridVisibility) but I'm afraid it ran slower than when single threaded.