RAM and VRAM Consumption Question

Hey All!

I have a question that I may already know the answer to, but I figure that if anybody has figured out it'd be this community...

I have a hefty amount of VRAM and system RAM, but I'm trying to render out some agonizingly large scenes (like, multiple 8K texture maps, multiple SubD 4 G8, and at some absurd resolution like 13000x8000).  I UNDERSTAND this is a very strange use case, but let's just assume I'm doing this for a reason and that it's kind of critical I fit all of this in one render for it to be a success.

DAZ is crashing out when it comes to render, and it's clear that this is because I'm running out of memory.  Now, I DO have enough memory to render the image (I think), but I think my issue is that the scene file being open is eating so much memory from DAZ.  My question is this:

 

Is there some kind of server or remote render setup I can do so that I can send the scenes straight to render without the whole thing having to be open on the computer, as well? 

 

I understand that the file would probably need to be opened in DS, hence the biggest issue...  I can probably export out the characters as OBJ, re-import and texture, and remove the origional models (saving on morph and character data), but would that even make a huge difference?

My use case aside, if you were to trim all of this down, I'm sure somebody has had the same issue as me...  is it possible to do this, or is it a non-start?

 

Comments

  • The issue is most likely the converting for the scene data to Iray data - they are very diffrent, the scene has base meshes with all sorts of modifiers applied while Iray needs only the final state of the geometry (but at the final division level, not Viewport), the working scene has downsampled textures while Iray wants the full resolution. As a result the preparation stage needs enough memory for both sets of data, even if the Iray data is then passed to the GPU or a remote machine running Iray Server for rendering. You could try converting all the figure to props, then save (under a new name - actually I try to do that before making drastic changes like this), close DS, restart, load and see if that will render.

  • jestmartjestmart Posts: 4,449

    Given the pixel size of the final image do you really need 8k textures, I think not.

  • TaozTaoz Posts: 9,979

    If virtual memory is allowed to expand unlimited (System Managed Size), and you have enough space on the drive where the swap file is, it should work if it's more system RAM you need.  It's just slow (especially with a HDD) and Windows may seem like it's frozen for a long time (I had one case where it took almost an hour of swapping before it started responding again, but it rendered fine afterwards). 

  • duckbombduckbomb Posts: 585

    Hi all!  I'm sorry for posting a question and then ignoring the responses!  The weirdest thing happened, but within 1 hour of posting here I got such a bad stomach flu I've been basically laid up in bed since Friday!  No worries, it wasn't THAT kind of sick... and I'm feeling much better.  I just felt bad because I solicited help and then kinda dissapeared.  I don't know how to do multiple quotes in one post, so I'll just respond below lol.

     

    Richard - Thanks!  I was thinking something along those lines, but I'm glad to have you confirm it.  I suppose if this is what I need to do then it's better than not letting it render at all!  I've done the whole export-out-as-an-OBJ thing, but it's kind of frustrating because the textures rarely come back just right, and I spend a lot of time manually adding all of the texture settings back on.  I'm assuming that if I do it as a Prop it will retain all of the texture info?  This is a very good option.

     

    Jestmart - This is actually something I was struggling with...  IF my final render is something like 13k by 8k, wouldn't I want my larger textures, like walls or floors, to be 8K?  I guess I don't understand UV maps... but if my UV map is 8K, and the actual item on the texture consumes only 20% of that UV map, then wouldn't the actual texture on the item be less than 4K?  Or am I missing something?

     

    Toaz - Yes, you are right.  Unfortunately, in this case, it eventually just crashes out with an "unexpected error".  I actually think it's IRay crashing out, though, because even if I load up a new scene to render again I can't render anything because I get the message that the iray render engine is in use, and I need to do a hard restart to fix it.  A little weird, a lot annoying lol.  I've had some instances that you refer to, however, where I didn't have the patience to wait and just let it crash out, but more often than not it crashes out with an error before I run out of patience with it.

  • jestmartjestmart Posts: 4,449
    edited August 2021

    If the models are badly UV mapped then yes the textures would need to be inefficiently large, this is when I would consider tileable or procedual shaders for those surfaces.

    Post edited by jestmart on
  • You can use Edit>Figure>Rigging>Convert Figure to prop, rather than export as OBJ and reimport, which should preserve all material settings.

  • FrinkkyFrinkky Posts: 388

    duckbomb said:

    Jestmart - This is actually something I was struggling with...  IF my final render is something like 13k by 8k, wouldn't I want my larger textures, like walls or floors, to be 8K?  I guess I don't understand UV maps... but if my UV map is 8K, and the actual item on the texture consumes only 20% of that UV map, then wouldn't the actual texture on the item be less than 4K?  Or am I missing something?

     Consider this simple example and taking in to consideration your render size: you have a wall with 8k^2 textures. If this wall occupies roughly 8k of space (height or width) in the final render then you will get benefit of those 8k^2 textures. However, if the wall is somewhat further back in the scene and occupies about 4k^2 in the final render then you could swap out those 8k textures with 4k versions with no discernable loss in render quality, reducing the VRAM overhead by 75%. It can be harder to estimate the render area when it comes to more complex meshes, such as characters. Considering a character - if the whole character is visible you may well be fine with 4k textures. Depth of field might also allow you to use lower resolution textures.

    You might also consider rendering at a lower resolution (from 50%; 6500x4000, or 75%; 9750x6000) and use an AI upscaler to increase resolution to 13kx8k. Again, DoF and/or post-processing may well help hide any artefacts introduced in the upscaling.

Sign In or Register to comment.