Describes the relationship between the adapter refresh rate and the rate at which IDirect3DDevice9::Present or IDirect3DSwapChain9::Present operations are completed. These values also serve as flag values for the PresentationIntervals field of D3DCAPS9.
#define | Description |
---|---|
D3DPRESENT_DONOTWAIT | A presentation cannot be scheduled by a hal device. If this flag is set in a call to IDirect3DSwapChain9::Present, and the hardware is busy processing or waiting for a vertical sync interval, then Present will return D3DERR_WASSTILLDRAWING to indicate that the blit operation is incomplete. |
D3DPRESENT_INTERVAL_DEFAULT | This is nearly equivalent to D3DPRESENT_INTERVAL_ONE. See remarks. |
D3DPRESENT_INTERVAL_ONE | The driver will wait for the vertical retrace period (the runtime will "beam follow" to prevent tearing). IDirect3DDevice9::Present operations will not be affected more frequently than the screen refresh; the runtime will complete at most one Present operation per adapter refresh period. This is equivalent to using D3DSWAPEFFECT_COPYVSYNC in DirectX 8.1. This option is always available for both windowed and full-screen swap chains. See remarks. |
D3DPRESENT_INTERVAL_TWO | The driver will wait for the vertical retrace period. IDirect3DDevice9::Present operations will not be affected more frequently than every second screen refresh. Check the PresentationIntervals cap (see D3DCAPS9) to see if D3DPRESENT_INTERVAL_TWO is supported by the driver. |
D3DPRESENT_INTERVAL_THREE | The driver will wait for the vertical retrace period. IDirect3DDevice9::Present operations will not be affected more frequently than every third screen refresh. Check the PresentationIntervals cap (see D3DCAPS9) to see if D3DPRESENT_INTERVAL_THREE is supported by the driver. |
D3DPRESENT_INTERVAL_FOUR | The driver will wait for the vertical retrace period. IDirect3DDevice9::Present operations will not be affected more frequently than every fourth screen refresh. Check the PresentationIntervals member (see D3DCAPS9) to see if D3DPRESENT_INTERVAL_FOUR is supported by the driver. |
D3DPRESENT_INTERVAL_IMMEDIATE | The runtime updates the window client area immediately and might do so more than once during the adapter refresh period. This is equivalent to using D3DSWAPEFFECT_COPY in DirectX 8. IDirect3DDevice9::Present operations might be affected immediately. This option is always available for both windowed and full-screen swap chains. See remarks. |
D3DPRESENT_LINEAR_CONTENT | The content of the back buffer to be presented is in the linear color space.
|
Windowed mode supports D3DPRESENT_INTERVAL_DEFAULT, D3DPRESENT_INTERVAL_IMMEDIATE, and D3DPRESENT_INTERVAL_ONE. D3DPRESENT_INTERVAL_DEFAULT and the D3DPRESENT_INTERVAL_ONE are nearly equivalent (see the information regarding timer resolution below). They perform similarly to COPY_VSYNC in that there is only one present per frame, and they prevent tearing with beam-following. In contrast, D3DPRESENT_INTERVAL_IMMEDIATE will attempt to provide an unlimited presentation rate.
Full-screen mode supports similar usage as windowed mode by supporting D3DPRESENT_INTERVAL_IMMEDIATE regardless of the refresh rate or swap effect. D3DPRESENT_INTERVAL_DEFAULT uses the default system timer resolution whereas the D3DPRESENT_INTERVAL_ONE calls timeBeginPeriod to enhance system timer resolution. This improves the quality of vertical sync, but consumes slightly more processing time. Both parameters attempt to synchronize vertically.
Header | d3d9.h |
---|---|
Minimum operating system | Windows 98 |