Tips to optimize VRAM during Renders - Huge Geometry Requirements
Hi everyone,
I have been experimenting for the last couple of days with how to get my GPU: NVIDIA Geforce GRX 1080 TI (12GB) - to run renders without falling back to CPUs.
I have implemented lots of Tips that I found on the forum, like reducing resolution, and shadow quality, deleting all objects not in the frame (annoying as it is), setting up MLP to 10 in Optimization, and most importantly, adjusting Render SubD levels to 0 for all objects in the scene (the only thing that helped).
My issue comes when Daz3D retrieves the geometry. When it handles the textures when the render is starting up, it runs up to about 3-4 GB, which is fine, but upon hitting the "Retrieving Geometry", spikes up above 12 GB and moves me back into the CPU. After adjusting the SubD of all objects to 0 - I can barely handle rendering the scene on GPU at an average of 10.5 GB, but it is not the greatest quality, and the process is time-consuming.
Are there better ways to handle/reduce geometry? Some stores assets to buy, another setting I didn't find, etc.
Help would be appreciated!
Comments
There is Decimator for DAZ Studio which might do what you want? I don't have it as I've always managed to get scenes under control via other means (Camera View Optimiser, Scene Optimiser, Instancify, Billboards etc) but might be worth reading up on? I think WPGuru did a video on it also a while ago.
I thought I got it under control as well, but now that I shifted to Gen9 and making fairly complicated and detailed scenes, my GPU just can't keep up. Learned a lot about VRAM, though...
Decimator doesn't have what I need + the price is kinda wild, but Instancify looks pretty good - haven't heard of that one. I will purchase the Camera View Optimizer too. For some reason, I didn't realize it could delete objects not in view - that should save time.
I welcome any further recommendations! Thanks!
Yeah, it's a bit of a pricey one so not something to grab if you are not sure it would help.
There are also resource saver shaders you could try - particularly MMX Resource Saver Shaders Collection for Genesis 9 and Iray if you are using those figures. Can't give a review on it as I don't have that yet (it's on the wishlist) as I am still using G8 for my busier scenes but perhaps it could be worth looking in to.
What do you have in your scene if geometry is the problem?
https://www.daz3d.com/scene-optimizer
https://diffeomorphic.blogspot.com/
As you discovered yourself, the two enemies of the gpu are textures and HD geometry. As for G9 unfortunately it is HD based so it doesn't help and make things even worse. The only option you have to reduce the geometry and keep the details is to bake to normal maps first. But there's no tool doing this you have to export to blender and back and do it by hand that's very time consuming. That is, iray may be good for single shots of simple scenes but it is not optimized for animation and rendering of large scenes.
One option is to export to blender then animate and render there, apart getting better tools for everything, cycles is much better optimized than iray. Specifically cycles supports microdisplacement so the geometry will be subdivided only where needed in relation to the camera view.
For geometry be aware of if subD is activated and what level.
I didn't get any notifications and missed a lot of good posts!
As Padone highlighted, the issue originated from G9 HD models.
I have been digging into everything for the past week, and yes, G9 HD models are responsible, so when there are more than 2, everything pretty much goes nuts, no matter how much you optimize. Animations have been fun, to say the least, might need to go the blender route.
Whenever there is more than 1 G9 character, subD goes to 0 for all, or it is an automatic fallback to CPU without around 14 GB available, which can only be done with SLI or a larger card
That's a pretty cool advice, I would have never considered it. Unfortunately, I am using some extremely specific tools (I am the type to just buy everything than reinvent the wheel), and it doesn't seem like some stuff I use would be compatible. However, it does make me wonder if I can go deep into the file system and kill any emulation of RTX features - super interesting idea! I didn't realize that this was a thing.
Check the materials of models using displacements, if you're using any.
Subdivision level for displacements is set in the material, so even if you lower SubD levels in the model's properties, model areas using displacements will still run at whatever SubD level they were set in the material.
Not a setting you have for HD models of course, even tho they're basically the same.
Usually, textures are infinitely more expensive than models so, I don't know how far you've optimized things, but a lot products could have their textures either partially removed from some channels or scaled from 4096 to 1024 without making a visual difference.
I was using a 6Gb GTX 1060 in last December, and was running into the same problems as you, only earlier. I did experiment with what I described, but in all honesty, it simply got me back to te position I was in when I loaded DS4.10 originally, and it was still possible to fill the VRAM with relative ease. I was already contemplating an upgrade to a new machine, and the experience got me to pull the trigger.
Regards,
Richard
That pretty much ended up being the solution, I can now fit even fairly massive renders on 12 GB. It can now handle 3 HD characters and detailed backgrounds, which is great. I haven't seen a quality drop, and even if there would be, the performance benefits are far too great.
Honestly, dropping to Daz 4.10 seemed like too much of a pain + I was worried about performance and quality, but after doing what Strangefate proposed, 12 GB functions well enough. I have an additional Alienware workstation with 8 GB RTX, but it can only handle 2 Characters + Backgrounds, which is still pretty good, in my opinion.
Great solution. I was wondering how you did this. Did you reduced all the texture files, including from the genesis 9 characters? If so, did you created a duplicated folder to keep the HD ones? Thanks