Ultra Engine Benchmarks Revealed - 10x Faster than Unity, Leadwerks

Published November 08, 2021
Advertisement

A few years ago, some folks at NASA asked for my help with some VR projects they were working on. They had switched to Leadwerks and were getting better performance with that, but it still wasn't fast enough for what they were trying to do. I flew from California out to Goddard Space Flight Center to meet with them. When I saw what NASA was doing with my software, my jaw hit the floor.

Goddard Space Flight Center. I worked in the white building.

Rendering performance in VR is critical because if the framerate drops, it creates a discontinuity between what your visual and vestibular (sense of balance) systems perceive. This causes instant and severe motion sickness and can result in nausea, vomiting, and dizziness. The work NASA was doing with VR involved loading engineering CAD models with tens of millions of polygons and thousands of articulated sub-objects, and displaying them in VR. Naturally, the VR rendering performance for these types of models absolutely crawled. If we were making a VR game we would just optimize the models and design everything to fit within a polygon budget, but engineering requires complex models with many fine details. We couldn't just "optimize away" important details the engineers wanted to inspect in VR.

image.png.3cf2ec6bbf5b869b667ab21a5c2957c1.png
NASA model of International Space Station

I came away from that meeting thinking it was an impossible problem to solve, and I flew home to California. Over the next weeks I started thinking "I know this is impossible, but if it were possible, what would it look like?" This lead to the development of a new game engine designed specifically to maximize performance for VR.

Today I am happy to reveal performance benchmarks of the new Ultra Engine compared to Leadwerks and Unity, as described in the paper Building Performant VR Applications for Multi-Domain Modeling and Simulatio. Authored in collaboration with Northrop Grumman and Peraton, this paper will be presented in a lecture during I/ITSEC 2021. These tests reveal different performance bottlenecks that can occur in real-time applications that would cause slow performance. Testing was performed on Windows 10 with an Nvidia GEForce 1080 GPU.

Instanced Geometry Test

In this test, a 3D grid of 32,768 instanced cubes is created. This evaluates how the renderer handles a large number of objects with CPU frustum culling enabled. Frustum culling on the CPU is important because it allows the engine to discard large parts of the scene from processing in the rendering loop. It also allows the engine to skip animation for offscreen objects.

image.png.f211144ebf34b92ccd2848a3b001251f.png

In this test, Ultra Engine outperforms both Leadwerks and Unity by 20x, with 95% GPU utilization:

Image1.thumb.png.778a1b0c8328b1535ce2c946fe18d6cc.png

Animation Test

In this test, 1024 animated characters are displayed. Each character has a unique skeleton and is animated independently with no instancing.

image.png.e91c145d5f08f4e23fe06ab26f485781.png

In this test, Unity outperforms Leadwerks, but Ultra Engine is still more than 18x faster, with much higher GPU utilization:

Image1.thumb.png.c01c5a6916d976cb7e5bb747004770b5.png

Lighting Test

This test renders a scene made up of 1000 instanced boxes and 25 point lights. This provides a measure of how efficiently each engine handles the interaction between lights and objects, and simulates the lighting overhead of a complex scene.

image.png.6a00fecefb26bb5ef5ec016c37809e2a.png

In this test the Leadwerks renderer has a significant performance advantage over Unity, but again Ultra Engine is much faster than either:

Image3.thumb.png.67e7ba10cf042482b7831ce57eb72428.png

Unique Geometry Test

In this test 4096 unique (not instanced) boxes are created and drawn onscreen. This simulates a complex scene with many unique objects.

image.png.2b43ad5163b9b1b83667240bbeb6b664.png

Unity and Leadwerks both struggled to render this scene in real-time, but Ultra Engine ran at an astounding 6000+ frames per second:

Image4.thumb.png.ed432c8a951128c5d364fb9c512762da.png

As you can see, a variety of scenarios that would cause the Unity or Leadwerks renderer to form a performance bottleneck run with absolutely no problems in Ultra Engine. This technology is being developed into a full game engine with a visual editor. Ultra Engine will deliver order-of-magnitude faster performance, to eliminate motion sickness and lower hardware costs for VR applications, as well as general game development. There's no need to spend hours and days optimizing your game, because when you use Ultra Engine your game is already optimized.

Image1.thumb.jpg.77623ea8241164b5de5efa755727c22b.jpg
New editor work-in-progress

If you're in Orlando the last week of November, check out my presentation titled Building Performant VR Applications for Multi-Domain Modeling and Simulation, Tuesday morning at the Orange County Convention Center, or stop by booth #2341 in the small business pavilion during the I/ITSEC 2021 expo to see a live demo of our game-changing new technology.

Sign up for our mailing list to be notified when Ultra Engine becomes available.

3 likes 1 comments

Comments

Codeloader_Dev

This is awesome! A home made engine is sometimes the best thing. It seems like you put a lot of effort into it to get it that fast.

November 09, 2021 01:36 PM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement