Skip to content

Fix vsync-off support for direct3d11 #13767

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

ceski-1
Copy link
Contributor

@ceski-1 ceski-1 commented Aug 19, 2025

This PR fixes vsync-off support for direct3d11 by adding the appropriate swap chain and present flags, similar to direct3d12.

Description

There are details about the flags here, under the DXGI_PRESENT_ALLOW_TEARING section. These flags are also a requirement for VRR displays.

This is easy to check by running testsprite with an overlay like PresentMon, and then observing the framerate. Before this PR, the framerate was limited to the monitor's refresh rate. This resulted in significant input latency which is now reduced in vsync-off / high framerate conditions (measured with a hardware latency analyzer).

The CheckFeatureSupport method wasn't added until dxgi1_5.h, so an additional check is made for this header, falling back to the previous vsync-off behavior if only dxgi1_4.h is available.

Existing Issue(s)

None.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant