2022-08-22 Eevee/Viewport Module Meeting

Practical Info

This is a weekly video chat meeting for planning and discussion of Blender Eevee/viewport module development. Any contributor (developer, UI/UX designer, writer, …) working on Eevee/viewport in Blender is welcome to join.

For users and other interested parties, we ask to read the meeting notes instead so that the meeting can remain focused.

  • Google Meet
  • Next Meeting: August 29, 2022, 11:30 AM to 12:00 PM Amsterdam Time (Your local time: 2022-08-29T09:30:00Z2022-08-29T10:00:00Z)

Attendees:

  • Omar Emara
  • Clément Foucault
  • Michael Parkin-White
  • Jeroen Bakker

Eevee Next

  • Started with the new shadow, found a bad performance hit when porting over from the eevee-next branch. Previous implementation required to much data sync between ram and vram.
  • To solve this the draw manager has to be refactored. Currently in the progress. Hope to have something working at the end of this week.
    • This refactor will also use a CPP API. The implementation is done beside the old draw manager, that is still being used by the other draw engines. A future project needs to be done to migrate the draw engines to the new API.
    • The new draw manager is instance based, what means that a draw manager per view is created. This might solve some long standing issues where rendering locks updating a 3d viewport/image editor.
  • Last week preparations were done to add cryptomatte to EEVEE-Next. This week the work will continue.

Viewport compositing

  • Continue implementing nodes from the distortion and filter category.
  • Fixed some bugs.

Metal Backend

  • Metal shader progresses (currently in review). There is a good feedback loop between the questions and answers.
  • On Apple silicon complex shader graphs are noticable slow. By changing the uniform attachments with const attachments the performance can be 2-3 faster. Question if we would support an optimized and an interactive workflow for the shaders:
    • Before Eevee everything was const-based, but this didn’t work for interactivity.
    • There are ideas to have a more optimized workflow for shaders, but it isn’t clear how this would look like or work.
    • Michael proposes a priority type of approach where uniform are first compiled, when finished shaders can be compiled with const. He will start a prototype to see how this will work so a good design can be crafted.
15 Likes

Great to hear about Metal!

I noticed that as well, on my 16" M1 Pro Macbook. Modeling, even with 30 million edges, is just fine. But shader compiling or getting Eevee up and running in some scenes, was stalling for a good while. Once it was compiled, it was ok, but still noticeable FPS hit. But useable for smaller scenes/nothing too crazy…

Too many procedural shaders/nodes as mentioned, was killing it the most. Although my windows desktop (with older hardware, 980TI) would choke on the same scene as well, or lockup/crash.

1 Like

Will Evee NEXT work with older AMD cards ?

@Lloyd_Almeida Depends on what you mean with older. We target OpenGL 4.3 for now. Even than we might need to add special workarounds for certain cards.

Since Cycles X there has been limited or no support for AMD cards except their latest Models. Just wondering if it will be the similar situation with EVEE. Thanks.

Will Eevee Next on Mac (Metal) support multi-GPU configurations?

The wonderful people at AMD are working hard to add more cards back in each release. Development does take a lot of time. Sometimes features are removed temporarily in order to speed up development. If we would release a new feature when it is fully finished and compatible with each platform CyclesX would still not been released and the features that have been added lately would not have been started yet. So even when platform isn’t supported mind that many people are working hard to get them ready.

Multiple gpu support isn’t planned yet. Not sure if it actually makes sense to request that due to the shared memory.

4 Likes

Isn’t it the case that just using the Metal API turns on multi-GPU support?

If its up to AMD sadly Users are out of luck … The situation with AMD GPUs is even worse since CyclesX with the switch from OpenCL to HIP ( Not only are most GPUs not supported anymore even their latest GPUs performance is less than NVIDIA’S last Gen ). Its been more than a year so I don’t think they are competent enough to get earlier hardware supported ( The Metal team has managed to do it !! ) If Eevee NEXT is dependent on AMD HIP that’s really sad news for Users.

Please be respectful!

1 Like

And please don’t assume that EEVEE-Next is based on HIP. Where did you get that rumour from?

3 Likes

Plenty of AMD GPUs support OpenGL 4.3 - all GCN and later GPUs should (AKA everything after and including r7 200 GPUs - r7 300, rx 400, rx 500, rx 5000, rx 6000…). The ones that don’t are close to 10 years old, which is below minimum Blender spec anyways, and are Terascale which is also listed as below minimum spec already. At that point, you should get a new GPU, the performance boost will be massive. M1 isn’t 9+ years old and is just a few (3-4?) SoCs, it’s not multiple generations of probably about 50 or more different GPUs with different architectures. If you can afford an M1 PC, you can definitely afford at least a 6800xt.
If you need even more confirmation, my RX 480 is working fine with Eevee-next in master.

5 Likes