Shader stage libraries (RX_VK_GPL) on by default on NVIDIA: about 7x less waiting on a first play #1271
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#1271
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
Turn the shader stage libraries (RX_VK_GPL) on by default on NVIDIA. They are off for now ("off until the driver step is safe: linked cold, the libraries stall the draw"), but on an RTX 4070 Ti SUPER a first play with them on waited about 7 times less for pipelines.
Setup: Windows 11, RTX 4070 Ti SUPER (driver 621.14), Ryzen 7 9800X3D, 32 GB. Hookshot built from
8b2e1d3and run headless, each run in a fresh folder:--prepare-shaders, then the same scripted 19-minute route with timed input (child Link teleported through Hyrule Field, Kakariko, Market, Lost Woods, Death Mountain Trail, Goron City, Zora's River, Zora's Domain, Gerudo Valley and Kokiri Forest). The driver's shader cache went to an empty folder per run (__GL_SHADER_DISK_CACHE_PATH). The numbers are the 120-frame "waits for shaders or pipelines" and "draws left out" log lines, added up over the run.The worst 120-frame window went from 22.4 s (arriving in the Market) to 7.4 s (arriving in Kakariko). With #1129 on top, GPL on, one run: 8.2 s of waiting in all.
The cost is the longer first prepare, 16 minutes instead of 4 here (two prepares side by side in both cases). I have not tried AMD or Intel, so this says nothing about the stall on other drivers. Would GPL on by default for NVIDIA be welcome? I can send it as a PR.
Thanks for the measured A/B: 574 pipeline waits (88.9 s) down to about 30 (11-12 s) with RX_VK_GPL=1 on an RTX 4070 Ti Super, at the cost of a 16-minute first prepare instead of 4. Linking to the stutter tracker #995 for the maintainer to weigh.
Thanks for the report. Reports of the same problem are now collected in #995, which lists this one with your details and links back here, so one fix closes them together and the open list stays readable. Follow #995 for the fix, and add new details there (or here). If this turns out to be a separate problem it will be reopened.