RADV (Radeon 8060S / Linux): each vkQueueSubmit2 costs ~2 ms on the replay thread, which limits heavy scenes to ~42 fps #789
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#789
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
The idea
Follow-up to #413 (the batched submits). Thanks for v2.0.2: the capture wait (
ea78039) removed the per-frame present wait without the flashes. Here are measurements on v2.0.2 (5c9b0bf).System: GPD WIN 5, Ryzen AI Max+ 395 / Radeon 8060S (RDNA 3.5), Bazzite, Mesa/RADV 26.2.6, 80 W,
power_dpm_force_performance_level=high.env:
RX_VK_IMPORT_CHUNK_MB=4,RX_VK_BATCH_POLL_US=2000,RX_VK_MESH_OPT=1,RX_VK_WAIT_GPU=1What limits it
The Presentation Thread. In heavy Kokiri Forest scenes it runs ~42 fps, with ~11 ms of GPU time and ~22 ms per frame. Of that frame:
queue submit: ~2.6–3 batched flushes a frame (wait ≈1.7, present ≈1, poll ≈0.3), each ~2 ms in vkQueueSubmit2.Resolution doesn't change the fps.
What we tried
RX_VK_BATCH_MAX=8(mid-frame flushes) on honest-eta: the GPU starts earlier (present wait 11 → 6.6 ms), but 4 flushes × 2 ms cost more. 38.6 vs 41.1 fps.RX_VK_MIRROR=1: 38 fps (66 MB written back a frame on an APU).HOOKSHOT_OCCLUSION_OFF=1,CHUNK_MB=8,BATCH_MAX=64: within noise.RX_VK_WAIT_GPU=1, v2.0.2 still shows occasional flicker on this machine. With it set to 1 the flicker is gone, at no measurable fps cost.Questions
RX_VK_WAIT_GPU=1be the default on Linux/RADV, since the capture wait doesn't cover every page there?Logs for each run are available on request.
Anything else
Investigation, measurements and the experimental patch were done with Claude (Anthropic's AI assistant).
Tracked in #1000, follow there. That issue collects every report of Linux / Steam Deck GPU hangs, crashes, low fps and build failures, and this one is linked from it with its GPU, version and log details. If it still happens on v2.0.6 (https://github.com/NotRexed/Hookshot/releases/tag/v2.0.6; Update next to Play in the launcher), please add a comment there with your
hookshot_log.txt.