There have been some discussions time and again regarding cases of micro-stutters occurring in Oolite. Micro-stutters do seem to occur quite a bit, although there have also been cases (I can personally confirm at least two of them) where animation is completely fluid and butter-smooth overall. The last such discussion was this one started by Zieman
. The discussion hinted at the possibility of two reasons for stuttering. One was the possibility of the game having to wait for textures to be loaded to graphics memory when requested or similar operations that work on threads other than the main one, but could result in the entire game having to wait until they are completed. There could be ways around it, but this type of delay is not the one I would like to discuss here.
The second stutter type seemed to be a graphics card / driver combination type of issue. These micro-stutters are more frequent and could result in what appears to be a not perfectly smooth motion, even though the FPS are high to very high and theoretically motion should be totally seamless and fluid.
I would like to kindly ask anyone using Windows and testing nightlies to try the 64-bit executable located here: https://drive.google.com/file/d/0BwG6R5 ... sp=sharing
Just drop it in oolite.app and run it. Then let us know if this exe seems to make things run more smoothly and gives you an overall feeling that the game runs better. Some stutter will still occur as per above commentary, but I would be interested to know your overall impression.
The test executable is based on the current trunk and corresponds to revision 42ab20b, posted on github today. You need to have a trunk install to run it; don't drop this inside a 1.80 installation as there are no guarantees that it will work as expected.
What it does: Upon running it, this executable will query Windows for the current display refresh rate. Then it will adjust the game's animation timer interval internally so that the maximum FPS produced will coincide with that refresh rate. Effectively, it bypasses SDL's v-sync settings and creates a v-sync state of its own. First results on my Intel HD and on one NVidia family card have been encouraging, so I would like to hear what you think too. If this is indeed an improvement, we may be seeing it soon in the trunk. So, please test and get back to us with your feedback.
Thanks for your help.