Quote: "Have you tried SetSyncRate(60,1) ?"
Yes, I get better results that way but not perfect.
Last night the problem seemed to not happen all the time. I ran a project and it was fine and the next time it was not.
Today it seems to always be there though.
Here's a simple test project i created today:
// Project: FPS Issue
// Created: 19-07-04
// show all errors
SetErrorMode(2)
// set window properties
SetWindowTitle("FPS Issue")
SetWindowSize(1024, 768, 0)
SetWindowAllowResize(1) // allow the user to resize the window
// set display properties
SetVirtualResolution(1024, 768) // doesn't have to match the window
SetOrientationAllowed(1, 1, 1, 1) // allow both portrait and landscape on mobile devices
// try the following lines one by one
SetSyncRate(60, 0) // results in around 50 fps
rem SetSyncRate(60, 1) // results in around 59 fps
rem SetSyncRate(30, 0) // results in around 25 fps
rem SetSyncRate(30, 1) // will slowly go up to 29.999 fps
rem SetSyncRate(0, 0) // results in around 2000 fps
rem SetSyncRate(0, 1) // results in around 2000 fps
rem SetVSync(0) // results in around 50 fps
rem SetVSync(1) // results in around 50 fps
SetScissor(0, 0, 0, 0) // use the maximum available screen space, no black borders
UseNewDefaultFonts(1)
do
Print(ScreenFPS())
Sync()
loop
The results using the following test (only one at a time):
Windows 10, AppGameKit Studio v0.95
SetSyncRate(60, 0) - results in around 50 fps
SetSyncRate(60, 1) - results in around 59 fps
SetSyncRate(30, 0 - results in around 25 fps
SetSyncRate(30, 1) - will slowly go up to 29.999 fps
SetSyncRate(0, 0) - results in around 2000 fps
SetSyncRate(0, 1) - results in around 2000 fps
SetVSync(0) - results in around 50 fps
SetVSync(1) - results in around 50 fps
Still weird...