Thank you all for this usefull post. I have a qml game, I'm using a Timer that is triggered with a bool variable that is binded to keys pressed and release, at a fixed speed of 1000/60.
The animation looks smooth in some cases in but in other cases it does not. So the correct aproach should be not to use a Timer, but trigger the animations with vsync, right? Is it possible to do this in qml? Also it seems qml does not 'respect' the timer interval, sometimes I get higher frame rates, maybe I have something else mess up. Besides Timers, I am using NumberAnimations, I think that will mess the Timer interval ? I have done some testings using Timers, and qml render.stats, in my laptop with a Nvidia GTX1050 TI, I get:
windows with native screen, animations are ok, smooth, renderstats shows aprox. 60fps
windows with gaming monitor of 165Hz, animations are not smooth, renderstats shows aprox. 77fps
linux mint, native screen, animations are ok, smooth, renderstats shows aprox. 60fps
linux mint, gaming monitor of 165Hz, animations are ok, smooth, renderstats shows aprox. 120fps
macbook air, native screen, animations are ok, smooth, renderstats shows aprox. 60fps
macbook air, gaming monitor, animations not smooth, renderstats shows aprox. 45fps, maybe because of the hdmi cable with a display port adapter, that mess the performance
iPhone 7, animations are ok, smooth, renderstats shows aprox. 60fps
android phone, animations are ok, smooth, renderstats shows aprox. 60fps
Is there any cross plataform way of checking the vsinc and triger it to render the game loop ?
By the way, I have builds of my game for Windows, Mac, Linux (only binary) here
https://drive.google.com/drive/folders/1JWrkcLyNfIZSmleJOJRkunM8mZUiIxDG?usp=sharing
also the code, if anybody wants to check it
https://bitbucket.org/joaodeusmorgado/davidgalacticadventures/src/master/
Thanks
printescreen.png