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
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- The first frames are skipped when playing a video
- Text auto-scrolling can not work when naming assets/objects until backspace key is pressed
- Shadows are not cast when the Light's CullingMask and the GameObject's Layer do not match
- Graphics.DrawMeshInstanced does not work when 2D Renderer and 2D Shaders are used
- SpeedTree does not move when using WindZone
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.