Search Issue Tracker

Won't Fix

Votes

0

Found in

2022.3.3f1

Issue ID

UUM-44751

Regression

No

[Entities Graphics] Slow execution performance with EntitiesGraphicsSystem and RenderPipelineManager.DoRenderLoop_Internal() when built

--

-

Reproduction steps:
1. Open the attached project "ReproProj"
2. In File > Build Settings tick Developer Build and Autoconnect Profiler
3. Build And Run for Windows Standalone Platform
4. In the Profiler's Hierarchy tab search for “EntitiesGraphicsSystem” and observe its Time ms
5. Search for “RenderPipelineManager.DoRenderLoop_Internal()” and observe its Time ms
6. Build And Run on Android
7. Repeat steps 4 and 5

Expected result: Default World Unity.Rendering.EntitiesGraphicsSystem Time is less than 1 ms and RenderPipelineManager.DoRenderLoop_Internal() is 1 ms
Actual result: Default World Unity.Rendering.EntitiesGraphicsSystem Time is 2.69 ms and RenderPipelineManager.DoRenderLoop_Internal() is 1.34 ms

Reproducible with: 1.0.8 (2022.3.3f1), 1.0.11 (2022.3.3f1)

Testing environment: Windows 10 Enterprise 21H2

Notes:
- Could not test on Android due to this error: Building Library\Bee\artifacts\Android\AsyncPluginsFromLinker failed with output:
UnityEditor.Build.BuildFailedException: Burst compiler (1.8.7) failed running
- Could not test with 2022.3.6f1 due to missing Entities
- Scene is just a lot of the same moving units
- The reason why the EntitiesGraphicsSystem update takes so long, is caused by the current Entities graphics design, which forces it to complete the job and takes the longest time to run. The system becomes in needs to wait for the job to complete and takes a long amount of time. It should change to not force the job completion and instead, it should execute independently and not affect anything on the main thread. From what I know it's caused by BRG API and also Compute Shader API because it is not Burst and Job System compatible
- RenderPipelineManager.DoRenderLoop_Internal() also takes a long time to execute on the main thread. It should move most of the high-cost logic to a couple of jobs that run outside of the main thread to reduce its time significantly. Even better, adopt Unity Dots and migrate it to the ISystem as much as possible

  1. Resolution Note:

    Thank you for reporting an issue to Unity.

    We have reviewed the issue carefully, and in this case the team is unable to prioritize changing this implementation detail. There are a number of reasons we make this decision, including the impact and severity of the issue across our user and customer base, and the possibility that future plans may solve the problem in a different way, or that a workaround for the reported issue may be available.

    Today we will be closing this case. Thank you again for taking the time to report this issue, and please let us know if there is anything else that changes the impact or severity of this issue.

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.