In the editor when running with ODSC our shader maps will never be complete.
This causes us to continually evaluate uniform expressions every frame for every material.
This results in a large RT cost. The culprit code is the following:


`OutUniformExpressionCache.bUpToDate = Context.Material.IsRenderingThreadShaderMapComplete();`

Is it safe to just assuming the cache is up to date? and as long as we re-cache everytime we get a new shader map things should always be up to date.

[Link Removed]

Steps to Reproduce
  1. Change shaders
  2. Launch PIE
  3. Look at Unreal Insights captures
  4. See large cost in FMaterialRenderProxy::EvaluateUniformExpressions

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-166971 in the post.

Login to Vote

ComponentUE - Rendering - Shaders
Affects Versions5.1
Target Fix5.2
Fix Commit22691328
CreatedOct 12, 2022
ResolvedOct 21, 2022
UpdatedNov 21, 2022