Vulkan issue in 240hz screen. [Solved]

Games have stuttery frame rates on the 240hz monitor, something that can be fixed with GL and “Sync to exact screen frame rate” ON. But it doesn’t do anything in Vulkan.

(I assume you meant “Sync to exact content frame rate”.)

Works fine for me with Vulkan. Are you sure VRR (gsync or freesync) is enabled? Also, make sure the other settings are correct as well:

https://www.libretro.com/index.php/upcoming-retroarch-1-7-4-sync-to-exact-content-frame-rate-ideal-for-g-syncfreesync-users/

I didn’t change anything. I had GL and it worked fine, the only thing i changed was Vulkan. Sync to exact frame rate is still ON.

Also, for some reason, Gunforce 2 on MAME runs at half frame rate even if the counter shows 60fps and 100% speed. But the game internally runs at 30fps instead of 60. I can immediately tell the difference, when i change to GL it’s buttery smooth. Not sure if it happens with other games, a couple others i tested seemed OK but what are the chances the one game i wanted to play is the only one that has this issue?

Make sure you have the other settings mentioned in the article I linked set correctly. Including the MAME option.

Furthermore, is RetroArch running in exclussive fullscreen? What GPU are you using? If you’re using nvidia, enable the g-sync indicator in the nvidia control panel to see if g-sync is actually active:

If you don’t use g-sync or freesync, then you should probably disable the “sync to exact content framerate” option.

I have a Nvidia GTX 1060 but the screen is only freesync so i don’t have the Gsync option.

Changing from exclusive to windowed doesn’t make a difference either.

Nevermind that though. Like i said, it is working fine with GL. All games run smoothly at 60fps with no stutters when i turn the “Sync to exact screen frame rate” ON. I can see the difference with it OFF so it’s working. It doesn’t work when i change to Vulkan though.

Edit: I tried Donkey Kong Country on SNES9X. it runs at half frame rate again with Vulkan but also 100% speed and 60fps on the counter.

Edit 2: Set my screen at 60hz native. These games still run at half frame rate with Vulkan… : /

This option is there for VRR modes. If you don’t use g-sync, it’s best to disable it.

However, nvidia now supports gsync even with freesync monitors that have been verified in the latest nvidia driver. But you can force it with most non-verified monitors as well. G-sync with freesync monitors is called “g-sync compatible”. See if you can force it on in the nvidia panel:

You need to connect the monitor with a DisplayPort cable. HDMI will not work. How well g-sync will work with unverified freesync monitors is another matter though. It might work perfectly fine, or it might result in flicker or stutter. Doesn’t hurt to try though.

Ok i deleted my config file and made a fresh one. This seems to have fixed the 30fps problem.

Not sure about the “Sync to exact screen frame rate”. I still think games are not as smooth with Vulkan. With GL they are smooth without all those options you mentioned. So i assume Vulkan needs other requirements for this option to work?

I don’t even have a display port cable :frowning: But it doesn’t matter since GL is working fine. I’ll stick to that then, thanks.

Why do you want to enable this option to begin with? Without VRR, you’re better off not using it so that the emulator will reclock the game to run at a more appropriate FPS that matches your display’s refresh rate, or an interger ratio of it.

However, if you enable this option, emulators will not reclock the game. They will simply output at their native frame rate, and if that doesn’t fit your display, you get frame duplication (micro-stutter.)

In general, if your monitor supports DisplayPort, I would get such a cable (they’re quite cheap, just make sure the cable supports at least DisplayPort version 1.2a) and try to see if g-sync works with it. G-sync is very useful for emulation and the “sync to exact content framerate” option was added to RetroArch to make g-sync/freesync usable.

See this video for a demonstration of why g-sync is so useful for emulation:

The reason i want to enable that option is because, like i mentioned already, it works on GL. I can see the difference between it On anf OFF. If ON games sync better = smooth frame rate. If OFF i can feel some stutters. So it works fine in GL.

I know Gsync, Freesync, etc are awesome and useful. But GL works and it’s smooth for me even without a display port cable. I don’t know why it works but it does.

Well, I’d say it doesn’t work fine in GL, because making your game smoother is not what this option is supposed to do. Turning this option off is what is supposed to make the games smoother.

I’m talking about the “Sync to exact screen frame rate” option is that right?

Well, if yes then it’s the opposite for me. With it ON, 60hz games sync with my 240hz screen perfectly, no stutters. The time i turn it off i can see stutters. I’m testing Sonic now and that’s what i’m seeing.

Also, after deleting everything and starting fresh, it now seems to work with Vulkan too as well. So i need to find what was the one option that was preventing it to work from my older config.

Anyway thanks for your suggestions. I’ll change the title since it’s wrong and it was some option that caused the issue.

The option is called “Sync to exact content framerate” here. I assumed it was a typo on your end? It’s the option in the “Frame Throttle” section in the RetroArch settings. At least that’s what it’s called in RetroArch v1.7.9.

The correct setup for 240Hz without gsync is to keep that option disabled, make sure RetroArch runs at 240Hz (check the monitor’s OSD and verify it says “240Hz” or sometimes “239Hz”), and then go the “Video” settings in RetroArch and set the “Vertical sync (vsync) interval” setting to 4. This does a so-called “quarter vsync”, which gives you perfect sync at 60FPS (because 240 divided by 4 is 60.)

Try that with Vulkan and see if you then get smoother animation without stutter.

Yes, it’s that option in the frame throttle menu.

And it works for me when it’s ON. Now in both GL and Vulkan. Turning it OFF gets me stutters.

However, your suggestion also works. With it OFF and Vertical sync (vsync) interval setting to 4 i get smooth frame rate. But i can still get smooth framerate with the “Sync to exact content framerate” option ON and vsync interval at “1”

Go figure :smiley:

Whenever I think I finally understand computers, something like this happens :stuck_out_tongue:

In any event, since Vulkan is generally better overall due to it providing somewhat lower input lag in RetroArch, I’d say the recommended setup for 240Hz non-gsync would be Vulkan + VSYNC Swap Interval 4. Why the “sync to content” option behaves weirdly in GL shall remain a mystery…