Skip to content

Broken V-Sync on Pro-Motion display #26

@3Shain

Description

@3Shain

The problem can occur when the game doesn't choose the desired refresh rate when creating swapchain (which should effectively use "the current display refresh rate"). However, we don't know how the game gets the current refresh rate, and sometimes the value doesn't agree with what is retrieved on DXMT side. So we can't know how long exactly the SyncInterval of Present() is. For example, the game thinks the current refresh rate is 120hz while DXMT detects 60hz, then the game use SyncInterval = 2 to produce a 60 fps frame pacing, but it's interpreted as a 2*1000/60 = 33.3ms interval (= 30 fps) in DXMT.

It is even more confusing when multiple displays of different refresh rates are active.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions