ares icon indicating copy to clipboard operation
ares copied to clipboard

[Feature Request] - Support FreeSync/GSync for non-standard refresh rates

Open HeroponRikiBestest opened this issue 4 years ago • 6 comments

Self explanatory. This would be useful since many systems in ares don't run at exactly 59.94hz, and would be especially useful for wonderswan, which runs at 75hz.

HeroponRikiBestest avatar Sep 29 '21 21:09 HeroponRikiBestest

bsnes' "adaptive sync" button just enables exclusive mode on the video driver, disables vsync, and enables audio sync. The ruby drivers automatically try to enable adaptive sync mode whenever they can, and the button just sets up the optimal conditions for that.

ares doesn't have an "adaptive sync" button to change all the settings at once, but it does have all the individual settings. Since it's using the same ruby drivers, I imagine it should Just Work.

Screwtapello avatar Sep 30 '21 01:09 Screwtapello

Wouldn't that simply cause screen tearing?

HeroponRikiBestest avatar Sep 30 '21 16:09 HeroponRikiBestest

My understanding is that it causes screen tearing if there's a fixed refresh rate (because the monitor does not support adaptive sync, or because there's a compositor with a fixed refresh rate). If the app is talking straight to the video drivers with nothing else in the way (exclusive mode, on Windows) the drivers are smart enough to actually present a frame when they receive it, not 16ms later.

Screwtapello avatar Oct 01 '21 04:10 Screwtapello

From what I understand, I think that just results in framepacing issues and some remaining stuttering

HeroponRikiBestest avatar Oct 02 '21 09:10 HeroponRikiBestest

Specs: 13600K, rtx 4070, 32gb ram, 240hz Freesync display, 360hz Gsync display

I've been having issues getting VRR working correctly, specifically for N64. There is quite a bit of stuttering, using either OpenGL or D3D9, both with synchronize off and audio sync enabled. I posted about it in a discord thread here. I was told that the N64 core uses vulkan internally and renders to OpenGL which can't be changed so that rules out D3D9. The only way to get a smooth experience with N64 is to disable VRR, lock refresh rate to 60hz, and enable traditional vsync + dynamic rate control. Unfortunately this adds a very large amount of input latency, especially in the lower frame rate games when compared to original hardware.

Comparatively, SNES performs smoother in OpenGL with VRR enabled but has periodic frame time spikes/stuttering. D3D9 stutters even in exclusive mode.

Xenphor avatar Jul 02 '23 21:07 Xenphor

It works but you have to configure the audio driver correctly as it uses audio to sync.

  • Use WASAPI and choose the correct Output device (not Default), you can now tick Exclusive mode.

Still it would be great if it worked correctly with Default Output Device.

Immersion95 avatar Oct 13 '24 12:10 Immersion95

My laptop's FreeSync/GSync compatible monitor's VRR works fine with sync to audio and the WASAPI driver set to a latency of 0. The video driver can be either OpenGL or Direct3D with exclusive checked. Additionally, I have "Optimizations for windowed games" turned on under System -> Display -> Graphics in Windows settings.

Specs: AMD Ryzen 9 7945HX CPU, RTX 4090 laptop/mobile variant GPU, 32 GB DDR5 RAM, 240 Hz FreeSync/GSync Compatible VRR, Windows 11 24H2

kev4cards avatar Oct 30 '24 01:10 kev4cards

Just updating this to say I have had no issues with FreeSync out of the box with ares in the latest versions; if I play in full-screen, my monitors OSD shows the correct refresh rate.

LukeUsher avatar Feb 10 '25 16:02 LukeUsher

Just updating this to say I have had no issues with FreeSync out of the box with ares in the latest versions; if I play in full-screen, my monitors OSD shows the correct refresh rate.

It doesn't work correctly out of the box with v142 in Win 11. I have to use Wasapi Exclusive for the audio and choose the correct device (default device won't work).

Immersion95 avatar Feb 18 '25 16:02 Immersion95

I have to use Wasapi Exclusive for the audio and choose the correct device (default device won't work).

Yeah, this way it works for me too. But i also have to set audio latency to "0", otherwise the frame rate messes up completely.

Tasosgemah avatar Jul 20 '25 07:07 Tasosgemah