microsoft / DirectXTK

The DirectX Tool Kit (aka DirectXTK) is a collection of helper classes for writing DirectX 11.x code in C++

Home Page:https://walbourn.github.io/directxtk/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Hard fps lock to refresh rate value in fullscreen games - Win11 22H2 (DX11)

dougg0k opened this issue · comments

Hi,
I'm not sure this is the right place to report, but I do know that what I am going to say is related to DX11 on Windows 11.

In Win11, there is a bug where FPS are locked in fullscreen to your refresh rate and there is nothing you can do, other than activating technologies like GSync/FreeSync, to be able to have unlocked fps.

Though that breaks the point since GSync benefits the most in having fps locked up to your refresh rate. But regardless, there should not be a hard fps locked from Windows.

More information: https://us.forums.blizzard.com/en/overwatch/t/fps-locked-to-refresh-rate-value-on-fullscreen-in-win11/827123

I have tested two DX12, one MP and other SP, the problem did not happen. Overwatch 2 is DX11 only. By other urls you may find in the url above, Black Desert is DX11 only. So it happens in both of these games.

I also tested another MP game in DX11 (Apex Legends) and the problem does not happen there.

It seems to be a problem with certain DX11 games only.

If this is not the right place, you can close, and if you can point me to where is the right place to report.

Compat issues are best addressed to the original developer/publisher, but you can also file an issue with the Feedabck Hub.

Note that all DirectX 12 applications use a newer style of flip and have "Full Screen Optimizations" in place. This means they are not actually using old-school Full Screen Exclusive. This is referred to as "emulated Full Screen Exclusive" (eFSE). This is on for DirectX 9 application as well, but it only enabled on a case-by-case basis with DX11. It's quite possible that there's some bug in the game that requires a fix from the developer to properly enable the modern flip swapchain mode and the codepaths related to "variable refresh rate displays".

https://learn.microsoft.com/en-us/windows/win32/direct3ddxgi/variable-refresh-rate-displays

Thanks