PDA

View Full Version : Any tips on optimizing OpenVDB in LW 2019?



NeonZ
01-29-2019, 08:41 PM
First, I'm new to testing the OpenVDB functionality in LW 2019. I can see it has potential. However, trying to use it has been difficult since the sample scene (VDB_snow.lws) brings each computer I've tested with to a halt if I try to expand the animation out beyond 15 or so frames. Even after frame 4 (the default last frame), processing each VDB iteration takes a long time. I've increased the voxel size to .05 to help reduce geometry and render time, but I'd like to test the original size. I then noticed that the OpenVDB process doesn't appear to be multithreaded as much as I'd hoped. Processing the next geometry iteration seems to only consume ~25% of the total CPU of my main workstation (Windows 10 Pro) and only a handful of the processors seem to be used. My initial impressions are that this feature will be unwieldy to use and reduces my willingness to upgrade. However, I've seen a number of nice sample renders on the Facebook groups and I'm hoping my first impressions are wrong. So...

1. Are there any tricks to get OpenVDB perform better?
2. What's the best way to stop OpenVDB from processing when it has essentially caused LW 2019 to "not respond"? (Then I have to force-quit the process in Task Manager)
3. Are there any settings (LW or Windows) to get the OpenVDB processes to utilize more of my CPUs when generating VDB geometry?

oliverhotz
01-29-2019, 08:47 PM
I dont really have time to get into all details, but what I will tell you is this... That example scene in the content, I setup to specifically create an object (at frame 4) that looks like its covered by snow... the detail level, literally everything in that scene, was setup for that one single purpose.. There is no way, with the size of the voxels, that you can just let the simulation "run"... its just not meant to do that, and the scene has the wrong approach for that.

A couple tips:

1) when making adjustments in the scene, that are not relevant to the openvdb evaluation (or seeing it in realtime), disable the vdb object in the scene editor. That disables the evaluation. When all adjustments are made, enalbe it again.
2) In Scenes using the gas solver.. use make preview instead of playing the timeline. That way, you can hit ESC at any point in time, and just watch what you've created until then.
3) OpenVDB is already multithreaded.

CaptainMarlowe
01-29-2019, 10:40 PM
NeonZ, the docs are quite well documented about the new openVDB things, and explains why preview is better than scrubbing (especially backwards) along with some nice basic tuts.

https://docs.lightwave3d.com/lw2019/reference/simulation/openvdb

Hope it helps. It did for me.

NeonZ
01-30-2019, 07:25 AM
Thanks for the feedback, guys. I appreciate it and will be doing more research on OpenVDB in the docs today! Oliver, the scene renders out beautifully. I didn't know it was yours, but appreciate the patience in answering the questions I had about it.