huge rendering slowdown in an empty scene if there is a phoenix container

The first frame is just insanely long. The second is faster. And why? I remember there was a similar thing about five years ago, when visually an empty grid was rendering for a hell of a long time.
ihatebugs.zip (626 KB)
ihatebugs_rename_extesion_to_z01.zip (2 MB)

I managed to debug the scene and the reason for the slowdown is quite odd. It seems the specific VRayCamera settings (Vignetting, low F-number, Motion blur, and DOF) together with an empty Phoenix Container cause a slowdown. I am not certain what exactly is happening; I’ll forward the information to the developers. It is optimizable (adding vignetting in post, lowering grid resolution, adjusting camera settings, etc.), however, I don’t see the use of keeping the empty container. I will write back with more information.

EDIT: FYI, logged the issue (internal bug-tracker id: PHI-6456) .

Hey,

Probably the slowdown happens because:

  • With Motion Blur, we can’t do out empty space optimization of volumes - the Optimize Big Volumetric Grids option can’t work, so this makes rendering very slow
  • With Motion Blur and DOF rendering does a lot of sampling, and when the empty space optimization is off, it does not know that it samples useless data, so it’s just slow
  • Not sure why and how vignetting plays into this, but the above two are slow enough.

I can’t think of a good solution to this. Even if we do a prepass and find out that the entire grid is empty and render it quickly, then you could have a huge empty grid with just one visible voxel - then this will render slow as hell also.

You gotta think about a way to Not render empty grids in the first place - this will be the good solution to this problem.

Cheers!

Quite interesting - it samples pure zero and it takes alot of time. Weird :slight_smile: