Description

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:

FMaterialRenderProxy::EvaluateUniformExpressions:

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

0
Login to Vote

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