Skip to content
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

Latency tracker #4623

Closed
wants to merge 17 commits into from
Closed

Latency tracker #4623

wants to merge 17 commits into from

Conversation

doitsujin
Copy link
Owner

@doitsujin doitsujin commented Jan 17, 2025

This isn't Reflex integration yet, but sort of serves as groundwork for it.

NV_low_latency2 requires us to pass frame IDs to queue submissions, and some markers will need to be submitted at different times due to internal threading, so we kind of need to pass a bunch of state and internal markers around anyway, which is already 90% of the work needed to support latency sleep in many (older) games.

This PR adds this on top of NV_low_latency2 as well as a homebrew latency sleep solution that's based on our internal timings. This can be enabled by setting dxvk.latencySleep = True in the config file.

The next step would be to add another implementation that consumes markers from the application (and handles all sorts of potential bugs) and implement the ID3DLowLatencyDevice interface for dxvk-nvapi.

Obviously not tested very well, especially D3D9 is a mess.

@doitsujin doitsujin force-pushed the latency-tracker branch 5 times, most recently from 958b610 to 7127bbd Compare January 18, 2025 13:14
@doitsujin doitsujin changed the title WIP: Latency tracker Latency tracker Jan 18, 2025
@doitsujin doitsujin marked this pull request as ready for review January 18, 2025 13:14
@doitsujin doitsujin force-pushed the latency-tracker branch 10 times, most recently from c894370 to 8bbb6f4 Compare January 19, 2025 16:52
@doitsujin
Copy link
Owner Author

Closing, will make follow-up PR with full Reflex support since I mostly have that working locally now.

@doitsujin doitsujin closed this Jan 20, 2025
@doitsujin doitsujin mentioned this pull request Jan 21, 2025
@doitsujin doitsujin deleted the latency-tracker branch January 21, 2025 23:40
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