Class WGLNVDelayBeforeSwap
- java.lang.Object
-
- org.lwjgl.opengl.WGLNVDelayBeforeSwap
-
public class WGLNVDelayBeforeSwap extends java.lang.ObjectNative bindings to the WGL_NV_delay_before_swap extension.For most interactive applications, the standard rendering loop responding to input events on a frame granularity is sufficient. Some more demanding applications may want to exchange performance for the ability to sample input closer to the final frame swap and adjust rendering accordingly. This extension adds functionality to allow the application to wait until a specified time before a swapbuffers command would be able to execute.
Requires
OpenGL 2.1.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method and Description static booleanwglDelayBeforeSwapNV(long hDC, float seconds)Blocks the CPU untilsecondsseconds before a synchronized swap would occur on the window associated withhDC.
-
-
-
Method Detail
-
wglDelayBeforeSwapNV
public static boolean wglDelayBeforeSwapNV(long hDC, float seconds)Blocks the CPU untilsecondsseconds before a synchronized swap would occur on the window associated withhDC. It also returns a boolean value equal toWinBase.TRUEwhen the implementation had to wait for the synchronized swap andWinBase.FALSEotherwise.The parameter
hDCmust be a valid device context associated with a graphic adapter. IfhDCis not valid,WinBase.GetLastError()will return WGL_INVALID_HDC,DelayBeforeSwapNVwill return FALSE and will not wait for the swap. IfhDCis not associated with a graphic adapter,GetLastErrorwill return ERROR_DC_NOT_FOUND,DelayBeforeSwapNVwill return FALSE and will not wait for the swap.The parameter
secondsaccepts positive floating point values not larger than the length in seconds of the swap period on the associated window. When buffer swaps are synchronized, the swap period is composed of one or multiple video frame periods. A video frame period is the time required by the monitor to display a full frame of video data. A swap interval set to a value of 2 means that the color buffers will be swapped at most every other video frame. Ifsecondsis smaller than 0,GetLastErrorwill return ERROR_INVALID_DATA,DelayBeforeSwapNVwill return FALSE and will not wait for the end of the swap period. Ifsecondsis greater than a swap period,DelayBeforeSwapNVwill return immediately without generating any error and the return value will be FALSE.The application should use a
secondsdelay large enough to have time to complete its work before the end of the swap period. Ifsecondsis close to 0.0, the application may miss the end of the swap period and it will have to wait an additional swap period before it can swap.If
DelayBeforeSwapNVdetects that there is less thansecondsseconds before the end of the swap period, it will return immediately and the return value will be FALSE. The implementation will not wait an additional video frame period to have an exact delay ofsecondsseconds.If buffer swaps are unsynchronized,
DelayBeforeSwapNVwill return immediately and the return value will be FALSE. It could happen for multiple reasons, for example if the swap interval is equal to 0, if the window is in a mode switch or if no monitors are active.- Parameters:
hDC- a handle to the DCseconds- the delay, in seconds
-
-