| Summary: | SDL_Flip doesn't wait vsync under X11 | ||
|---|---|---|---|
| Product: | SDL | Reporter: | Antony <al-lists> |
| Component: | video | Assignee: | Ryan C. Gordon <icculus> |
| Status: | RESOLVED WONTFIX | QA Contact: | Sam Lantinga <slouken> |
| Severity: | major | ||
| Priority: | P2 | CC: | johan.walles, renesd |
| Version: | 1.2.11 | Keywords: | target-1.2.14 |
| Hardware: | x86 | ||
| OS: | Linux | ||
| Attachments: | Test SDL_Flip() vsync, by filling black then white | ||
|
Description
Antony
2007-03-03 22:00:46 UTC
Created attachment 196 [details]
Test SDL_Flip() vsync, by filling black then white
This can't be fixed at this time, as there's no way to sync to vblank in 2D X11 (OpenGL has a few methods, though, so SDL 1.3's OpenGL backend for 2D rendering should make this possible). Using 2D rendering without OpenGL, we would need someone to develop an X11 extension. --ryan. Many other 2d programs work with vsync in a window on X11 without opengl. So there must be some way to do it. This is a very common bug report we get at pygame. Reopening this bug so we can research a fix/workaround. The XVideo extension appears to let you flip a buffer on vertical sync(vsync). So perhaps the SDL overlay code can be used for this. Since it already uses Xvideo. The idea would be to create a buffer, and then feed the buffer to the overlay instead of flipping/updating. Trying this out using pygame to test the performance. Another option for python SDL users is to use the Lamina module which lets you draw using pygame in software, and then it updates opengl in the background. However that's not all that fast for some types of games - but it will allow you to vsync - assuming your X11 supports opengl. http://pypi.python.org/pypi/Lamina Tagging this bug with "target-1.2.14" so we can try to resolve it for SDL 1.2.14. Please note that we may choose to resolve it as WONTFIX. This tag is largely so we have a comprehensive wishlist of bugs to examine for 1.2.14 (and so we can close bugs that we'll never fix, rather than have them live forever in Bugzilla). --ryan. *** Bug 583 has been marked as a duplicate of this bug. *** It's not likely that we'll do anything with this for SDL 1.2, but I've put it on the list for SDL 1.3 since it uses OpenGL when available. |