Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Carter
Beginner
338 Views

OpenGL v-sync not enabled by default (wglSwapIntervalEXT)

System Setup Information:
-----------------------------------------

System Used: ASUS Zenbook UX305CA
CPU SKU: Intel Core m3-6Y30
GPU SKU: Intel HD Graphics 515
Processor Line:
System BIOS Version: UX305CA.201
CMOS settings:
Graphics Driver Version: 26.20.100.7262, 27.20.100.8280
GOP/VBIOS Version:
Operating System: Windows 10 Home 64-bit
OS Version: 1903 (OS Build 18362.900)
API: OpenGL
Occurs on non-Intel GPUs?: No

 

Steps to Reproduce:
-------------------------------
1. Create an OpenGL compatible window and device context
2. Check value of swap interval using wglGetSwapIntervalEXT
3. Call SwapBuffers(...) repeatedly to check whether v-sync is enabled

Expected Results:
-------------------------------

wglGetSwapIntervalEXT returns the default swap interval of '1' and v-sync is enabled.

 

Actual Results:
-------------------------------

wglGetSwapIntervalEXT returns the default swap interval of '1' but v-sync is not enabled.

 

Additional Information:
-------------------------------

"Vertical Sync" is set to "Use Application Default Settings" in the graphics control panel. Setting the swap interval to 1 via wglSwapIntervalEXT enables v-sync as expected even though wglGetSwapIntervalEXT reports that it was already enabled. This means on Intel I need to explicitly set the swap interval despite both the spec and implementation telling me it is already enabled. Either wglSwapIntervalEXT should initially report 0, which is non-conforming but at least consistent, or v-sync should be enabled by default as specified by the WGL_EXT_swap_control extension. (cf. https://www.khronos.org/registry/OpenGL/extensions/EXT/WGL_EXT_swap_control.txt)

0 Kudos
0 Replies
Reply