July 7, 2023

Scene Import


We wanted to compare a scene importing performance of Tellusim Engine with Unreal, Unity, and Blender. For that, we created simple FBX, DAE, GLB, and USD scenes made from a single box and a bunch of nodes. These synthetic tests were chosen to simulate typical scenarios encountered in large-scale scenes, digital-twin applications, and games. To ensure consistent testing conditions, we ran those tests on a medium-spec machine with a Ryzen 2700X CPU with 16GB of RAM and Radeon 6600 GPU.

Unfortunately, we encountered difficulties gathering more results from Unreal, Unity, and Blender because importing was highly time-consuming. All test scenes can be downloaded, and you can verify our results in your environments.

The first very sparse table contains the times required for the scene loading (the blank fields mean that the format is not supported or we were unable to import the scene):

Format Unreal 4.27.2 Unity 2022.3.4f1 Blender 3.6 Omniverse 2023.1 Tellusim
24x24x24
(13824)
FBX 2m 20s 7s 21s 7s 1s
DAE 7s 39s 1s
GLB 5s 4s 1s
USD 8s 3s 1s
32x32x32
(32768)
FBX 19m 10s 30s 1m 54s 17s 1s
DAE 27s 3m 48s 1s
GLB 10s 8s 1s
USD 24s 6s 1s
48x48x48
(110592)
FBX 8m 40s 26m 2m 4s 2s
DAE 8m 44s 50m 2s
GLB 3m 58s 37s 2s
USD 3m 1s 16s 3s
64x64x64
(262144)
FBX 5s
DAE 5s
GLB 1m 30s 4s
USD 37s 6s
96x96x96
(884736)
FBX 18s
DAE 21s
GLB 5m 46s 15s
USD 2m 4s 23s

Unreal 5.2.1 crashed on 4096 nodes import after more than 10 minutes of waiting. Unreal 4.27.2 was more stable with the import, so we chose this version. But still, the 48x48x48 scene import caused the crash.

Furthermore, we observed that all editors, except for Tellusim, had a significant performance degradation when the number of nodes exceeded 10K. They became extremely slow and tricky to work with in such scenarios.

The second table presents the average FPS for loaded scenes with a single directional light (with and without shadows).

Shadow Unreal 4.27.2 Unity 2022.3.4f1 Tellusim
24x24x24
(13824)
Off 120 FPS 77 FPS 133 FPS
On 90 FPS 42 FPS 114 FPS
32x32x32
(32768)
Off 72 FPS 43 FPS 125 FPS
On 47 FPS 23 FPS 107 FPS
48x48x48
(110592)
Off 7 FPS 120 FPS
On 4 FPS 94 FPS
64x64x64
(262144)
Off 119 FPS
On 79 FPS
96x96x96
(884736)
Off 109 FPS
On 65 FPS

As the number of nodes increases, the rendering performance of CPU-driven renderers experiences a substantial degradation. Even with a more powerful GPU, performance improvement is limited if the bottleneck lies in the CPU.

In contrast, Tellusim Engine demonstrates excellent scalability with GPU. This means that having a more powerful GPU, particularly in multi-head and multi-GPU setups, will result in improved frame rates with close to zero CPU load times:

Our format loaders use only a single CPU thread and demonstrate swift loading times for all supported formats. You can use them with Tellusim Core SDK, and they will work everywhere.