Only a single ShaderCompileWorker Process

Managed to find a work around just after posting the comment above.

I don’t know if this has any knock-on effects, but it seems to be related to the “XGE Controller” plugin.

As far as I’ve gathered it’s an Incredibuild powered compilation distribution plugin … but which seems to actually just prevent full utilisation of multiple cores on your CPU.

So, if you’re finding that shader compilation is very slow, AND, you only see one ShaderCompileWorker.exe process being launched when shaders are compiling, this could be your issue as well. Actually, you might see 3 ShaderCompileWorkers in the “processes” tab in Task Manager … but if you switch to the details tab, you might see that there’s only one “shadercompileworker.exe”, and two “XGEControlWorker.exe” processes. For most people there will be no “XGEControlWorker.exe” processes, and many “shadercompileworker.exe” processes instead. Why this functions differently for some people, I have no idea.

Anyway, the solution I found that helped significantly with compilation times is to disable the “XGE Controller” plugin entirely. (In the editor: Edit > Plugins. Search for “XGE Controller”, and untick “enabled”).

Edit: I found something called Incredibuild Coordinator installed on this machine. It detected the shader compile task pending for distribution, but had no valid license installed, so wasn’t actually distributing to multiple cores. I imagine this was the reason most people don’t come across this problem. Without this installed (or something similar?), the engine defaulted to not using XGE Incredibuild powered compilation.

5 Likes