Hi GPU memory use

when I start an empty project, Create already shows 2.5GiB of memory use but now I have a new project where Create is using 7.5GiB, it’s a project with several components but nothing really over the top, rather simple. I had a hang earlier on so had to restart Create but it seems that the memory is still in use somewhere and that Create doesn’t clean up the GPU memory correctly, I often see very hi memory use on simple projects with just a few materials, why ?

I just checked out the memory use on a simple environment here, the ZetoCGcom_ExhibitionHall_Interior1.hdr is 88,5Mo on hard disc and when loaded into Create the memory uses 800Mo in realtime render, 1.8Go in Interactive render and 5.1Go in Accurate render without using any materials, that’s really a lot. Further on when you switch back from Accurate Render to Interactive render the memory use goes even further up instead of back down. When I remove the environnent memory use stays at the same level and doesn’t go down, I tested in several projects. I really love the concept of Create but for now it’s really hard to work with it.


Win 10 64bits, RTX3080Ti, GPU Driver 516.59

Create 2022.1.3

Hello HansVanEven

Not everything is evicted from memory by simply unloading a scene, but when memory is under pressure some eviction should occur. That being said we are working on reducing the base memory usage of the different renderers for future releases.

Do you end up crashing out of memory?

1 Like

yes I often end up crashing, I thought I had a good GPU but the memory use in Create is very high, not sure if I’m the only one with this issue, seems others can get work done but for now it’s really had to work for me

For now I would advise using RTX - Interactive (Path Tracing) or RTX - Real-Time as the memory usage will be lower. In more complex scenes, you could benefit from texture streaming (settings are in the Common render settings for Real-Time and Interactive), and possibly from clamping the max texture resolution or texture streaming budget if necessary.

1 Like

Thanks Philippe, not sure if I understand these settings well, I just checked but that becomes a little complex, i’ll check it out more in the help section. thanks

@HansVanEven ,

You are not the only one with this issue, at the moment seems like omniverse require really really high specs (like 3090 or A5000 and above) for it to work without hitting such bottlenecks or the other way is to use instancing for most of the objects to save on memory if your projects allows it . Personally I am using 3080TI too at home and quite easily hit memory bottleneck for most of the archviz work I do, at workplace currently I have the luxury of a RTX A6000 so GPU memory is not an issue but system ram usage is still very high.
Performance to cost ratio of the RTX A6000 in create is not up to expectation actually, like in a actual archviz project in RTX mode with just some settings tune up I am getting around 25-30+ fps although got to say the RTXA6000 is the most stable and quiet GPU I have used. Hopefully the omniverse team could optimize the software performance better or the next gen hardware could brute force the performance for better user experience because there is so much potential and things I do like about using create.

1 Like

Thanks David, good to hear I’m not the only one, hopefully this can be updated in future builds. The A6000 cards are really expensive, so not for my budget as I’m a freelancer, maybe I should think of adding another RTX3080Ti but these make some noise so not sure that’s the best solution. I come from Keyshot which is great but limited in some points and hope to work more with Create in the near future for my job.

Question, what’s instancing ?

thanks,

Hans

Hi @HansVanEven ,

First off really would not recommend adding another RTX3080Ti as you will still face the issue of hitting the memory limit of 12 GB of the 3080Ti even thou you have two of that as there is no way to do a NVlink on two 3080Ti, unlike the 2 x RTX 3090 (24GB+24GB ->48 GB) which can be NVlink to make a unified 48GB GPU memory. I would say in most cases 24GB of the 3090 is already more than suitable for most use cases.

About instancing , in general it means the same asset but having multiple copies in the scene but it does not take up extra memory if instance as its footprint is only loaded once. How you get an asset loaded as instances will depends on your DCC and your workflow, for me there is an option in 3dsmax to export instance objects. The other method is to export assets into the library folder (recommend exploring and building/importing your own library as it is such an underrated feature of create; this makes future work a lot faster) of create and drag then into the scene (Normally for foliage and accessories assets ).

Example: the three building is the same model in instance, they can be scale rotate and move independently(instance draw back is you can’t modify the color/material and hiding/deleting sub objects of the assets; if you need to do this then you can’t use instance ) and it does not take up three times the memory footprint if they are instance.
So for assets that you have multiples copies in the scene like foliage, furniture, background characters and anything that you assemble modularly they are huge memory saver.
Hope this explains it or someone else can help chip in as I maybe wrong on the technical side of explanation

1 Like

Thanks so much David for taking the time to explain this to me, much appreciated, I see the advantage of this now. My models are less complex then yours (musical instruments) but often use small parts that can be instanced this way.

Sad to see you can’t link two 3080Ti cards, I should have gone for the 3090 card when I bought my new computer, let’s hope Nvidia can reduce memory use in next builds :)

Another example, I have this basic setup which shows me 0.0 bytes available, where is the rest of my memory ?

and then a few seconds later it shows this 3.7GiB available while I didn’t change anything ?

This is using a simple Create environment, using HDR light studio connector (which I bought to use with Create) is even worse, really strange things happening regarding memory.

Not sure what changed in the last version 2022.1.4 but I have better experience and less memory usage using HDR light studio, it’s also better using internal environments as long as I don’t use the Iray render, switching between render engines doesn’t seem to evict data from GPU correctly so you end up using as much memory if you switch back from Iray to Patch tracing which is odd. You have to restart Create to evict data from GPU memory