Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Updated it so that rerunning or cancelling the benchmark doesn’t break or mess up the results.

I’m not sure if this is the problem but GameMaker averages the number over the last second or two so, so if the simpler tests are too fast it’ll churn through it before the figure has time to correct itself after the lag of spawning all of the geometry. I added a five-second delay before the start of the first test which will hopefully be enough to get past that.

(1 edit)

Running on a 4070 (laptop) so it's quite possible that first number is meant to be 1371 especially as some others (tests 2/3) hit 500+. Turning GPU off + using crappy APU results in a long test with bad numbers (whereas the 4070 has it finished in under 30 seconds). I'll go try the fixed one...

(2 edits)

Yep, the start was screwing up the first reading. Numbers look good now...


Think it'll need a lot more vertices/lights to hit 60fps :)

Compare the above to the APU - an AMD 610M - part of the 7745HX CPU in my laptop...


Laptop used for reference - https://www.lenovo.com/gb/en/p/laptops/legion-laptops/legion-pro-series/legion-p...

> GameMaker averages the number over the last second or two

Why not count the frames yourself and use a hi-res timer to get the proper FPS for a run?

That would be a way to deal with the problem from the opposite end, but if this solution works I’ll leave it alone.

By your own definition it doesn't work accurately other on really slow machines. The previous test will always affect the result for the current test. Test1 will always have a higher FPS so the first readings for Test2 will be artificially higher than real - repeat this observation as it will hold true for each test

Like I said, i built in a delay between rounds that should wait out the time it takes for the sliding window to catch up.

That said, I checked the HTML5 source and it apparently takes two seconds for the fps value to refresh and I only accounted for one, so I edited it again.