Page MenuHome

3.2 eevee bad performance
Needs Information from Developers, NormalPublic

Description

System Information
Operating system: Windows-10-10.0.19044-SP0 64 Bits
Graphics card: Radeon RX Vega ATI Technologies Inc. 4.5.14800 Core Profile Context 22.4.2 30.0.15021.7000

Blender Version
Broken: version: 3.2.0, branch: master, commit date: 2022-06-08 10:22, hash: rBe05e1e369187
Worked: 3.1.2

Short description of error
Eevee is slower when compiling shaders and on viewport.
Compiling time has doubled and viewport feels laggy when zooming on small details.

Exact steps for others to reproduce the error

  1. Open attached file
  2. Change viewport to material preview

My compiling times went from ~10 seconds (3.1.2) to ~20 seconds (3.2) when limiting blender to one thread.
When disconnecting the bump node both compile in ~3 seconds.
I think it might be a combination of many nodes and bump node.

Event Timeline

System Information
Operating system: Windows-10-10.0.19043-SP0 64 Bits
Graphics card: Radeon RX 570 Series ATI Technologies Inc. 4.5.14800 Core Profile Context 22.5.1 30.0.15021.11005


I was feeling about this too. Yes, my GPU is old, low-end card and I was annoyed by shader compiles all the time but it's actually got worse .

I tried the file @bruno (brunocb) attached and timed shader compile time (used smartphone's stopwatch, timed how much it takes from hitting the Material Preview button to actually showing the material.)

  • 3.1.2: < 1s
  • 3.2: 12-13s
  • 3.3 (04a75c90d58a, June 14th): 12-13s

I also made a test file with little more complex, more "stressful" setup, using chains of bump nodes, procedural texture nodes, and a mix shader node.

Again, timed with the same method:

  • 3.1.2: 1-2s
  • 3.2: 60-67s
  • 3.3 (04a75c90d58a, June 14th): 58-60s

System Information
Operating system: Linux-5.18.3-arch1-1-x86_64-with-glibc2.35 64 Bits
Graphics card: NVIDIA GeForce GTX 1660 Ti/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 515.48.07

Blender Version
Broken: version: 3.2.0, branch: makepkg (modified), commit date: 2022-06-08 10:22, hash: rBe05e1e369187
Worked: version: 3.1.2, branch: master, commit date: 2022-03-31 17:40, hash: cc66d1020c3b

Short description of error
I have a similar feeling here, although the compiling time was quite long for both, version 3.1.2 does not have to recompile them when re-opening the scene (cached). Version 3.2 recompile the whole set of shaders.
I tested one scene of mine with a heavy node graph, times were measured with a stopwatch once hitting the Material Preview button.

  • 3.1.2: > 90s (first time) / 1.5s (other times)
  • 3.2: >120s (everytime)

As for the viewport performances, version 3.1.2 offers realtime navigation, version 3.2 is really laggy.

  • 3.1.2: 30 FPS
  • 3.2: 1.3 FPS
Pratik Borhade (PratikPB2123) changed the task status from Needs Triage to Needs Information from Developers.EditedJun 20 2022, 7:50 AM

Thanks for the report
I've also noticed some differences in shader compiling between 3.2 and 3.1
I'm guessing the same commit as Germano said in T98901 : rB80859a6cb272: GPU: Make nodetree GLSL Codegen render engine agnostic
@Clément Foucault (fclem) , can you check?


As for the viewport performances, version 3.1.2 offers realtime navigation, version 3.2 is really laggy.

Can confirm this as well

I hope something can be done about this. For comparison I opened the classroom scene and switched from Solid Mode to Material Preview Mode in Blender 2.79b and Blender 3.2.

Blender 2.79b - 7s
Blender 3.2 - 90s

Specs: Windows 10, Ryzen 3700X, 64GB RAM, RTX 3060

In general switching to Material Preview Mode takes between 30s in 120s. When you open dozens of scene each day, you can do the math how much time that costs. This is s serious problem and it hasn't been addressed in over a year now.

This one commit rB80859a6cb272: GPU: Make nodetree GLSL Codegen render engine agnostic
seems to have caused some major performance regressions in various areas across Blender. How many does it have to have before it gets reverted? Something needs to be done, instead of ignoring it like we are doing now.

This one commit rB80859a6cb272: GPU: Make nodetree GLSL Codegen render engine agnostic
seems to have caused some major performance regressions in various areas across Blender. How many does it have to have before it gets reverted? Something needs to be done, instead of ignoring it like we are doing now.

I'm really worried about this one because it will let me stack in V3.1 for very long time as my machine is quite new and no way to change it. Hope will get reverted back to as it was in next 3.3 release as is supposed to be LTS.