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
- Redoing creation of Sub Scenes and Cube GameObjects in Hierarchy throws “Assertion failed on expression: 'targetScene != nullptr’” error in Console window
- Selecting “New Sub Scene” after assigning “New Scene” in Sub Scene Script Component throws “Destroying GameObjects immediately is not permitted” in the Console window
- Shader Graph "Zoom Step Size" can be set to 0 even though the zoom still works
- Enabling/Disabling the Deprecated Nodes doesn't apply to the opened Shader Graph unless any Variable is added to the Blackboard
- Group Selection title text size is smaller in renaming than the actual font size
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.