Heavy graphical glitches #574

Closed
opened 2026-11-08 12:21:00 +00:00 by Stiinkerz · 24 comments
Stiinkerz commented 2026-11-08 12:21:00 +00:00 (Migrated from github.com)

Builder version

low-vram

How you built

Hookshot Builder app (Windows)

Game files given to it

A .nup

The error

Heavy graphical artifacts and glitches
Edit : 
Forgot to put hardware info
Ryzen 5 5600, RTX 3070 8GB VRAM, 32GB DDR4 RAM
6GB Preset

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

  • I'm on the newest release, or it still fails on it.
  • I searched the open issues for this error.
  • I'm not attaching game files or anything built from them.
### Builder version low-vram ### How you built Hookshot Builder app (Windows) ### Game files given to it A .nup ### The error ```text Heavy graphical artifacts and glitches Edit : Forgot to put hardware info Ryzen 5 5600, RTX 3070 8GB VRAM, 32GB DDR4 RAM 6GB Preset ``` ### 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 - [x] I'm on the newest release, or it still fails on it. - [x] I searched the open issues for this error. - [x] I'm not attaching game files or anything built from them.
Stiinkerz commented 2026-11-08 12:23:55 +00:00 (Migrated from github.com)

Attached all 3 logs and a video showing the glitches

hookshot_log.2.txt
hookshot_log.txt
hookshot_log.1.txt

Video

Attached all 3 logs and a video showing the glitches [hookshot_log.2.txt](https://github.com/user-attachments/files/34542962/hookshot_log.2.txt) [hookshot_log.txt](https://github.com/user-attachments/files/34542961/hookshot_log.txt) [hookshot_log.1.txt](https://github.com/user-attachments/files/34542963/hookshot_log.1.txt) [Video](https://youtu.be/2I20oNF9edU)
rodrigosiviero commented 2026-11-08 12:30:46 +00:00 (Migrated from github.com)

same for me, after https://github.com/NotRexed/Hookshot/releases/tag/foliage-linux-updater release all of the builds are currently like this.

same for me, after https://github.com/NotRexed/Hookshot/releases/tag/foliage-linux-updater release all of the builds are currently like this.
amaralthalesalves commented 2026-11-08 12:32:27 +00:00 (Migrated from github.com)

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

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](https://youtu.be/ikzLfM8FNOo) [hookshot_log.txt](https://github.com/user-attachments/files/34543076/hookshot_log.txt)
zigzagulouszagger commented 2026-11-08 12:33:24 +00:00 (Migrated from github.com)

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

Image Image
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 <img width="4523" height="1375" alt="Image" src="https://github.com/user-attachments/assets/79562dc7-376a-484e-90e4-0ee88a9059e1" /> <img width="5119" height="1438" alt="Image" src="https://github.com/user-attachments/assets/34615dfe-2f35-4644-9a24-dc7758aeae40" />
Saoghal commented 2026-11-08 12:34:31 +00:00 (Migrated from github.com)

It does that for me. The latest builds have been doing this.

It does that for me. The latest builds have been doing this.
TheDarkFleet commented 2026-11-08 12:47:16 +00:00 (Migrated from github.com)

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

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](https://github.com/user-attachments/files/34543421/hookshot_log.-.Copy.txt)
NotRexed commented 2026-11-08 13:04:13 +00:00 (Migrated from github.com)

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:

RX_VK_WAIT_GPU=0

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.

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: ``` RX_VK_WAIT_GPU=0 ``` 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.
TheDarkFleet commented 2026-11-08 13:11:08 +00:00 (Migrated from github.com)

@NotRexed addition fixed the flashing. fps only dipped slightly as a result

@NotRexed addition fixed the flashing. fps only dipped slightly as a result
amaralthalesalves commented 2026-11-08 13:13:43 +00:00 (Migrated from github.com)

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:

RX_VK_WAIT_GPU=0

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.

Worked here.

> 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: > > ``` > RX_VK_WAIT_GPU=0 > ``` > > It makes each frame wait for the GPU before the next one starts (another user in [#394](https://git.magicbean.dev/MagicBeanDev/Hookshot/issues/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. Worked here.
stein-one commented 2026-11-08 13:13:56 +00:00 (Migrated from github.com)

RX_VK_WAIT_GPU=0

fixed it for me on win 11 with Nvidia GPU.

> RX_VK_WAIT_GPU=0 fixed it for me on win 11 with Nvidia GPU.
Nitnek commented 2026-11-08 13:23:01 +00:00 (Migrated from github.com)

Bisected this on an RTX 3070 8 GB (Ryzen 7 5800X), built from main at 53af338. The flashing comes from the per-queue fences in 8c28ed7 (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, with RX_VK_WAIT_GPU left at its Windows default:

hookshot_env.txt Flashing
nothing (current main) constant
RX_VK_PER_QUEUE_FENCES=0 + RX_VK_RESUME_CAPTURE=0 + RX_VK_NO_RB_REFRESH=1 gone
RX_VK_PER_QUEUE_FENCES=0 + RX_VK_RESUME_CAPTURE=0 gone
RX_VK_PER_QUEUE_FENCES=0 gone
nothing again constant

All runs also had RX_VK_COMPUTE_WAIT=1, RX_VK_VRAM_MB=4800 and RX_VK_MIRROR_MB=1024, plus local logging changes in host/nvn_native.c only; the "constant" rows have them too.

So RX_VK_PER_QUEUE_FENCES=0 alone 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=0 for people who see the flashing. I haven't measured the fps difference between the two yet. The 768d930 notes say the frame wait cost ~10 fps on a 4060 Ti.

My build was 53af338 before the low-vram release, so the build in this issue may differ in other ways, but the flashing looks the same as in the videos above.

Bisected this on an RTX 3070 8 GB (Ryzen 7 5800X), built from `main` at `53af338`. The flashing comes from the per-queue fences in `8c28ed7` (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`, with `RX_VK_WAIT_GPU` left at its Windows default: | `hookshot_env.txt` | Flashing | |---|---| | nothing (current `main`) | constant | | `RX_VK_PER_QUEUE_FENCES=0` + `RX_VK_RESUME_CAPTURE=0` + `RX_VK_NO_RB_REFRESH=1` | gone | | `RX_VK_PER_QUEUE_FENCES=0` + `RX_VK_RESUME_CAPTURE=0` | gone | | `RX_VK_PER_QUEUE_FENCES=0` | gone | | nothing again | constant | All runs also had `RX_VK_COMPUTE_WAIT=1`, `RX_VK_VRAM_MB=4800` and `RX_VK_MIRROR_MB=1024`, plus local logging changes in `host/nvn_native.c` only; the "constant" rows have them too. So `RX_VK_PER_QUEUE_FENCES=0` alone 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=0` for people who see the flashing. I haven't measured the fps difference between the two yet. The `768d930` notes say the frame wait cost ~10 fps on a 4060 Ti. My build was `53af338` before the `low-vram` release, so the build in this issue may differ in other ways, but the flashing looks the same as in the videos above.
Layfuboxu007 commented 2026-11-08 13:23:36 +00:00 (Migrated from github.com)

Found this as I walked.

Image

RX_VK_WAIT_GPU=0 helped.

Found this as I walked. <img width="707" height="719" alt="Image" src="https://github.com/user-attachments/assets/f5c32830-29e0-4ba9-82c5-d748dd43b79f" /> RX_VK_WAIT_GPU=0 helped.
Saoghal commented 2026-11-08 13:24:23 +00:00 (Migrated from github.com)

RX_VK_WAIT_GPU=0

It helped.

> RX_VK_WAIT_GPU=0 It helped.
Stiinkerz commented 2026-11-08 13:25:12 +00:00 (Migrated from github.com)

Can vouch, RX_VK_WAIT_GPU=0 fixed the flashing but lost some fps

Can vouch, RX_VK_WAIT_GPU=0 fixed the flashing but lost some fps
Layfuboxu007 commented 2026-11-08 13:27:12 +00:00 (Migrated from github.com)
Image

Gridline shadows which appeared in some of the emulators but got fixed on Emulators.

<img width="697" height="314" alt="Image" src="https://github.com/user-attachments/assets/3a6affca-a579-491c-8522-546a4fcf97c5" /> Gridline shadows which appeared in some of the emulators but got fixed on Emulators.
kroongh commented 2026-11-08 13:31:50 +00:00 (Migrated from github.com)

Bisected this on an RTX 3070 8 GB (Ryzen 7 5800X), built from main at 53af338. The flashing comes from the per-queue fences in 8c28ed7 (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, with RX_VK_WAIT_GPU left at its Windows default:

hookshot_env.txt Flashing
nothing (current main) constant
RX_VK_PER_QUEUE_FENCES=0 + RX_VK_RESUME_CAPTURE=0 + RX_VK_NO_RB_REFRESH=1 gone
RX_VK_PER_QUEUE_FENCES=0 + RX_VK_RESUME_CAPTURE=0 gone
RX_VK_PER_QUEUE_FENCES=0 gone
nothing again constant
All runs also had RX_VK_COMPUTE_WAIT=1, RX_VK_VRAM_MB=4800 and RX_VK_MIRROR_MB=1024, plus local logging changes in host/nvn_native.c only; the "constant" rows have them too.

So RX_VK_PER_QUEUE_FENCES=0 alone 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=0 for people who see the flashing. I haven't measured the fps difference between the two yet. The 768d930 notes say the frame wait cost ~10 fps on a 4060 Ti.

My build was 53af338 before the low-vram release, so the build in this issue may differ in other ways, but the flashing looks the same as in the videos above.

RX_VK_PER_QUEUE_FENCES=0 works for me as well.

> Bisected this on an RTX 3070 8 GB (Ryzen 7 5800X), built from `main` at `53af338`. The flashing comes from the per-queue fences in `8c28ed7` (PR [#523](https://git.magicbean.dev/MagicBeanDev/Hookshot/pulls/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`, with `RX_VK_WAIT_GPU` left at its Windows default: > > `hookshot_env.txt` Flashing > nothing (current `main`) constant > `RX_VK_PER_QUEUE_FENCES=0` + `RX_VK_RESUME_CAPTURE=0` + `RX_VK_NO_RB_REFRESH=1` gone > `RX_VK_PER_QUEUE_FENCES=0` + `RX_VK_RESUME_CAPTURE=0` gone > `RX_VK_PER_QUEUE_FENCES=0` gone > nothing again constant > All runs also had `RX_VK_COMPUTE_WAIT=1`, `RX_VK_VRAM_MB=4800` and `RX_VK_MIRROR_MB=1024`, plus local logging changes in `host/nvn_native.c` only; the "constant" rows have them too. > > So `RX_VK_PER_QUEUE_FENCES=0` alone 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=0` for people who see the flashing. I haven't measured the fps difference between the two yet. The `768d930` notes say the frame wait cost ~10 fps on a 4060 Ti. > > My build was `53af338` before the `low-vram` release, so the build in this issue may differ in other ways, but the flashing looks the same as in the videos above. RX_VK_PER_QUEUE_FENCES=0 works for me as well.
Layfuboxu007 commented 2026-11-08 13:32:35 +00:00 (Migrated from github.com)
Image

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

<img width="1784" height="1002" alt="Image" src="https://github.com/user-attachments/assets/c36a1fa2-774e-49b3-81e3-b919a34bf839" /> 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
stein-one commented 2026-11-08 13:33:27 +00:00 (Migrated from github.com)

Bisected this on an RTX 3070 8 GB (Ryzen 7 5800X), built from main at 53af338. The flashing comes from the per-queue fences in 8c28ed7 (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, with RX_VK_WAIT_GPU left at its Windows default:
hookshot_env.txt Flashing
nothing (current main) constant
RX_VK_PER_QUEUE_FENCES=0 + RX_VK_RESUME_CAPTURE=0 + RX_VK_NO_RB_REFRESH=1 gone
RX_VK_PER_QUEUE_FENCES=0 + RX_VK_RESUME_CAPTURE=0 gone
RX_VK_PER_QUEUE_FENCES=0 gone
nothing again constant

All runs also had RX_VK_COMPUTE_WAIT=1, RX_VK_VRAM_MB=4800 and RX_VK_MIRROR_MB=1024, plus local logging changes in host/nvn_native.c only; the "constant" rows have them too.

So RX_VK_PER_QUEUE_FENCES=0 alone 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=0 for people who see the flashing. I haven't measured the fps difference between the two yet. The 768d930 notes say the frame wait cost ~10 fps on a 4060 Ti.

My build was 53af338 before the low-vram release, so the build in this issue may differ in other ways, but the flashing looks the same as in the videos above.

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

> Bisected this on an RTX 3070 8 GB (Ryzen 7 5800X), built from `main` at `53af338`. The flashing comes from the per-queue fences in `8c28ed7` (PR [#523](https://git.magicbean.dev/MagicBeanDev/Hookshot/pulls/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`, with `RX_VK_WAIT_GPU` left at its Windows default: > `hookshot_env.txt` Flashing > nothing (current `main`) constant > `RX_VK_PER_QUEUE_FENCES=0` + `RX_VK_RESUME_CAPTURE=0` + `RX_VK_NO_RB_REFRESH=1` gone > `RX_VK_PER_QUEUE_FENCES=0` + `RX_VK_RESUME_CAPTURE=0` gone > `RX_VK_PER_QUEUE_FENCES=0` gone > nothing again constant > > All runs also had `RX_VK_COMPUTE_WAIT=1`, `RX_VK_VRAM_MB=4800` and `RX_VK_MIRROR_MB=1024`, plus local logging changes in `host/nvn_native.c` only; the "constant" rows have them too. > > So `RX_VK_PER_QUEUE_FENCES=0` alone 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=0` for people who see the flashing. I haven't measured the fps difference between the two yet. The `768d930` notes say the frame wait cost ~10 fps on a 4060 Ti. > > My build was `53af338` before the `low-vram` release, so the build in this issue may differ in other ways, but the flashing looks the same as in the videos above. 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
aatolSP commented 2026-11-08 13:41:30 +00:00 (Migrated from github.com)

hookshot_log.txt

[hos host] hookshot fast-updates (source 4187feb5)
9070XT
Ultra bright and giant squares

Image
[hookshot_log.txt](https://github.com/user-attachments/files/34544440/hookshot_log.txt) [hos host] hookshot fast-updates (source 4187feb5) 9070XT Ultra bright and giant squares <img width="1920" height="1080" alt="Image" src="https://github.com/user-attachments/assets/489ca7f9-ba50-4a8b-a7c3-9a770ec8fe32" />
mungem-dot commented 2026-11-08 13:44:26 +00:00 (Migrated from github.com)
Image

White flashes, black borders on grass

AMD rx 6700xt

hookshot_log.txt

<img width="1598" height="932" alt="Image" src="https://github.com/user-attachments/assets/c4a1377f-4ca1-4638-bb91-bd0125fefe2b" /> White flashes, black borders on grass AMD rx 6700xt [hookshot_log.txt](https://github.com/user-attachments/files/34544479/hookshot_log.txt)
Layfuboxu007 commented 2026-11-08 13:53:09 +00:00 (Migrated from github.com)
Image 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

Image

Everything went back to normal somehow after the cutscene.

> <img alt="Image" width="1784" height="1002" src="https://private-user-images.githubusercontent.com/151146132/698935116-c36a1fa2-774e-49b3-81e3-b919a34bf839.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3OTQxNDYwNTQsIm5iZiI6MTc5NDE0NTc1NCwicGF0aCI6Ii8xNTExNDYxMzIvNjk4OTM1MTE2LWMzNmExZmEyLTc3NGUtNDliMy04MWUzLWI5MTlhMzRiZjgzOS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYxMTA4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MTEwOFQxMzQ5MTRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0zNDNjZmU1NTdkNTllNGFiMTE0NmM0ZjNmOTIxMDlmNWY4YzQxNDc5ZDI5OGQxZjJhY2YzNDY0NGJlMmZlYzg0JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.e2fc0TnixKLDmHGo1p4Si78KTGPCc8hu_mYbeBYOKug"> > 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 <img width="1919" height="1079" alt="Image" src="https://github.com/user-attachments/assets/0119279e-aa39-49f5-821a-ae63311e68d1" /> Everything went back to normal somehow after the cutscene.
Stiinkerz commented 2026-11-08 14:45:17 +00:00 (Migrated from github.com)

issue fixed RX_VK_PER_QUEUE_FENCES=0 or RX_VK_WAIT_GPU=0

issue fixed RX_VK_PER_QUEUE_FENCES=0 or RX_VK_WAIT_GPU=0
Layfuboxu007 commented 2026-11-08 14:47:11 +00:00 (Migrated from github.com)
[hookshot_log.txt](https://github.com/user-attachments/files/34545458/hookshot_log.txt) [hookshot_log.1.txt](https://github.com/user-attachments/files/34545459/hookshot_log.1.txt) [hookshot_log.2.txt](https://github.com/user-attachments/files/34545460/hookshot_log.2.txt) [hookshot_log.3.txt](https://github.com/user-attachments/files/34545456/hookshot_log.3.txt) [hookshot_log.4.txt](https://github.com/user-attachments/files/34545457/hookshot_log.4.txt) GPU Crashed Entirely
Locksmitch commented 2026-11-08 17:35:57 +00:00 (Migrated from github.com)

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 also HOS_INPUT_LIVE, HOS_INPUT_SCRIPT_BACKGROUND=1, HOS_FULLSCREEN=1, HOS_THREAD_TIMES=5 and RX_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's vi: present intervals lines.

Build Switches fps frames at 60 or better
honest-eta ~51 39%
v2.0.0 ~39 0%
v2.0.0 HOS_PIN=Presentation Thread=fff,sead::MainThread=fff (P-cores) ~40 1%
v2.0.1 HOS_PIN=*=fff (every game thread on the P-cores) ~40 2%
v2.0.1 RX_VK_WAIT_GPU=-1 + the two-thread HOS_PIN ~48 27%
v2.0.1 RX_VK_WAIT_GPU=-1 + RX_VK_PER_QUEUE_FENCES=0 + the two-thread HOS_PIN ~32 1%
v2.0.2 ~44 11%
v2.0.2 RX_VK_CAPTURE_WAIT=0 ~47 30%

What it shows on this card:

  • The v2.0.0/v2.0.1 per-frame GPU wait cost about 8 fps here (~20%), against the ~1.5 fps in the release notes. With it, present took 3.5-6 ms a frame on the Presentation Thread and the GPU was ~60% busy.
  • v2.0.2 gets most of that back: #645's capture wait costs about 3 fps in this area (RX_VK_CAPTURE_WAIT=0: submit 13.6 ms a frame against 15.1).
  • Pinning threads to the P-cores made no difference: Windows already keeps the busy threads there.
  • Turning the per-queue fences off as well (what stopped the flashing in the RTX 3070 bisect above) was the slowest setup here.
  • The first start after the v2.0.2 update ran at ~36 fps, with GPU time ~15.7 ms a frame against ~11.4 on the next start. I take that to be the shader caches being rebuilt; the table uses the second start.
  • Same-settings runs varied by about ±1 fps.

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.

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 also `HOS_INPUT_LIVE`, `HOS_INPUT_SCRIPT_BACKGROUND=1`, `HOS_FULLSCREEN=1`, `HOS_THREAD_TIMES=5` and `RX_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's `vi: present intervals` lines. | Build | Switches | fps | frames at 60 or better | |---|---|---|---| | honest-eta | | ~51 | 39% | | v2.0.0 | | ~39 | 0% | | v2.0.0 | `HOS_PIN=Presentation Thread=fff,sead::MainThread=fff` (P-cores) | ~40 | 1% | | v2.0.1 | `HOS_PIN=*=fff` (every game thread on the P-cores) | ~40 | 2% | | v2.0.1 | `RX_VK_WAIT_GPU=-1` + the two-thread `HOS_PIN` | ~48 | 27% | | v2.0.1 | `RX_VK_WAIT_GPU=-1` + `RX_VK_PER_QUEUE_FENCES=0` + the two-thread `HOS_PIN` | ~32 | 1% | | **v2.0.2** | | **~44** | 11% | | v2.0.2 | `RX_VK_CAPTURE_WAIT=0` | ~47 | 30% | What it shows on this card: - The v2.0.0/v2.0.1 per-frame GPU wait cost about 8 fps here (~20%), against the ~1.5 fps in the release notes. With it, present took 3.5-6 ms a frame on the Presentation Thread and the GPU was ~60% busy. - v2.0.2 gets most of that back: #645's capture wait costs about 3 fps in this area (`RX_VK_CAPTURE_WAIT=0`: submit 13.6 ms a frame against 15.1). - Pinning threads to the P-cores made no difference: Windows already keeps the busy threads there. - Turning the per-queue fences off as well (what stopped the flashing in the RTX 3070 bisect above) was the slowest setup here. - The first start after the v2.0.2 update ran at ~36 fps, with GPU time ~15.7 ms a frame against ~11.4 on the next start. I take that to be the shader caches being rebuilt; the table uses the second start. - Same-settings runs varied by about ±1 fps. 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._
Commenting is not possible because the repository is archived.
No milestone
No assignees
1 participant
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
MagicBeanDev/Hookshot#574
No description provided.