Hello,
Im after some advice, if any one is feeling generous...
Recently I have been making projects with higher poly counts, such as large scale airports and high poly kitchen appliances. Quite quickly I come across problems with Vram, not enough Vram.
I go through striping models down as much as possible, use instancing as much as possible, reduce texture sizes (so they'll be 512px or lower if not close for example) and use octane textures as much as I can rather than image textures.
I'm wondering how others deal with such scenarios, for example, I had a cad model of a fridge freezer which i stripped down re topped as much as I could, but it still had 15m polys, then I had to fill it full of photoreal food! In the end it wouldn't render locally and I had to send to render farm. Is there a 'limit' on how high a poly count octane can handle, are other renderers more or less capable (i really dont want to move from octane even for single projects!)
I currently have my main PC which has an i9, 64gb ram and 2 x 3080 (10gb, but i can only seem to use 6gb), and a slave pc with 4 x 1080ti.
If anyone can offer advice or links to how to best control these problems or best practices, like would it be more efficient to combine models so they are high poly but less objects?
Any help much appreciated
Cheers
AK
Vram management
Moderators: ChrisHekman, aoktar
seems like You are already doing quite a bit to optimize Your scenes and know the most that is important.
if You want to have more usable VRAM, mix those cards that You have so, You would have screen card + render card. Even if You do not use GPU for screens but it still runs in WDDM driver mode, it would be still 1.5-1.7 GB unavailable (unless You get TitanRTX or any of Quadros that allow to run in TCC mode, disabling their screen output capabilities).
Anyway, if You have screen card + render card and You work with smth in the background, Your render card should be usable at the most TotalVRAM - 1.5gb & then You have Out OF Core. Since it's recommended to have 3-4x RAM, compared to VRAM, I would not set OOC too high, as with 10GB GPU and some tasks in the background, You might already use like 40-50GB at some point, so not much being left, but You can set few GB of OOC, just to have some room to breath.
Overall, I understand it's an investment, but the best would be to look for 24 GB card (TitanRTX, 3090, 3090ti, 4090.. new or used) and double the RAM to 128gb,. This in effect would give You like 3x of usable VRAM compared to what You have now and extra RAM would allow to utilize card properly.
if You want to have more usable VRAM, mix those cards that You have so, You would have screen card + render card. Even if You do not use GPU for screens but it still runs in WDDM driver mode, it would be still 1.5-1.7 GB unavailable (unless You get TitanRTX or any of Quadros that allow to run in TCC mode, disabling their screen output capabilities).
Anyway, if You have screen card + render card and You work with smth in the background, Your render card should be usable at the most TotalVRAM - 1.5gb & then You have Out OF Core. Since it's recommended to have 3-4x RAM, compared to VRAM, I would not set OOC too high, as with 10GB GPU and some tasks in the background, You might already use like 40-50GB at some point, so not much being left, but You can set few GB of OOC, just to have some room to breath.
Overall, I understand it's an investment, but the best would be to look for 24 GB card (TitanRTX, 3090, 3090ti, 4090.. new or used) and double the RAM to 128gb,. This in effect would give You like 3x of usable VRAM compared to what You have now and extra RAM would allow to utilize card properly.
Thanks guys, that's really helpful stuff
Yer I use only tiffs for inputs and exrs for output (99% of the time)
I work at a smallish studio, but we do big jobs frequently, what id like to know is how 'bigger' studios (3d guys), handle huge scenes, My Post manager keeps saying that he sees content that is large in its scope (high poly/ highly detailed geometry) and wonders why I cant do it with the hardware I have, as it cost quite a bit! My answer is usually, as you have said, i need more headroom so buy bigger cards. Is it that way for the bigger guys? they have better hardware? or is it a better workflow to segment how things are rendered?
Yer I work off 3 monitors, 2 monitors on GPU0 and 1 on GPU1, how much impact does (might) that have? Ive tried figuring it out with task manager, and unplugging and rendering etc, but cant see much difference.
One last thing, I know the 3080s don't have NVlink, but if i have relevant cards, does that work with octane? would it give me more headroom/ or do that and slow down the render time?
Thank you again, I'm the only 3D man here so I've no one to ask, this forum is so helpful to me
Thanks
AK
Yer I use only tiffs for inputs and exrs for output (99% of the time)
I work at a smallish studio, but we do big jobs frequently, what id like to know is how 'bigger' studios (3d guys), handle huge scenes, My Post manager keeps saying that he sees content that is large in its scope (high poly/ highly detailed geometry) and wonders why I cant do it with the hardware I have, as it cost quite a bit! My answer is usually, as you have said, i need more headroom so buy bigger cards. Is it that way for the bigger guys? they have better hardware? or is it a better workflow to segment how things are rendered?
Yer I work off 3 monitors, 2 monitors on GPU0 and 1 on GPU1, how much impact does (might) that have? Ive tried figuring it out with task manager, and unplugging and rendering etc, but cant see much difference.
One last thing, I know the 3080s don't have NVlink, but if i have relevant cards, does that work with octane? would it give me more headroom/ or do that and slow down the render time?
Thank you again, I'm the only 3D man here so I've no one to ask, this forum is so helpful to me
Thanks
AK
// Windows 10 // 2 x RTX3080 // 4x GTX1080Ti // Octane Latest // Cinema 4D 2024 //
One thing I didn't see mentioned in this thread is that you can reduce the "Engine Runtime Data" portion of your VRAM requirements by reducing the Parallel Samples/Max Tile Samples from their default 16/32 in the kernel settings. The relatively modest scene I'm working on right now goes from using 87 MB of VRAM at 1/1 to 3 GB of VRAM at 32/64 samples.
Animation Technical Director - Washington DC
Thank you again guys I really appreciate it
After sharing your thought with boss, we are looking in to some upgrades, maybe swapping out the 2 x 3080s for 1 x 4090 and another smaller card for monitors. Or adding a new machine with that set up and keeping the 3080 machine for a new slave.
I have dropped parallel samples but only ever to maybe 8/16. What kind of performance hit do you get if dropped to 1/1? I mean i can test this my self of course, just wondering about your experience. (say on a scene that would take 1 min per frame at 32/64)
I think I have some great stuff to work with now, I'm glad i've been covering most of this already (i do fear i miss obvious things sometimes!) but those guides that were posted are really great thank you
Thanks guys
AK
After sharing your thought with boss, we are looking in to some upgrades, maybe swapping out the 2 x 3080s for 1 x 4090 and another smaller card for monitors. Or adding a new machine with that set up and keeping the 3080 machine for a new slave.
I have dropped parallel samples but only ever to maybe 8/16. What kind of performance hit do you get if dropped to 1/1? I mean i can test this my self of course, just wondering about your experience. (say on a scene that would take 1 min per frame at 32/64)
I think I have some great stuff to work with now, I'm glad i've been covering most of this already (i do fear i miss obvious things sometimes!) but those guides that were posted are really great thank you
Thanks guys
AK
// Windows 10 // 2 x RTX3080 // 4x GTX1080Ti // Octane Latest // Cinema 4D 2024 //
Sorry, a follow up question!
I have been experimenting with low parallel samples, and it i think there's a good balance for reducing Vram and not increasing render time so much, that's great.
I have also been trying changing the texture 'import type' from auto to 16>8, my question is, as this doesn't seem to effect the texture noticeably so far, are there considerations i need to make, like don't do that if its a hero texture or something? It does seem to reduce memory usage abit, so in a texture heavy scene may be a good tool!
Cheers!
AK
I have been experimenting with low parallel samples, and it i think there's a good balance for reducing Vram and not increasing render time so much, that's great.
I have also been trying changing the texture 'import type' from auto to 16>8, my question is, as this doesn't seem to effect the texture noticeably so far, are there considerations i need to make, like don't do that if its a hero texture or something? It does seem to reduce memory usage abit, so in a texture heavy scene may be a good tool!
Cheers!
AK
// Windows 10 // 2 x RTX3080 // 4x GTX1080Ti // Octane Latest // Cinema 4D 2024 //
In my experience, the vast majority of textures can be 8 bit per color channel, whether RGB or grayscale. It's really only HDR light sources/environments and displacements or imagery that needs to go through a Gradient or Color Correction node that I always go with 16 or 32 bits. Even on "hero" objects, in my experience, 8 bits is generally fine. It's only on output that I generally go with at least 16 bit to give wiggle room in post.affixxius wrote: I have also been trying changing the texture 'import type' from auto to 16>8, my question is, as this doesn't seem to effect the texture noticeably so far, are there considerations i need to make, like don't do that if its a hero texture or something? It does seem to reduce memory usage abit, so in a texture heavy scene may be a good tool!
Animation Technical Director - Washington DC
15m polys for a fridge freezer seems a bit excessive given the huge swatches of straight lines such a model will have. One bit of advice which can really help here is to experiment with the 'sag' value when importing your cad into c4d.
Instead of just blindly saying that there should be a new polygon every 5 degrees of rotation or every 10mm, instead set the angle value much higher, to something like 30 degrees, then set the sag value to 0.02 as a starting point.
What this does is it vastly reduces the number of polys on very small bevelled edges, but it allows large graceful curves to still have lots of polys. Lower sag values like 0,01 will add more polygons to large curved areas, higher values like 0.05 will reduce them. This alone will probably drop 50-75% of your polygon count.
Next, chill with texture resolutions and depths. Bump, opacity and masks can have their memory footprint cut 66% if they are greyscale by changing the mode in photoshop from RGB colour to greyscale. The file will now only have a single brightness value assigned instead of three RGB values.
Consider how close you will get to labels and how much their resolution truly matters. In real life, pad prints for temperature dials, logos, safety warnings will often be quite soft, maybe the artworks supplied in 600 dpi quality, but printing in a factory often softens this down to a more real world 100 dpi once bleed and rough textured surfaces are taken into account. Test whether any >4k textures really need to be that high.
We often use 4k res textures even on 8k print res renders, by the time reflections, bumps etc are factored in, you really can't tell most of the time. Also remember resolution increases by the square. A 1gb memory 16k res texture will only take up 0.25gb if you drop it to 8k. And only 0.06gb if you make it 4k
Also, not all material channels need the same resolution. 1k res colour channel + 8k res opacity channel is a perfectly valid combo if the opacity cuts into solid blocks of colour.
Cull blank channels. The number of 3d assets I download with huge resolution diffuse, bump, normal, opacity, roughness, gloss maps.... and half of them are solid black or white! Or so close to black or white they may as well not exist. Also, sometimes the spec, roughness and bump channels look identical, but they all have their own textures. Kill them off and link the same single textures back into these slots.
Otherwise, yeah, go grab a 3090 or 4090.
Instead of just blindly saying that there should be a new polygon every 5 degrees of rotation or every 10mm, instead set the angle value much higher, to something like 30 degrees, then set the sag value to 0.02 as a starting point.
What this does is it vastly reduces the number of polys on very small bevelled edges, but it allows large graceful curves to still have lots of polys. Lower sag values like 0,01 will add more polygons to large curved areas, higher values like 0.05 will reduce them. This alone will probably drop 50-75% of your polygon count.
Next, chill with texture resolutions and depths. Bump, opacity and masks can have their memory footprint cut 66% if they are greyscale by changing the mode in photoshop from RGB colour to greyscale. The file will now only have a single brightness value assigned instead of three RGB values.
Consider how close you will get to labels and how much their resolution truly matters. In real life, pad prints for temperature dials, logos, safety warnings will often be quite soft, maybe the artworks supplied in 600 dpi quality, but printing in a factory often softens this down to a more real world 100 dpi once bleed and rough textured surfaces are taken into account. Test whether any >4k textures really need to be that high.
We often use 4k res textures even on 8k print res renders, by the time reflections, bumps etc are factored in, you really can't tell most of the time. Also remember resolution increases by the square. A 1gb memory 16k res texture will only take up 0.25gb if you drop it to 8k. And only 0.06gb if you make it 4k
Also, not all material channels need the same resolution. 1k res colour channel + 8k res opacity channel is a perfectly valid combo if the opacity cuts into solid blocks of colour.
Cull blank channels. The number of 3d assets I download with huge resolution diffuse, bump, normal, opacity, roughness, gloss maps.... and half of them are solid black or white! Or so close to black or white they may as well not exist. Also, sometimes the spec, roughness and bump channels look identical, but they all have their own textures. Kill them off and link the same single textures back into these slots.
Otherwise, yeah, go grab a 3090 or 4090.
Thanks for all that.
The models are supplied as FBX so ive no way to alter them on import unfortunately.
But again, thank you for the tips, its good to hear Im basically doing the right things, and just keep an eye on stuff!
Cheers
AK
The models are supplied as FBX so ive no way to alter them on import unfortunately.
But again, thank you for the tips, its good to hear Im basically doing the right things, and just keep an eye on stuff!
Cheers
AK
// Windows 10 // 2 x RTX3080 // 4x GTX1080Ti // Octane Latest // Cinema 4D 2024 //