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
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.
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. 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.
In this test, Ultra Engine outperforms both Leadwerks and Unity by 20x, with 95% GPU utilization:
In this test, 1024 animated characters are displayed. Each character has a unique skeleton and is animated independently with no instancing.
In this test, Unity outperforms Leadwerks, but Ultra Engine is still more than 18x faster, with much higher GPU utilization:
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.
In this test the Leadwerks renderer has a significant performance advantage over Unity, but again Ultra Engine is much faster than either:
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.
Unity and Leadwerks both struggled to render this scene in real-time, but Ultra Engine ran at an astounding 6000+ frames per second:
As you can see, a variety of scenarios that would cause the Unity or Leadwerks renderer to bottleneck run with absolutely no problems in Ultra Engine. This technology is being developed into a full game engine with a visual editor, complete with a plugins and extensions system. 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.
New editor work-in-progress
If you're in Orlando the last week of November, 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.
If you would like to be notified when Ultra Engine becomes available, sign up for the mailing list.