使用 DirectX11 绘制静态全屏图像

Drawing static full screen images using DirectX11

我的问题如下。在我见过的大多数教程中,有一个 DirectX11 的设置部分,您可以在其中执行如下操作:

// Set the refresh rate of the back buffer.
if(m_vsync_enabled)
{
    swapChainDesc.BufferDesc.RefreshRate.Numerator = numerator;
    swapChainDesc.BufferDesc.RefreshRate.Denominator = denominator;
}
else
{
    swapChainDesc.BufferDesc.RefreshRate.Numerator = 0;
    swapChainDesc.BufferDesc.RefreshRate.Denominator = 1;
}

将刷新设置为尽可能快或与监视器同步。

但是在我需要的应用程序中,我只想在我告诉系统刷新屏幕时刷新屏幕。有什么办法吗?

这些数字与实际刷新无关,实际刷新发生在您调用 Present 时。您可以每秒调用一次,屏幕只会刷新一次。