vk: capture copies: four helpers from 12 CPU threads #876
No reviewers
Labels
No labels
accessibility
autorelease: pending
autorelease: tagged
bug
dependencies
documentation
duplicate
enhancement
github_actions
good first issue
help wanted
invalid
question
testing wanted
wontfix
No milestone
No assignees
1 participant
Due date
No due date set.
Dependencies
No dependencies set
Reference
MagicBeanDev/Hookshot!876
Loading…
Reference in a new issue
No description provided.
Delete branch "perf/capture-helpers-by-cores"
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?
A capture's page copies run on the game's main thread, and it blocks until they finish. On machines with 12 or more CPU threads, this change uses four copy helpers instead of two. Below 12 threads nothing changes, and
RX_VK_CAPTURE_THREADSandRX_VK_LOW_SPECstill override it.Sampling all threads every 2 ms at a ~2150-draw scene, the copies are about 6% of the main thread's time.
Measurements
Ryzen 7 7800X3D (16 threads), RX 7800 XT, RADV, Fedora 44, 2560x1440. Game at the same ~2150-draw spot in each run (40-45 s windows):
RX_VK_CAPTURE_THREADSThat is about +1.4 fps (3%). Run-to-run spread is about as large as the gain, so treat it as a small improvement. No big flashes in any run, by our frame-difference check.
What was and wasn't tested
RX_VK_CAPTURE_THREADS=4setting on5c9b0bfplus #448 and #689.🤖 Generated with Claude Code