Brian Fisher wrote:
I'd be in favor of leaving SDL's current behavior (windib over directX) unless we have a real compelling reason to do otherwise - it's had 3 point releases since the change, and windib has continued to improve while directX has not been used or developed. Also, I'm far more interested in using a library that ensures compatibility and correct functioning across a variety of computers than the most performant one unless we are talking a really significant difference. So is there a case where performance is significantly different? like 6 fps instead of 30?
On the machines I've tried, windib is faster than DirectX. I'm using a 3 year old machine running Windows 2000, 2.6 ghz, so I can't vouch for machines older than that.
Some of my users couldn't play the game with DirectX as the default, it would err out, so I have the following snippet to force windib mode on my game:
if sys.platform == 'win32': os.environ['SDL_VIDEODRIVER'] = 'windib'Plus there were issues with how DirectX fed mouse input to Pygame. When you moved the mouse quickly, it would feed all the points between the last mousepoint and the new mousepoint to Pygame, resulting in sluggish behavior. I had to modify the mainloop to throw out all mousemove events except the last one each time through the mainloop to avoid slow redraws. With Windib, it was faster because it didn't feed every mousemove like; it would allow 'skips' for fast movement.
In my opinion, windib should be the default. --Kamilche