MiSTer-devel / GBA_MiSTer

GBA for MiSTer
GNU General Public License v2.0
143 stars 44 forks source link

"Sync core to video" sets HDMI vsync to 60.2 hz when vsync_adjust=2 #65

Closed emkultra64 closed 4 years ago

emkultra64 commented 4 years ago

I understand this could be a bit of a silly issue to raise, but fixing it would be a decent Quality of Life improvement for people who use MiSTer's alt INI feature and frequently switch video settings depending on what we're using as a display.

Since vsync_adjust=2 tries to use the core's native timing, ideally Sync core to video would either be ignored and just keep native Vsync, or it would force 60 hz. Instead, the core's video output currently overshoots the vsync rate slightly, resulting in a non-standard 60.2 hz refresh rate that could cause compatibility issues with some displays and capture equipment.

The obvious workaround for users is to either disable Sync core to video after switching to vsync_adjust=2 or simply using vsync_adjust=0 if Sync core to video is enabled. This is not a huge hassle but it would streamline the experience considerably if the behavior was different under vsync_adjust=2, so I would consider this more of a feature request than a bug report.

paulb-nl commented 4 years ago

vsync_adjust=2 continually changes the HDMI pixel clock to stay in sync with the core.

The 60.2hz that you are seeing is just the initial refresh rate. It will quickly adjust and match the core's 59.72Hz output. gba_refresh_rate

emkultra64 commented 4 years ago

Ah, I see. Thanks for addressing this, apologies for opening an issue for it when it was basically just a misunderstanding. Glad to know more about this, though.