I'll probably regret bringing up this benchmark again, but since GM:HTML5 now supports WebGL I thought I would revisit.
Let me preface this; their benchmark, as is mine; is complete hogwash. Often benchmarks can have some validity to them, I believe a benchmark between GM, Construct, Stencyl, whatever simply isn't possible. These engines have their similarities but their differences and implementations of components make comparisons completely unreasonable.
On my machine (I7, 12 Gig RAM) using their benchmark before the rendered images fell under 30 FPS.
Their Construct benchmark using Chrome with WebGL rendered ~23,000 sprites per step before falling under 30FPS
The GM Benchmark created by Scirra using Chrome rendered ~4,400 sprites (and instances).
This is the comparison that caused them to pat themselves on the back and post the following disingenuous comment.
We won't embarrass them by comparing their result to our WebGL renderer!
So let's re-run the benchmark with GM:HTML5 - WebGL enabled - it rendered 13,000 images before falling under 30FPS.
A huge improvement, but Construct is still running 1.76 times faster than GM:HTML5
OK so let's take Mike Dailley's advice.
If you really want to beat it, I'm pretty sure if you simple create a couple of arrays with X and Y coords, then print them all from within a single loop, you'll get exactly the same result, but it should be much faster than even theirs.
That's what I did. I changed the benchmark, so instead of creating new instances, I populated two arrays saving the x,y values then rendered the increasing number of sprites within a for-loop in the draw event.
~ 48,000 images rendered before performance dropped under 30FPS
That's four times faster than Scirra Construct's rendering.
So what can we learn from the following:
Benchmarks between such dissimilar engines simply isn't reasonable.
Benchmarks between GM:HTML5 and GM:HTML5 (WebGL) are reasonable seeing a throughput increase of 300% (though that doesn't just represent the rendering improvement).
But most importantly some of the best ways to increase performance was just to do things differently and focus on optimization. Simply by drawing the same sprite multiple times instead of creating multiple instances performance increased by 370%.
Oh yeah, and WebGL is F^&%@#@ fast.
Edited by NakedPaulToast, 16 December 2011 - 09:32 PM.