WIP: Add frame generation GPU timings to the menu footer #1218
No reviewers
Labels
No labels
0.9
3rd party
bug
documentation
duplicate
enhancement
invalid
linux
master
question
undetermined
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
roman/OptiScaler2!1218
Loading…
Reference in a new issue
No description provided.
Delete branch "PEQHUB/feature/fg-gpu-timings"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Adds an FG GPU milliseconds counter beside the upscaler cost in the menu footer. Hovering the counter shows its backend, measured scope, average, sample count and age. Disabled or paused FG shows Off; missing or stale measurements show N/A.
The patch measures OptiScaler FSR-FG on DX12/Vulkan, DX12 reprojection, NGX-to-FFX evaluations, and Nukem's already-recording DX12 path. Combo's FSR middle-frame component is marked FG* because it is partial. Native NVIDIA DLSS-G/MFG uses fresh real-driver aiFrameTimeUs reports, with no multiplier division. Substituted NGX routes are excluded from that driver fallback.
The collectors bind timestamps to observed submission queues and completion, retain query resources through recording/allocator retirement, and use bounded history/resources. Readback adds no CPU wait for GPU completion or queue dependency waits. Collection remains independent of whether an upscaler is active.
XeFG's private profiling exports have no documented ABI, so XeFG and other opaque/unproven routes remain N/A. docs/FG-Timings.md documents stage boundaries, partial scopes, supported producer contracts and remaining limitations.
Validation:
A read-only-permissions GitHub Actions workflow builds an unsigned x64 Release package and uploads the DLL, dependencies, route documentation, source commit and DLL SHA-256. It does not publish a release.
GitHub verification: FG Timing DLL build passed CPU tests, Release compilation, provenance generation and artifact upload. The formatting check also passed.
Download the GitHub-built package for source commit
cabe240f87352f67922d5e7f1f48f8f6dcf37bed. Its downloaded DLL matches the provenance SHA-256:F50BE8BA8833015289AA4718053CD031D424E97083BEFB0604EFC22B3F7E23A1.View command line instructions
Manual merge helper
Use this merge commit message when completing the merge manually.
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.