Heavy graphical glitches #574
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#574
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?
Builder version
low-vram
How you built
Hookshot Builder app (Windows)
Game files given to it
A .nup
The error
Visual Studio or Build Tools version, and Windows SDK version
No response
Operating system and free space on the output drive
Windows 11 Pro 21H2, 535GB left on install drive
Before you send it
Attached all 3 logs and a video showing the glitches
hookshot_log.2.txt
hookshot_log.txt
hookshot_log.1.txt
Video
same for me, after https://github.com/NotRexed/Hookshot/releases/tag/foliage-linux-updater release all of the builds are currently like this.
Same here. Adding some information to not duplicate the issue:
Hardware: i5 11400h, RTX 3060 mobile (6gb), 16gb ram. Issue likely caused here because of intense VRAM usage even on lowest settings.
Video
hookshot_log.txt
in on a 4070 ti, i get similar glitch with the constant flashing but my ui stays perfectly intact. all i have is the entire screen flashing white, and some bushes not rendering. everything else works as it should i think
It does that for me. The latest builds have been doing this.
Happening here also - 9950x3d and 7900xtx.
previous build that did not have this issue for me was https://github.com/NotRexed/Hookshot/releases/tag/no-visual-studio
https://streamable.com/k6166p
hookshot_log - Copy.txt
Thanks, the logs, videos and screenshots help. The split screenshot (one diagonal half of the picture in another state) shows a pass reading data the game is already rewriting for the next frame. That happens when the GPU runs a frame behind the game, which fits the reports from fast PCs (the 7900 XTX log runs at a steady 60 fps). Could you try this and tell us if the flashing stops? Create a text file named hookshot_env.txt next to hookshot.exe containing this one line:
It makes each frame wait for the GPU before the next one starts (another user in #394 saw the flashing go down with it). It may cost some fps. If it fixes it for you, the next release will do it by default.
@NotRexed addition fixed the flashing. fps only dipped slightly as a result
Worked here.
fixed it for me on win 11 with Nvidia GPU.
Bisected this on an RTX 3070 8 GB (Ryzen 7 5800X), built from
mainat53af338. The flashing comes from the per-queue fences in8c28ed7(PR #523).Its commit has three switches to go back to the old behaviour, so I tested them one at a time in
hookshot_env.txt, withRX_VK_WAIT_GPUleft at its Windows default:hookshot_env.txtmain)RX_VK_PER_QUEUE_FENCES=0+RX_VK_RESUME_CAPTURE=0+RX_VK_NO_RB_REFRESH=1RX_VK_PER_QUEUE_FENCES=0+RX_VK_RESUME_CAPTURE=0RX_VK_PER_QUEUE_FENCES=0All runs also had
RX_VK_COMPUTE_WAIT=1,RX_VK_VRAM_MB=4800andRX_VK_MIRROR_MB=1024, plus local logging changes inhost/nvn_native.conly; the "constant" rows have them too.So
RX_VK_PER_QUEUE_FENCES=0alone stops it here, with the fresh capture on resume (RESUME_CAPTURE) and the readback refresh (e84d467) left on.It may be an alternative to
RX_VK_WAIT_GPU=0for people who see the flashing. I haven't measured the fps difference between the two yet. The768d930notes say the frame wait cost ~10 fps on a 4060 Ti.My build was
53af338before thelow-vramrelease, so the build in this issue may differ in other ways, but the flashing looks the same as in the videos above.Found this as I walked.
RX_VK_WAIT_GPU=0 helped.
It helped.
Can vouch, RX_VK_WAIT_GPU=0 fixed the flashing but lost some fps
Gridline shadows which appeared in some of the emulators but got fixed on Emulators.
RX_VK_PER_QUEUE_FENCES=0 works for me as well.
Things we're too bright HAHHAAH but I had proper gameplay than stutters.
RX_VK_PER_QUEUE_FENCES=0
RX_VK_RESUME_CAPTURE=0
RX_VK_NO_RB_REFRESH=1
Shortly tested only RX_VK_PER_QUEUE_FENCES=0 instead of RX_VK_WAIT_GPU=0 and ended up with 5-10 lower FPS as with RX_VK_WAIT_GPU=0
hookshot_log.txt
[hos host] hookshot fast-updates (source 4187feb5)
9070XT
Ultra bright and giant squares
White flashes, black borders on grass
AMD rx 6700xt
hookshot_log.txt
Everything went back to normal somehow after the cutscene.
issue fixed RX_VK_PER_QUEUE_FENCES=0 or RX_VK_WAIT_GPU=0
hookshot_log.txt
hookshot_log.1.txt
hookshot_log.2.txt
hookshot_log.3.txt
hookshot_log.4.txt
GPU Crashed Entirely
Performance numbers for the flicker fixes on an RTX 3070 8 GB under Windows, in case they help.
Hookshot version: v2.0.2 (
hookshot v2.0.2 (source 998ef8f9)), compared with v2.0.0 and v2.0.1 (source 512b58ec) and honest-eta (source bd9bcd71)What kind of problem: Low fps or stutter
Where in the game: Hyrule Castle Town, loaded from the autosave at the town gate
How often: Every run
Graphics card and driver: NVIDIA GeForce RTX 3070 8 GB, driver 616.56
CPU, RAM and operating system: Intel Core i5-12600K, 32 GB DDR5-5600, Windows 11 (build 26100), High performance power plan
Changes from the defaults: Insert menu: Resolution 100%, Upscaling Catmull-Rom, Sharpness 25, Frame generation Off; fullscreen at 2560x1440.
hookshot_env.txt:RX_VK_ASTC_BC_ALL=1; for these test runs alsoHOS_INPUT_LIVE,HOS_INPUT_SCRIPT_BACKGROUND=1,HOS_FULLSCREEN=1,HOS_THREAD_TIMES=5andRX_VK_SHOTS(a screenshot every 300 presents), plus the switches in each row below.Other software hooked into the game: None
Each run loads the same autosave and plays the same 4-minute route through
HOS_INPUT_LIVE: 60 s standing, 2 minutes of camera pans and short walks, 60 s standing. fps is the mean over the route, from the log'svi: present intervalslines.HOS_PIN=Presentation Thread=fff,sead::MainThread=fff(P-cores)HOS_PIN=*=fff(every game thread on the P-cores)RX_VK_WAIT_GPU=-1+ the two-threadHOS_PINRX_VK_WAIT_GPU=-1+RX_VK_PER_QUEUE_FENCES=0+ the two-threadHOS_PINRX_VK_CAPTURE_WAIT=0What it shows on this card:
RX_VK_CAPTURE_WAIT=0: submit 13.6 ms a frame against 15.1).I saw no flashes in these runs, but the area's pipelines were already cached. The flash counter (
RX_VK_FLASH=1) was on for one honest-eta run of the same route only (0 flashes). So this says nothing about whether #645 stops the flashing others see.The full logs of the v2.0.0, v2.0.1 (
RX_VK_WAIT_GPU=-1) and both v2.0.2 runs are available if you want them.The runs were scripted and the numbers collected with Claude Code.