After upgrading to 4.16 I’ve enabled the ShareMaterialShaderCode option. This saves over 1GB of Storage and reduces the steam update size about 500MB so I really would like to enable the option. But while streaming levels this option causes hard hitches. It seems that the async loading of levels causes a syncronous loading of the shader so the rendering thread waits for file access (STAT_Shaders_RTShaderLoadTime).
Yes, in 4.16 and 4.17 shader library uses blocking load when shader is requested by RHI. In 4.18 we reworked that and now it en-queues async load request for shader code when corresponding material is getting loaded, so it does not hitch. If you can’t upgrade to 4.18, I would recommend to load all shader library data into memory at game start if you don’t have memory budget problems
Thank you very much for this information.
P.S. I cannot accept or answer your post. Please have a look to >this question<