AppSettings: VSynch, FrameRate & Frequency

What happens if you set the following:

AppSettings appSettings = new AppSettings(false);
appSettings.setVSynch(true);
appSettings.setFrameRate(40);
appSettings.setFrequency(50);

Does VSynch being true override the fact that the framerate and monitor frequency have explicitly been set to different values? If not, then what happens when you have framerate slower than frequency? What about frequency slower than framerate?

Also, to me, it makes sense to always set VSynch to true. What are the use cases when you’d actually want VSynch to be false?

Maybe when you want to optimize your game. Then you can see what is giving you more fps and so on.

I set vsync to true unless I’m testing raw frame rate. I generally do it through the app settings dialog, though.

“frame rate” just sleeps a certain amount of time based on how long the update actually took to complete. You can set it lower than frequency if you want… even with vsync on. Though with strange multiples you might get strange hiccups. Unless you have a requirement to run at half frame rate then I’d leave it alone.

You may be falling victim of “never getting started” syndrome. One of the symptoms is trying to learn tons of detail about relatively unimportant stuff when one hasn’t even made a game yet. Knowing these things won’t really help you complete your game and if you had a game started simply clicking the options in the settings dialog would show what would happen.

Edit: any article on rendering pipelines is likely to bear more learning fruit, really.

1 Like