2024-01-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: January 29, 2023, 11:30 AM to 12:00 PM Amsterdam Time (Your local time: 2024-01-29T10:30:00Z2024-01-29T11:00:00Z)

Attendees:

  • Brecht
  • Jeroen
  • Michael
  • Miguel
  • Thomas

EEVEE

This week we will decide if EEVEE still needs more time to mature and post-pone its release to Blender 4.2. The main issues that we have are performance related.

  • Shadow performance is concerning and hard to mitigate. Currently we have some ideas, but unsure if they make a difference. Ideas experimented this week include filtered importance sampling, pre-filtered shadows which is tricky as it needs to be transposed to multiple level of details (probes).
  • The plan for horizon scan is to share the scan for all BSDFs. However that is more than a simple fix. A solution we are considering is to use spherical harmonics for the accumulation phase the evaluate the SH for each BSDF afterwards.
  • When using Intel GPUs the material shadowing shader cannot be linked. It fails without an error. We bisect the issue back to the specialization constants change. Currently still investigating how to fix the linking error.
  • Low powered GPUs are still concerning. The performance drop for those devices make them unusable. We expect that discrete have more head-room to not show the performance drop that much, compared to low powered GPUs.
  • Other issues include a difference between final image rendering and viewport rendering. Might be related to reflection probes.
  • There are some regressions that needs to be fixed.
  • Another concern is that 4.2 is an LTS release and that might become a bottleneck when the main development branch deviates to much from the LTS branch. This might impact that some improvements can only land in main when the main issues in the LTS branch has been backported. Although this should be manageable as only high prios will be backported and most are expected right after the release.

Next to that some improvements have been made

  • Intel on Metal crash has been fixed, but still has render glitches.
  • Parts of the forward pipeline is skipped when they don’t have any work.
  • Experiments on improving shadow rendering has been tested.

And some patches are in development.

  • Profiling performance report including the GPU module.
  • Read back performance issue from shadow buffer is still being worked on.
  • General register spill/memory bandwidth optimizations are being performed.
  • HiZ update using texture gathering
  • Thread group optimization raster order groups using explicit rasterizing order could remove atomics. Might be portable to vulkan as well.
  • Multiple shader compilation threads.
19 Likes

will be adding 1 or 2 weeks to Bcon2 is enough ? maybe other modules needs it too like grease pencil V3 rewrite ?

Hi all,

yesterday we made a decision about postponing EEVEE-Next. Detailed information can be found at
EEVEE-Next release postponed to Blender 4.2 LTS If the ideas how to mitigate the performance issues were more clear we would have decided differently.

Blender uses a rolling release which means that it is better to keep rolling out releases every few months, then postponing releases until a certain feature is finished.

6 Likes