Game: Gsync doesnt trigger at all or only sporadically #318
Labels
No labels
area/accessibility
area/audio
area/input
area/install
area/menu
area/renderer
area/saves
area/upscaling
beanstalk: approved @ 1697603
beanstalk: approved @ 2c5a62e
beanstalk: approved @ 4fd82b7
beanstalk: approved @ 64d6d09
beanstalk: approved @ 6f91fae
beanstalk: approved @ 70a78f9
beanstalk: approved @ 8015c9a
beanstalk: approved @ 8d361dc
beanstalk: approved @ 9d8356e
beanstalk: approved @ abf2227
beanstalk: approved @ d82f202
beanstalk: approved @ e5f1e40
beanstalk: approved @ ee8ab5f
ci: approved
good first issue
gpu/amd
gpu/igpu
gpu/intel
gpu/nvidia
help wanted
kind
bug
kind
chore
kind
docs
kind
feature
kind
performance
kind
question
needs measurements
platform/linux
platform/macos
platform/steam-deck
platform/windows
preview
priority
critical
priority
high
priority
low
regression
status
blocked
status
confirmed
status
duplicate
status
invalid
status
needs-info
status
wontfix
testing wanted
ci: approved
No milestone
No project
No assignees
3 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
MagicBeanDev/Longshot#318
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?
Longshot version
v3.0.0 rc3
Channel
Release candidate
What kind of problem
Low fps or stutter
What happened
It seems VRR sometimes has a problem recognizing Hookshot and Longshot
For example when I first tried Hookshot VRR didnt work so I spamed Fullscreen and Windowed and Vsync On and Off until it triggered and then it always worked.
Then I switched to longshot and 1:1 the same problem so again ON OFF ON OFF then it worked.
Then I updated longshot which deleted all my configs and savegames because of portable and I had to do the same again.
Now while testing DLSS FG around i found this issue in a different form but this time only partially because it just sporadically stops working in the middle of gaming therefor it didnt felt quite smooth but also not completly awful since its still working mostly.
I attached a video.
In that Video you can see how my Hz sometimes is 160Hz which basically means Gsync stoped or I excatly hit 80FPS.
I dont hit 80 and while playing the game it feels alright but not super smooth like im used to I can basically see those short moments where gsync stops working.
Then you see me doing the Vsync/Fullscreen Spam Workaround.
Then you see how it never goes 160Hz again because now it constantly works and you can totally feel that too.
This is very hard to showcase and test and prove but theres is definitly a problem with this.
Im no developer I cant tell what the source of it is but maybe you guys have an idea if its because of the Fullscreen Method of Vulkan or Vsync is somewhat buggy idk.
I think a lot of "perceived smoothness" issues some people have could stem from this VRR issue.
EDIT: It seems putting "Vulkan/OpenGL Present Method" to "Prefer layered on DXGI Swapchain" in Nvidia APP fixes this issue completly.
This is funny because the exact same issue was in Ryujinx Emulator and ShadPS4 and needed that same workaround.
But I know 100% that Ryujinx fixed it from their side and I hope you can too.
Nicnl from Discord brought this Workaround to my attention again because he had the same problem.
Where in the game
Everwhere
How often
Every time
Graphics card and driver version
RTX 5070 NVIDIA 617.42
CPU, RAM and operating system
5700X3D 32GB Win 11
Changes from the defaults
No response
longshot_log.txt
longshot_log
Screenshots or video
No response
Before you send it
Likely cause found, on an RTX 5090 + LG UltraGear 5120x2160 @ 165 Hz (G-Sync), Windows 11, Longshot main
514591a3: G-Sync engages whenever the swapchain is FIFO, and never with mailbox or immediate. V-Sync Auto without frame generation picks mailbox (gpu/vk/vk_main.cpp, the present-mode choice), so it gets no VRR.The user watched the monitor's own refresh readout while the game stood in Kokiri, ~90 s per arm, frame generation off unless noted:
RX_VK_FIFO=1(V-Sync On)RX_VK_FIFO=1RX_VK_IMMEDIATE=1(V-Sync Off)An earlier PresentMon capture agrees. The non-frame-generation runs (mailbox) were all "Composed: Copy with GPU GDI", with displayed intervals on the fixed 6.06 ms grid. The DLSS-G runs were Independent Flip with variable intervals.
fg_fifo).VK_EXT_full_screen_exclusivearm.Follow-up with the measured runs and the exclusive-fullscreen arms from my comment above. G-Sync engages exactly when the swapchain is FIFO. Exclusive fullscreen adds nothing, and FIFO costs no fps here. So the fix is for V-Sync Auto to pick FIFO on NVIDIA under Windows.
Setup:
cf605c85, plus an opt-inRX_VK_FSE=1switch forVK_EXT_full_screen_exclusive. Without the switch it is main.--v2_metrics) recorded every run. The user read the monitor's own refresh readout for the arms marked so.RX_VK_FIFO=1(V-Sync On)RX_VK_FSE=1, AutoVK_ERROR_INITIALIZATION_FAILED), then an ordinary swapchainRX_VK_FSE=1+RX_VK_FIFO=1RX_VK_FSE=1+RX_VK_IMMEDIATE=1RX_VK_IMMEDIATE=1(V-Sync Off)RX_VK_FIFO=1* For Bw, the monitor was read in the earlier watch session at the same window size, not during these runs. PresentMon's timing for Bw looks like a fixed refresh (sync interval 1, shown times on the grid), yet the monitor followed the fps. So present timing alone doesn't settle VRR. The monitor's readout and the present mode do.
What it shows:
Proposed fix: V-Sync Auto picks FIFO on NVIDIA under Windows, as it already does under DLSS frame generation (
fg_fifo). Until then, Insert > V-Sync: On is the workaround, with no driver settings changed.Not covered:
"Proposed fix: V-Sync Auto picks FIFO on NVIDIA under Windows, as it already does under DLSS frame generation (fg_fifo). Until then, Insert > V-Sync: On is the workaround, with no driver settings changed."
But can you also fix Vsync Off to Fifo or whatever it needs to work good with VRR ?
I never use Vsync anywhere I just cap my Framerate 4FPS under my max refresh rate for every game and let VRR run constantly.
I think a lot of people dont use Vsync either and would put that option to OFF then wondering why their game doesnt feel so smooth.
Also I just tested Vsync ON and restarted the game
I still have this issue that VRR is only working sporadically.
I feel like everytime I hit 60FPS ingame it turns off or something im not sure really.
From Thefailsafe on Discord:
Thefailsafe reports a related VRR/G-Sync issue with frame generation x2 and a 100 FPS cap on a 240 Hz display: refresh jumps back to 240 Hz and fluctuates instead of tracking. They say async, Reflex, and Longshot's in-menu cap do not sync correctly; RTSS frame limiter set to “front edge sync” works. Attached screenshot shows RTSS settings with its framerate limiter enabled and set to front edge sync. Hardware, driver, Longshot version/channel, OS, and Longshot log not provided.
From Thefailsafe on Discord:
Thefailsafe followed up that RTSS's “front edge sync” is not a reliable workaround: it appeared to work temporarily, but the same VRR/refresh-rate issue returned. Screenshot of RTSS settings was provided; it shows the limiter enabled and set to “front edge sync.”
From Thefailsafe on Discord:
Additional diagnostics: RTX 5090, NVIDIA driver 621.24; Longshot nightly-187-9e6f231d on Windows (log shows 3840×2160 output). With DLSS frame generation x2 and a 100 FPS cap on a 240 Hz display, VRR refresh tracking fluctuates and jumps to 240 Hz. RTSS “front edge sync” initially seemed to help but the issue returned. The attached Discord longshot_log.txt was reviewed.