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)

  1. 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.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.