Search Issue Tracker
By Design
Votes
1
Found in
6000.0.55f1
6000.1.15f1
6000.2.0f1
6000.3.0a4
6000.4.0a1
6000.5.0a1
Issue ID
UUM-114028
Regression
No
ComputeShader compilation is executed sequentially, resulting in subpar performance
Reproduction steps:
1. Open the attached “IN-102708_Repro.zip“ project
2. Open the “Assets/MyShaderTest/StandaloneShader_500_500.compute“ Compute Shader in an IDE
3. Add a space in an empty line and save the file
4. Open a resource monitoring tool where CPU utilization can be monitored
5. Go back to the Editor to trigger a recompilation of the Compute Shader
6. Observe CPU utilization
Expected result: Compute Shader compilation works in parallel, load is distributed evenly between the CPU cores
Actual result: Only a single CPU core is fully utilized
Reproducible with: 6000.0.55f1, 6000.1.15f1, 6000.2.0f1, 6000.3.0a4
Reproducible on: Windows 10 (Tested by CQA)
Not reproducible on: M1 Max MacOS 15.5 (Tested by CQA)
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
- IndexOutOfRangeException occurs when entering "<a></a>" tags in a TextMeshPro UI field
- Numeric property drag cursor gets enabled in the Inspector Preview window when the window is above numeric properties
- UI elements become unusable due to Object and Text Fields being set to empty/"0" when clicking "Reset" on their Components
- Scene Asset is not attached to a Lighting Data Asset for a URP Package Sample Scene
- Gizmos are not rendered for the Base Camera when using Camera Stacking
Resolution Note:
After importing a compute shader, kernels are compiled serially as a background task. This is intentional so as to keep resource usage low. When compute shader variants are required, compilation is promoted out of the background queue is properly parallelized.
An easy way to verify this is by hitting the "compile and show code" button in the compute shader inspector after import. This opens a modal pop-up and you should see the kernel compilation happen more quickly across multiple threads.