Memory usage when rendering volumes with motion blur

   1728   0   2
User Avatar
Member
793 posts
Joined: 4月 2020
Offline
Hello Sidefx,

I have several shots with similar setups, a grid that is approximately 500x250x500, containing only density and velocity.

When I just render the density (with camera and object transform motion blur enabled) my memory usage is around 8 gb, the holdouts are done using a deep camera map that includes hard surfaces only.

Now when I turn on geometry motion blur, memory jumps to 24+ gb. I thought this kind of makes sense since now it has to load 4 float fields (with the velocity being much more dense then the density).

I tried masking the velocity to areas where there is density, setting the velocity to 16 bit and down sampling the velocity field to half the size in each direction, this did not change the memory usage (IT was extremely happy with the drastic reduction in file sizes though :-) )

This made me think that it is more the influence of the velocity grid on the density that matters, ie, streaking microvoxels over many more buckets .

I tried to clamp the velocity to “sane” values to make sure we don't streak to much (I am injecting very high velocities into the sim). But this did not help either.

I was wondering if Houdini volumes are using the VGEO_Volume::getBoxes function to only load the parts of a volume that is in the current bucket, or is the whole volume loaded all the time? Also, for mantra, does it matter if a volume is half float? I seem to rember that for geometry mantra still always uses single precision, is that true for volumes?

Do you have any advice on where to start looking and how to debug this?


Any help is greatly appreciated.

Cheers,
Koen
  • Quick Links