I just started using Pyglet and came across an issue with the Win32 method of swapping front and back buffers. Pyglet uses the wglSwapLayerBuffers Win32 API call do this swap. On my machine (Windows 7, AMD Radeon HD 7-series graphics card) this method doesn't work with vsync enabled. My display has a 60Hz refresh rate, and yet the wglSwapLayerBuffers call blocks to make a 30fps rate. With vsync disabled the frame rate is > 500 so it is certainly not the case that each frame is to slow to achieve 60fps with vsync enabled. Moreover, if I replace the wglSwapLayerBuffers call with the more standard SwapBuffers call, everything works correctly (60fps).
I've heard reports of other people experiencing the same thing. Why does Pyglet use the wglSwapLayerBuffers call? This flat out doesn't work on some configurations with vsync enabled. Useful resources: http://msdn.microsoft.com/en-us/library/windows/desktop/dd374391(v=vs.85).aspx http://msdn.microsoft.com/en-us/library/windows/desktop/dd368815(v=vs.85).aspx -- You received this message because you are subscribed to the Google Groups "pyglet-users" group. To view this discussion on the web visit https://groups.google.com/d/msg/pyglet-users/-/nA9Ue930cVIJ. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/pyglet-users?hl=en.
