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
- Packman: The same asset data is displayed differently in "Import" and "Remove" popups
- Reference to a deleted GameObject becomes "None" instead of "Missing" when the GameObject is restored with undo after entering and exiting Play Mode
- Size value in Particle System Curve's tab is highlighted with selection across all tab header
- Particle System Curve's Presets window has no visual indication of what preset is selected
- Blur shader doesn't work when the "Scene Color" Node is attached to the UI "Output" Node
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.