artists are dealing with greatly increased iteration times due to long shader compiles when working in the material editor. This has regressed over time as we add more features to the point were working in materials of decent complexity becomes painful.
Below are the results of the repro steps in this bug across multiple engine versions to get a snapshot of how things have increased and what we can realistically hope to cut down to:
Release-4.22 (feels very slow)
[2019.04.18-14.45.23:433][191]LogMaterial: Display: Missing cached shader map for material M_Tech_Hex_Tile_Pulse, compiling. [2019.04.18-14.45.26:607][510]MaterialEditorStats: Base pass shader: 132 instructions [2019.04.18-14.45.26:607][510]MaterialEditorStats: Base pass shader with Surface Lightmap: 160 instructions [2019.04.18-14.45.26:607][510]MaterialEditorStats: Base pass shader with Volumetric Lightmap: 206 instructions [2019.04.18-14.45.26:607][510]MaterialEditorStats: Base pass vertex shader: 45 instructions [2019.04.18-14.45.26:607][510]MaterialEditorStats: Texture samplers: 6/16 [2019.04.18-14.45.26:607][510]MaterialEditorStats: Texture Lookups (Est.): VS(0), PS(4) [2019.04.18-14.45.26:607][510]MaterialEditorStats: User interpolators: 2/4 Scalars (1/4 Vectors) (TexCoords: 2, Custom: 0) [2019.04.18-14.45.32:987][198]LogMaterial: Display: Missing cached shader map for material M_Tech_Hex_Tile_Pulse, compiling. [2019.04.18-14.45.33:015][198]LogMaterial: Display: Missing cached shader map for material FMatExpressionPreview MaterialExpressionTextureSample_40, compiling. [2019.04.18-14.45.33:044][198]LogMaterial: Display: Missing cached shader map for material M_Tech_Hex_Tile_Pulse, compiling. [2019.04.18-14.45.36:964][505]MaterialEditorStats: Base pass shader: 132 instructions [2019.04.18-14.45.36:964][505]MaterialEditorStats: Base pass shader with Surface Lightmap: 160 instructions [2019.04.18-14.45.36:964][505]MaterialEditorStats: Base pass shader with Volumetric Lightmap: 206 instructions [2019.04.18-14.45.36:964][505]MaterialEditorStats: Base pass vertex shader: 45 instructions [2019.04.18-14.45.36:964][505]MaterialEditorStats: Texture samplers: 7/16 [2019.04.18-14.45.36:964][505]MaterialEditorStats: Texture Lookups (Est.): VS(0), PS(4) [2019.04.18-14.45.36:964][505]MaterialEditorStats: User interpolators: 2/4 Scalars (1/4 Vectors) (TexCoords: 2, Custom: 0)
Release-4.21 (Feels very slow and sometimes compiles when deselecting nodes for no reason)
[2019.04.18-15.06.55:247][198]MaterialEditorStats: Texture Lookups (Est.): VS(0), PS(4) [2019.04.18-15.06.55:248][198]MaterialEditorStats: User interpolators: 2/4 Scalars (1/4 Vectors) (TexCoords: 2, Custom: 0) [2019.04.18-15.06.57:144][424]LogMaterial: Display: Missing cached shader map for material M_Tech_Hex_Tile_Pulse, compiling. [2019.04.18-15.06.59:674][676]MaterialEditorStats: Base pass shader: 128 instructions [2019.04.18-15.06.59:674][676]MaterialEditorStats: Base pass shader with Surface Lightmap: 146 instructions [2019.04.18-15.06.59:675][676]MaterialEditorStats: Base pass shader with Volumetric Lightmap: 202 instructions [2019.04.18-15.06.59:675][676]MaterialEditorStats: Base pass vertex shader: 36 instructions [2019.04.18-15.06.59:675][676]MaterialEditorStats: Texture samplers: 6/16 [2019.04.18-15.06.59:675][676]MaterialEditorStats: Texture Lookups (Est.): VS(0), PS(4) [2019.04.18-15.06.59:675][676]MaterialEditorStats: User interpolators: 2/4 Scalars (1/4 Vectors) (TexCoords: 2, Custom: 0) [2019.04.18-15.07.08:992][766]LogMaterial: Display: Missing cached shader map for material M_Tech_Hex_Tile_Pulse, compiling. [2019.04.18-15.07.09:020][766]LogMaterial: Display: Missing cached shader map for material FMatExpressionPreview MaterialExpressionTextureSample_40, compiling. [2019.04.18-15.07.09:048][766]LogMaterial: Display: Missing cached shader map for material M_Tech_Hex_Tile_Pulse, compiling. [2019.04.18-15.07.12:032][ 15]MaterialEditorStats: Base pass shader: 128 instructions [2019.04.18-15.07.12:032][ 15]MaterialEditorStats: Base pass shader with Surface Lightmap: 146 instructions [2019.04.18-15.07.12:032][ 15]MaterialEditorStats: Base pass shader with Volumetric Lightmap: 202 instructions [2019.04.18-15.07.12:032][ 15]MaterialEditorStats: Base pass vertex shader: 36 instructions [2019.04.18-15.07.12:033][ 15]MaterialEditorStats: Texture samplers: 7/16 [2019.04.18-15.07.12:033][ 15]MaterialEditorStats: Texture Lookups (Est.): VS(0), PS(4) [2019.04.18-15.07.12:033][ 15]MaterialEditorStats: User interpolators: 2/4 Scalars (1/4 Vectors) (TexCoords: 2, Custom: 0)
Release-4.20.3 (feels very slow)
[2019.04.18-14.53.38:628][ 16]LogMaterial: Display: Missing cached shader map for material M_Tech_Hex_Tile_Pulse, compiling. [2019.04.18-14.53.38:646][ 16]LogMaterial: Display: Missing cached shader map for material M_Tech_Hex_Tile_Pulse, compiling. [2019.04.18-14.53.41:822][363]MaterialEditorStats: Base pass shader: 124 instructions [2019.04.18-14.53.41:822][363]MaterialEditorStats: Base pass shader with Surface Lightmap: 141 instructions [2019.04.18-14.53.41:822][363]MaterialEditorStats: Base pass shader with Volumetric Lightmap: 197 instructions [2019.04.18-14.53.41:822][363]MaterialEditorStats: Base pass vertex shader: 36 instructions [2019.04.18-14.53.41:822][363]MaterialEditorStats: Texture samplers: 6/16 [2019.04.18-14.53.41:822][363]MaterialEditorStats: Texture Lookups (Est.): VS(0), PS(4) [2019.04.18-14.53.41:822][363]MaterialEditorStats: User interpolators: 2/4 Scalars (1/4 Vectors) (TexCoords: 2, Custom: 0) [2019.04.18-14.53.43:220][529]LogMaterial: Display: Missing cached shader map for material M_Tech_Hex_Tile_Pulse, compiling. [2019.04.18-14.53.57:198][143]LogMaterial: Display: Missing cached shader map for material M_Tech_Hex_Tile_Pulse, compiling. [2019.04.18-14.53.57:227][143]LogMaterial: Display: Missing cached shader map for material FMatExpressionPreview MaterialExpressionTextureSample_40, compiling. [2019.04.18-14.53.57:255][143]LogMaterial: Display: Missing cached shader map for material M_Tech_Hex_Tile_Pulse, compiling. [2019.04.18-14.54.00:991][508]MaterialEditorStats: Base pass shader: 124 instructions [2019.04.18-14.54.00:991][508]MaterialEditorStats: Base pass shader with Surface Lightmap: 141 instructions [2019.04.18-14.54.00:991][508]MaterialEditorStats: Base pass shader with Volumetric Lightmap: 197 instructions [2019.04.18-14.54.00:991][508]MaterialEditorStats: Base pass vertex shader: 36 instructions [2019.04.18-14.54.00:991][508]MaterialEditorStats: Texture samplers: 7/16 [2019.04.18-14.54.00:991][508]MaterialEditorStats: Texture Lookups (Est.): VS(0), PS(4) [2019.04.18-14.54.00:991][508]MaterialEditorStats: User interpolators: 2/4 Scalars (1/4 Vectors) (TexCoords: 2, Custom: 0)
Release-4.18 (THIS FELT RIGHT. Quick compiles, speedy workflow)
[2019.04.18-15.29.13:632][633]MaterialEditorStats: User interpolators: 2/4 Scalars (1/4 Vectors) (TexCoords: 2, Custom: 0) [2019.04.18-15.29.22:695][380]LogMaterial: Missing cached shader map for material M_Tech_Hex_Tile_Pulse, compiling. [2019.04.18-15.29.23:164][409]MaterialEditorStats: Base pass shader: 124 instructions [2019.04.18-15.29.23:164][409]MaterialEditorStats: Base pass shader with Surface Lightmap: 141 instructions [2019.04.18-15.29.23:164][409]MaterialEditorStats: Base pass shader with Volumetric Lightmap: 197 instructions [2019.04.18-15.29.23:164][409]MaterialEditorStats: Vertex shader: 31 instructions [2019.04.18-15.29.23:164][409]MaterialEditorStats: Texture samplers: 6/16 [2019.04.18-15.29.23:164][409]MaterialEditorStats: User interpolators: 2/4 Scalars (1/4 Vectors) (TexCoords: 2, Custom: 0) [2019.04.18-15.29.29:847][ 26]LogSlate: Took 0.000160 seconds to synchronously load lazily loaded font '../../../Engine/Content/Slate/Fonts/Roboto-Light.ttf' (159K) [2019.04.18-15.29.31:140][118]LogMaterial: Missing cached shader map for material M_Tech_Hex_Tile_Pulse, compiling. [2019.04.18-15.29.31:160][118]LogMaterial: Missing cached shader map for material FMatExpressionPreview MaterialExpressionTextureSample_40, compiling. [2019.04.18-15.29.31:631][140]MaterialEditorStats: Base pass shader: 124 instructions [2019.04.18-15.29.31:631][140]MaterialEditorStats: Base pass shader with Surface Lightmap: 141 instructions [2019.04.18-15.29.31:631][140]MaterialEditorStats: Base pass shader with Volumetric Lightmap: 197 instructions [2019.04.18-15.29.31:631][140]MaterialEditorStats: Vertex shader: 31 instructions [2019.04.18-15.29.31:631][140]MaterialEditorStats: Texture samplers: 7/16 [2019.04.18-15.29.31:631][140]MaterialEditorStats: User interpolators: 2/4 Scalars (1/4 Vectors) (TexCoords: 2, Custom: 0)
Release-4.7.6 (Feels VERY fast)
[2019.04.17-19.37.09:294][689]LogMaterial: Missing cached shader map for material M_Tech_Hex_Tile_Pulse, compiling. [2019.04.17-19.37.09:299][689]LogMaterial: 0.000052 seconds spent updating 1 materials, 1 interfaces, 0 instances, 0 with static permutations. [2019.04.17-19.37.10:213][796]MaterialEditorStats: Info Base pass shader with static lighting: 94 instructions [2019.04.17-19.37.10:213][796]MaterialEditorStats: Info Base pass shader with only dynamic lighting: 63 instructions [2019.04.17-19.37.10:213][796]MaterialEditorStats: Info Vertex shader: 33 instructions [2019.04.17-19.37.10:213][796]MaterialEditorStats: Info Texture samplers: 5/16 [2019.04.17-19.38.49:541][242]LogTexture:Display: Building textures: T_Tech_Dot_M (AutoDXT) [2019.04.17-19.38.49:580][242]LogMaterial: Missing cached shader map for material M_Tech_Hex_Tile_Pulse, compiling. [2019.04.17-19.38.49:584][242]LogMaterial: 0.000066 seconds spent updating 1 materials, 1 interfaces, 0 instances, 0 with static permutations. [2019.04.17-19.38.49:605][242]LogMaterial: Missing cached shader map for material FMatExpressionPreview MaterialExpressionTextureSample_40, compiling. [2019.04.17-19.38.50:532][353]MaterialEditorStats: Info Base pass shader with static lighting: 94 instructions [2019.04.17-19.38.50:532][353]MaterialEditorStats: Info Base pass shader with only dynamic lighting: 63 instructions [2019.04.17-19.38.50:532][353]MaterialEditorStats: Info Vertex shader: 33 instructions [2019.04.17-19.38.50:532][353]MaterialEditorStats: Info Texture samplers: 6/16
Result:
Observe that intruction counts for all passes are higher than in previous versions of the engine. (comparison below)
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-72985 in the post.
10 |
Component | UE - Graphics Features |
---|---|
Affects Versions | 4.22, 4.23 |
Created | Apr 17, 2019 |
---|---|
Resolved | Aug 27, 2021 |
Updated | Aug 27, 2021 |