Those of you keeping an eye on GameGuru MAX development will know that in recent months we dragged a bug count from hundreds down to less than ten, and, in the last few months, we turned that same focus on the next enemy of game creation; performance! 

Naturally, we make performance improvements as a matter of course during the normal course of fixing issues, so for this very specific effort, we broke out a range of performance profiling tools to make a direct assault on the causes of slow gameplay and loading times.

Our benchmark hardware was an antiquated gaming laptop from 5 years ago sporting an i5 2-core CPU and an integrated NVIDIA 1050 GPU. This PC is not the lowest spec out there but the logic is that if it runs well on this, it will run better on those systems with more horsepower.  At the outset of the performance work, we ran one of the most intensive demo levels we had, the Island Showdown, to see what our starting Frame Rate was for the game. It was 20 fps, ouch!

By using Intel GPA, OPTICK performance profiler, and some old-fashioned know-how, we identified all the bottlenecks preventing the game from running much faster, in addition to some excellent optimization help from Preben via his Patreon work on GameGuru MAX.  By the time we had finished, the same demo level ran at 60 fps, a three-fold increase in speed!

Some of the best gains came from the old school tactic of 'do less, more speed', applied to how much was being drawn to the screen, how much logic was being performed each cycle, and reducing the frequency of logic that did not need to happen each frame.  In addition, we improved our multi-core paths to offload CPU work to run in parallel to the GPU work submissions such as physics and ray casting.  Along the way we also found opportunities in both the level editor and standalone game to reduce loading times, skip redundant processes and clean up some legacy logic that needed a spring clean.

The result was a game creator that had less than 10 bugs reported, and a decent performance on lower-end laptop systems, ready for your next game project.  Of course, performance tuning will continue as part of making the game engine more efficient and, if you do spot an unusual drop in fluid gameplay or a longer-than-expected loading phase, please post your findings to our issues board here.

Dream it! Build it! Play it!