BenchMark 4. Motel Exterior
This test is done in UE5.2 and creates a Hotel facade like the demonstration videos, just without the randomization.
There are 20 levels, and 54 sections in each level making 1080 sections. Each section has 26 different meshes and 46 instances – total of 49,680 instances. Each section also has a light and a decal actor.
These tests use the rdBuildBuddy multi-level wall builder to create the levels – it’s testing the speed of creation and editing of these rather than the individual editing like the other tests.
1. Actors
There is no test just for actors – it’s just not feasible at this amount.
2. Epic Prefab
The first test is by using a Prefab build with the “Create Blueprint from Selection” tool in the Epic Blueprint button.
The resulting level is extremely slow to edit, load/save and play.
Timings:
Render: 14.29 milliseconds (69.98 FPS)
Build: 11.958 seconds
Load: 46.9 seconds
Save: 30.36 seconds
Play: 62.89 seconds
Stop: 21.07 seconds
Ratings:
Rendering: 3/5
Build: 1/5
Playing: 1/5
Variety: 1/5 (potential to add variety with custom blueprints/c++)
Interact: 1/5 (potential to add interaction with custom blueprints/c++)
Average: 1.4/5
3. BatchedInstances
Timings:
Render: 12.53 milliseconds (79.80 FPS)
Build: 5.722 seconds
Load: 17.77 seconds
Save: 7.86 seconds
Play: 10.13 seconds
Ratings:
Rendering: 4/5
Build: 3/5
Playing: 3/5
Variety: 1/5 (potential to add variety with custom blueprints/c++)
Interact: 1/5 (potential to add interaction with custom blueprints/c++)
Average: 2.4/5
4. MergedMesh
Timings:
Render: 9.48 milliseconds (105.52 FPS)
Build: 0.17 seconds
Load: 3.2 seconds
Save: 2.16 seconds
Play: 2.81 seconds
Ratings:
Rendering: 5/5
Build: 5/5
Playing: 5/5
Variety: 0/5 (cannot introduce variety into a static mesh)
Interact: 0/5 (cannot interact with individual components of a static mesh (easily))
Average: 3/5
5. Merged into a PackedLevelActor
The PackedLevelActor got everything except the FireExtinquisher Decal, so close enough. It did have problems with the Mobility, I had to go it with the “Set Mobility” tool in rdBPtools and set everything to Static (Moveable works too).
Timings:
Render: 15.36 milliseconds (65.09 FPS)
Build: 2.803 seconds
Load: 17.2 seconds
Save: 4.88 seconds
Play: 8.33 seconds
Ratings:
Rendering: 3/5
Editing: 4/5
Playing: 4/5
Variety: 1/5 (potential to add variety with custom blueprints/c++)
Interact: 1/5 (potential to add interaction with custom blueprints/c++)
Average: 2.6/5
6. rdBPtools prefab with default instancing
Timings:
Render: 11.94 milliseconds (83.78 FPS)
Build: 5.574 seconds
Load: 12.1 seconds
Save: 6.55 seconds
Play: 10.07 seconds
Ratings:
Rendering: 4/5
Editing: 3/5
Playing: 3/5
Variety: 5/5 (randomization build into rdBPtools Prefab classes)
Interact: 1/5 (potential to add interaction with custom blueprints/c++)
Average: 3.2/5
7. rdBPtools prefab with rdInst instancing
Timings:
Render: 9.14 milliseconds (109.42 FPS)
Build: 0.511 seconds
Load: 3.07 seconds
Save: 4.56 seconds
Play: 4.12 seconds
Ratings:
Rendering: 5/5
Editing: 5/5
Playing: 5/5
Variety: 5/5 (Randomization built into rdInst – fast c++)
Interact: 5/5 (rdInst has tools to convert instances to actors (and actor pooling) and back to instances)
Average: 5/5