Added an HTML5 demo (and made the demo fancier)
Today I did a bit of work making the demo project much more interesting. There’s also a Web version. The Web version might take a moment to load, but performance should be pretty close to that on desktop.
The demo also has a built-in benchmark that you can use to test the system. The benchmark contains nine increasing levels of geometric complexity running at an uncapped frame rate (capped to 120 on web) with all of the lights on full blast.
I’m curious to hear how it performs for you all. As you can see in the screenshots, the highest benchmark level nearly holds 60 fps on my 3 GB GTX 1060, which is an entry-level GPU from 7 years ago.
I also changed out the 3D models in the demo, now using 3D models from the excellent [https://syntystore.com/products/polygon-fantasy-kingdom](synty studios).
Files
Get 3D Lighting Shaders for GameMaker
3D Lighting Shaders for GameMaker
3D Lighting Shaders for GameMaker Studio 2
More posts
- Added gradient fogJun 21, 2024
- Specular nonsenseDec 10, 2023
- Some optimiz(s)ations and other minor additionsApr 23, 2022
- Added Xpanda includes, and other small changesSep 29, 2020
- Fixed some bugsAug 21, 2020
Comments
Log in with itch.io to leave a comment.
FPS benchmark looks buggy - look at the numbers, they should go down not up then down. Rerun benchmarks also skips rerun of #1 which I think is missing a leading digit.
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.
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...
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.