0 votes

Maybe a stupid question and maybe I'm not understanding vsync but I thought that vsync only reduced the FPS of a game when the monitor's refresh rate couldn't keep up with the fps.
By this logic, if the monitor's refresh rate is constantly higher that the game's FPS, vsync should not do anything?
My monitor is 240hz and my game runs at 200FPS max. I have vsync on and it's costing me lots of performance (if I disable vsync, the game runs at 400FPS). In this case, what is vsync doing exactly that is so expensive? Should it not be dormant when there is no FPS to reduce?

Godot version 3.4
in Engine by (483 points)

Standard V-Sync will introduce stuttering when your framerate goes below the monitor refresh rate (when not using a variable refresh rate monitor). Therefore, if you cannot sustain the monitor refresh rate at all times, I recommend disabling V-Sync for a smoother experience. On a 240 Hz monitor, consistently reaching the required frame time (lower than 4.16 milliseconds) is very difficult, even on fast hardware in a 2D game.

1 Answer

+1 vote

Vsync doesn't "cost". Instead, it limits framerate, and thus offloads cpu/gpu of otherwise redundant updates.

by (1,634 points)
Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read Frequently asked questions and How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to webmaster@godotengine.org with your username.