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.
- limits.zip (111 MB)