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
- URP Realtime reflection probes do not update when RenderProbe() is being called once per second
- Addressable terrain shader variants are stripped from the Player
- [iOS] Debug.Log() appears as <private> in Console app
- UI stays in the background when it is disabled in simulator
- A wrong log file is attached when project is launched with a "-logFile" command line argument
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.