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
- Progress indicator in Meta Quest Build Profile configuration is barely visible
- Slightly transparent objects disappear completely in Web Player when using RenderGraph
- Visual Scripting Components are hidden behind a throbber when Multiplayer Play Mode is running with at least one local instance
- Video Player does not throw an error when playing a video with unsupported encoding settings
- Errors indicating that TMP Extras were not Imported logged when opening the Render Pipeline Converter Window while in Play Mode
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.