Does Windows 8.1 support the DXGI flip model? I.e. DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL
and DXGI_SWAP_EFFECT_FLIP_DISCARD
? I am seeing conflicting information online.
Link1 and link2 indicate that at least DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL
is supported by Windows 8, yet the common way to test for DXGI flip model support is:
ComPtr<IDXGIFactory4> factory4;
if (FAILED(m_dxgiFactory.As(&factory4)))
{
m_options &= ~c_FlipPresent;
}
which seems to fail on Windows 8.1. I'm using Visual Studio 2019 with Windows SDK version 10.0.14393.0. Here's my GPU info:
As a quick sanity check, I've run the SimpleInstancingPC example from Xbox-ATG-Samples / DirectXTK. It states:
INFO: Flip swap effects not supported
Direct3D Adapter (0): VID:10DE, PID:1F82 - NVIDIA GeForce GTX 1650
If DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL
is in fact supported by Windows 8.1 but DXGI_SWAP_EFFECT_FLIP_DISCARD
is not, what is the correct way to check for this functionality, given that the IDXGIFactory4
approach fails?
The optimization work that is discussed in the "Use the flip model" blog post is only in Windows 10, so it's best to stick with legacy blit and treat Windows 8.x and Windows 7 the same.
For Windows 8.x, the main and only real use for
DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL
is Windows Store apps.UPDATE: See this blog post series as well for more guidance on swapchains.