LIMITFPS still cause unstabilitet on Windows

Previous topic - Next topic

spacefractal

While timing that I use seen to work fine on iOS as well Android, I have some annoying frameskips and/or slowdown issues on Windows and I have newer found out why.

in Glbasic v10, LIMITFPS -1 seen ito been much more stable than using LIMITFPS 60. When using LiMITFPS 60, its have tendend to slowdown without reason at all, so its use some sort of wrong timing? In extreme chase its might slowdown to just about 30-40fps (and still not sure what its caused that).

But when I doing the same in  early GlBasic v11 beta, LIMITFPS -1 run insanly 500 fps amd does not sync to the monitor at all. So its nothing other than a timing issues with LIMITFPS.

So hence I want a LIMITFPS that only wait for vsync and its only do that, without trying to do any timing at all (as I could in BlitzMax). When VSYNC is finished, its should just countinue. This should of course only been happens if HZ used is same with FPS set on LIMITFPS.... I dont think that happens for now? etc its still try to do timing, but failed due its should allready do that with vsync.
Genius.Greedy Mouse - Karma Miwa - Spot Race - CatchOut - PowerUp Elevation - The beagle Jam - Cave Heroes 2023 - https://spacefractal.itch.io/

Wampus

Some sort of simple vsync command in addition to setting LIMITFPS -1 would be fantastic, imo. It wouldn't need to alter how GLBasic previously worked because the default behaviour could be the same.

Coding to detect variable screen refresh rates and adjusting game mechanics accordingly is a great solution for dealing with multiple types of device and OS. If LIMITFPS could set to -1 with vsync on (hardware/drivers permitting) that's ideal for me. I'd love that.

spacefractal a suggestion for the problem of insanely high FPS is to have your apps check to see if the FPS goes over a maximum permitted setting, like 60-70 FPS. If it does go over 60-70 FPS then throttle the speed with setting LIMITFPS to 60 or whatever, instead of -1.

spacefractal

Yes that would been awesome if we could do vsync to -1, so glbasic skip the timing measure (which I thinkts its does, which is not required). The mest soulation is simply add a another argument to LIMITFPS to disable or enable vsync. Best is of course if Glbasic could do that automatic if LIMITFPS was set to same framerate as your monitor output, then timing should not required at all. Using vsync as well timing in same framerate would only fail sometimes and do uneeded frameskips.

Howover nice idea for checking if speed to been fast and throttlethat, Wampus. I think I would look on that, so its wont been happens.
Genius.Greedy Mouse - Karma Miwa - Spot Race - CatchOut - PowerUp Elevation - The beagle Jam - Cave Heroes 2023 - https://spacefractal.itch.io/

Hemlos

Either way, in the end, ultimately the enduser gets the choice.
If your video card is set VSYNC to be on, it overrides LIMITFPS -1.
Bing ChatGpt is pretty smart :O