Add a DisplaySync config setting and new internal logic around frame timing. Now you can play without vsync, or even adaptive sync, with lowered lag vs. vsync always on. There was a bug with vsync always on before that had to be fixed as part of closing #36, but I've gone ahead and tightened up frame timing completely, beyond just fixing that bug
Will this Pull Request break anything?
Hopefully not. I haven't tested support on Nintendo Switch, but I believe it should work; someone else can test. More changes might be needed for Windows/TCC support; if so, I can investigate and implement the needed changes, I have a Windows 10 setup
Suggested Testing Steps
Build and test on all supported platforms (Windows, Linux, macOS, Switch) using all possible values of the new DisplaySync config setting
Description
Add a DisplaySync config setting and new internal logic around frame timing. Now you can play without vsync, or even adaptive sync, with lowered lag vs. vsync always on. There was a bug with vsync always on before that had to be fixed as part of closing #36, but I've gone ahead and tightened up frame timing completely, beyond just fixing that bug
Will this Pull Request break anything?
Hopefully not. I haven't tested support on Nintendo Switch, but I believe it should work; someone else can test. More changes might be needed for Windows/TCC support; if so, I can investigate and implement the needed changes, I have a Windows 10 setup
Suggested Testing Steps
Build and test on all supported platforms (Windows, Linux, macOS, Switch) using all possible values of the new DisplaySync config setting