Search Issue Tracker

Won't Fix

Votes

0

Found in [Package]

1.3.0-exp.1 - Entities

1.3.0-pre.4 - Entities

Issue ID

ECSB-1314

Regression

No

The single RenderMeshArray is slower and uses more memory in comparison to the multiple RenderMeshArrays when manually creating the same amount of entities

Package: Entities Graphics

-

How to reproduce:
1. Open the “ECSTest“ project
2. Open the “Manual ECS Scene“
3. Comment the lines from 15 to 191 in the “ManualSpawnerDemo.cs“
4. Un-comment the lines from 195 to 357 in the “ManualSpawnerDemo.cs“
5. Build and Run
6. Connect the Profiler to the Player, run it for a bit, and save the data
7. Un-comment the lines from 15 to 191 in the “ManualSpawnerDemo.cs“
8. Comment the lines from 195 to 357 in the “ManualSpawnerDemo.cs“
9. Build and Run
10. Connect the Profiler to the Player, run it for a bit, and save the data
11. Compare the gathered data

Expected result: Single RenderMeshArray performs better than the multiple RenderMeshArrays
Actual result: Multiple RenderMeshArrays perform better than a single RenderMeshArray

Reproducible with: 1.2.3 (2022.3.45f1), 1.2.4, 1.3.0-exp.1, 1.3.0-pre.4 (2022.3.45f1, 6000.0.18f1)
Could not test with: 2021.3.43f1 (Entities Graphics not supported in the stream)

Reproducible on: Windows 10 Pro (22H2)
Not reproducible on: macOS 14.6.1 (Intel)

Notes:
- More information in the comments
- Reproduces in the editor, but memory consumption doesn’t differ that much between comparison objects

  1. Resolution Note:

    Investigation revealed this is a corner case.
    Single render mesh array reduces chunk count but causes memory spikes during draw call submission due to thread local data structures that scale based on number of mesh/material combinations encountered. The provided project present a worst case, highlighting the difference between a best case scenario and worst case, for drawcall submission. Recommended solution: Implement entity binning by mesh/material combinations or use multiple render mesh arrays for optimal performance.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.