Page 1 of 1
GPU memory maxing out?
Posted: Thu Sep 17, 2020 6:47 pm
by mikeadamwood
I just don't understand this, I'm using the KitBash 3D military pack, and granted they are relatively high poly but nothing crazy. Yet my GPU memory is maxing out.
I have 3x1080tis which are 11GB, and yes before you say it I know it doesn't use the the combined memory and all that. But I've barely got any assets in the scene, I have so much more of the scene to build out and I've ALREADY reached the point where I only have a few hundred MB left in GPU memory. It's basically made it impossible to get any further!? If I add anything to the scene now it just crashes it so I'm royally screwed!
I see people rendering complex cityscapes and having no issue, am I being naive? This scene is like 3-4mil poly which is nothing for offline rendering from my experience :/
Here is the scene in the LV:
And this is basically the scene which is barely any assets:
I can't share the scene as these are obviously licensed assets...
Textures are barely anything, few MB each AND I have out of core set to 10gb...
info
Octane 2020.1.4
C4D S22.118
3x1080ti's
Intel i9 Processor
32GB of RAM
If this is a reality I dont understand how people produce work with lower end cards, as mine are highest end consumer cards pre-rtx.
WTF? Any one shed any light?
EDIT
The C4D file is about 300mb and tex folder is not even over 100mb, how on earth does Octane explode something up into mega file size like this? It makes no sense!
Re: GPU memory maxing out?
Posted: Thu Sep 17, 2020 7:02 pm
by jayroth2020
Hi Mike, two things come to mind: instancing and material VRAM consumption.
Typically, when most people use the Kitbash assets, they just copy and place them in the scene. In the cases where there are many duplicates, this will eat up VRAM on these two fronts. Geometry gets duplicated, consuming VRAM and the materials assigned to the geometry gets duplicated as well. This can add up rather quickly, especially if high resolution image textures are used.
The first thing I would do would be to convert any geometry copy into an instance (set to Render Instance, though feel free to toggle back and forth and check your VRAM consumption). The next thing I would do would be to check for material duplicates, and clean that up as well.
Finally, when done with those, Choose Live Viewer > Materials > Remove Duplicate Materials and Remove Unused Materials. This should go far in freeing up your VRAM. Hope this helps!
Re: GPU memory maxing out?
Posted: Fri Sep 18, 2020 7:25 am
by bepeg4d
Hi,
unfortunately default KiBash 3D elements are wasting a lot of VRAM, and must be optimized.
The first thing to do is to go to Live View , menu Materials/Octane Texture Manager, and select all Roughness and Metallic textures, and change their type from Normal (full RGBA) to Float (one Grayscale channel).
In this way, those textures will consume only 1/4 of VRAM, compared with the Normal mode.
To save more memory, you can also completely remove all the Black Metallic 4k textures, and set the Metallic value at 0.
Please check also the Emitter materials, the Texture Emission color is defined by a Texture, instead of a RGB Spectrum node.
Also these textures are useless, and can be replaced by a simple RGB Spectrum node that does not consume VRAM.
Another way to save a lot of memory is to convert all the textures from PNG 16bit, to JPG 8bit, in this way, you can save more than 3x memory.
Finally you can reduce the resolution of the textures from 4k to 2k, but this could have an impact in quality, if you need to see the textures very closely.
ciao Beppe
Re: GPU memory maxing out?
Posted: Fri Sep 18, 2020 11:39 am
by mikeadamwood
Thanks a lot for the replies and suggestions, converted all grayscale image textures to floats which didn't have much affect unfortunately.
Deleted all displacement maps from the scene and unused materials.
I'm now installing batch image compressor to further destroy the scene. However tbh there's much more work to be done on this project that even if I half the vram size I will still be in the same position later on so I don't see a happy ending in this. My deadline is Sunday too and I've got nowhere.
It baffles me that unreal engine can handle WAY WAY WAY more geometry and texture loading than this. Octane seems to take a few MB texture file and turn it into a GB somewhere along the way.
Even a simple 1 poly plane with nothing else in the scene is coming in at 1.8GB. I know this is probably a naive test but once you start adding things to the scene there seems to be an exponential scale in VRAM use.
If this is the reality of GPU rendering then it's mad that it's as popular as it is, I mean I haven't tried redshift fully yet but damn these limitations are insane.
Re: GPU memory maxing out?
Posted: Fri Sep 18, 2020 12:06 pm
by mikeadamwood
Just used XNConvert to convert all textures to 2000x2000. I ctrl-X'ed them all out of the TEX folder to somewhere else and then outputted them back in using an action inside XN specifying resize to 2000px and keep filenames and filetype the same.
I now have 2.4gb free so I guess I'll continue creeping around trying not to hit my head on the very low ceiling.
Re: GPU memory maxing out?
Posted: Fri Sep 18, 2020 1:44 pm
by nejck
I could be wrong but I think Octane is a little bit more of a "heavy" VRAM eater when it comes to geometry than other GPU renderers. Its just my initial impression so I could be wrong.
Luckily though, you can go OOC which will kill your speed the more OOC you go but it definitely enables you to render out larger scenes.
Re: GPU memory maxing out?
Posted: Fri Sep 18, 2020 5:12 pm
by jayroth2020
Looking at your Live Viewer Info, you have so many textures for what is essentially a simple scene. I was referring to your materials consumption in my previous post. Octane does not stream in or virtualize resources the way that UE does, and is easier to use (with higher quality output) than UE as a result. That capability you reference does not come for free, and UE is a completely different use case than the typical Octane project. But that is a discussion for another time.
Here, we have to deal with the finite capacity of VRAM and what you put into it. The more efficient you are, the better the results. I suspect that you have duplicated assets and duplicated materials, as I just do not see any complexity that would justify those numbers otherwise. That is why I suggested instances and referring as many of your assets as possible to use just one occurrence of a given material. Of course, I am speaking only in abstract terms, as I have not seen your actual scene file (feel free to send a ticket to
[email protected] if you need to).
Ahmet has reminded me that you can also try texture compression and see how that affects your VRAM consumption, as well as reducing your texture size if they are large.