Curious how OpenGL ES 2 (GLES2) + Warp3D Nova's performance compares to MiniGL + Warp3D? Well, the first comparison is here courtesy of the Entwickler-X team. They've just released (as at 1 Nov. 2016) a video showing an upcoming game running on both MiniGL and GLES2. The game is built using X-Engine, a game engine that they've been working on.

While it isn't an exact comparision, eyeballing the frame-rates gives an approx. 4x speed boost in two of the three levels, and >2x boost in the third. Here's the video:

Link to video:

This test was run on a Sam460ex with a Radeon HD 7750, so not the most powerful hardware. A1-X1000/X5000 users would probably see higher framerates.

Entwickler-X stress that this is a Work-In-Progress (WIP), so the results will likely change. Likewise, I must stress that Warp3D Nova is also still very much a WIP. Still, the sizeable performance boost shows one of the advantages that Warp3D Nova brings.

Beware of Benchmarks

You've got to be careful when using benchmarks for comparison. While the results above are from a "real-world" test and are therefore "good" in some people's eyes, remember that they only show the performance of the X-Engine when rendering these particular levels under the test's conditions (resolution, hardware, etc.). Expecting other software to get the same performance boost would be foolish. Indeed, level 2 in the video had a speed boost of just over 2x using the same engine. What's going on there?

The performance limiting bottlenecks for Warp3D and Warp3D-Nova are different. Vertices/s are often the bottleneck with Warp3D, whereas with Warp3D Nova it's typically the draw-calls/s that limit performance. MiniGL and GLES2 have the same bottlenecks as the Warp3D variant they sit on top. Level 2 appears to be much simpler than the other two, so it's highly likely that the almost 2x frame-rate jump in MiniGL is due to having significantly fewer vertices. Meanwhile, the GLES2 frame-rate stays fairly constant for all levels, and actually rises a bit as more objects are collected and more badies are killed (resulting in fewer objects to render). That's consistent with draw-calls/s being the limiting factor.

Thanks to the different bottlenecks, doubling the number of vertices per model would probably kill the frame-rate in MiniGL while leaving the frame-rate in Warp3D Nova relatively unchanged. Warp3D Nova can render hundreds of millions of vertices/s with large complex models (I got 440 million triangles/s in one test); far above what Warp3D is capable of. So please bear that in mind, and do not go round claiming a general 4x boost, or saying that "Warp3D Nova can do X vertices/s." It's a lot more complex than that.


Despite the warning above, the results do show that GLES2/Warp3D-Nova offer a good performance boost in a real-world scenario. This is consistent with other tests which also show a sizeable performance boost over MiniGL/Warp3D. This is entirely expected given that Warp3D's design is rather ancient, and Warp3D Nova is based on modern GPUs. Plus, Warp3D Nova delivers shaders, opening up a whole new world of possibilities.