11 Gb VRAM insufficient for 5+ characters for Iray Rendering???

Till now I am really disappointed with Daz Studio (4.9). I think my hadware is not that bad but it seems still not good enough for iray rendering of bigger scenes!!! My actual hardware:

Motherboard: Gigabyte z270x Gaming 7

CPU: i7 7700K

RAM: 32 GB

GPU: 2x GTX 1080 Ti (2x 11 GB VRAM and 2 x 3584 Cuda Cores!!! Is this still too weak?)

I'm trying to render a scene with 6 characters (with clothes and few accessories like watch or wristband) in a plane cabin. I'm using this Daz Article https://www.daz3d.com/jumbo-jet-vip. I ve deleted everything of the plane but my cabin and the 6 passengers. Only the outline of the plane is visible - everything inside but my scene surrounding I ve deleted. But if I try to render this scene, it jumps on my CPU and don't want to rennder it with the GPU!!! I know that two GPU's ain't summarize the VRAM, that means I still have 11 and not 22 GB VRAM (Great, great Job Daz Studio!!!). But I've read that 2GB VRAM can handle 1 character. 4 GB can handle 4 characters. Ok, but even if I have not 22 but rather "only" 11 GB VRAM it should then easily render at least 6 characters in a scene!!! Even 12 should be possible!!! So why it won't render with my GPU a scene with 6 characters??? Is 11 GB VRAM really still too little for Daz3d???

«1

Comments

  • kaotkblisskaotkbliss Posts: 2,914

    When the iray render starts, you can click on the "show more" under the progress bar and in the status text it will eventually show you how much memory is used by geometry, textures and such

    This is before it actually gets into the itterations but you will be able to see where the resources are spent and where you might be able to trim them down. My guess is it's due to large textures.

  • You can also get the information from the log file.

  • ToborTobor Posts: 2,300

    The Iray render panel has two settings that can help if your scene has large geometries and/or textures. One is the Speed/Memory optimization option. This setting affects how Iray internally handles instancing. Normally, iray is set to favor "Speed," which means a larger memory footprint. As you have a capable rig for speed, try setting it to Memory. This tells Iray to instance the scene in a way that will consume less memory, at the expense of slower speed.

    The other option is the texture thresholds setting. You can try fiddling with these a bit, but don't go crazy. You're setting a compression thresold value and at some point there's no real value going over realistic limits.

    http://blog.irayrender.com/post/54506874080/saving-on-texture-memory

    You may have better success going through the applied textures and if they're huge for the scene requirements (you don't really 4K textures if you'r not doing closeups), you can try reducing their size. You have to do all of them, though, to remain consistent. Keep backups.

    Finally, in your work remember to always exit and restart D|S if you run into VRAM memory problems. In fact, you may need to restart your PC to completely clear things.

  • barbultbarbult Posts: 23,151

    And be sure you didn't leave any previous render windows open. Closing DS and restarting will take care of that problen, too.

  • PadonePadone Posts: 3,481
    edited March 2017

    The point is that most content is not optimized for iray rendering. Just give a look at the geometry uv maps and textures in the content folder and you will see by yourself what I mean. I agree with Tobor that the best way is to resize the textures by yourself. You can use xnView for fast batch resizing. Unfortunately this is a necessary and unavoidable job you have to do. If you leave the provided content as is even a Titan card is not enough. I agree with you that this is nonsense. Content providers should be much more careful in designing their content optimizing resources.

    Post edited by Padone on
  • Oso3DOso3D Posts: 14,888

    Another thing to consider, particularly with stuff converted from 3DL, is whether the textures are all even necessary. Among other things, you might want to replace all inner mouth textures with blank white shaders, for any figures whose mouths aren't actually open.

    Many Iray scenes are INCREDIBLY wasteful with gobs of textures that don't matter.

    One of the reasons I like NGS Anagenessis is that it uses only one texture from the figure, and makes a really nice result. That may be as much as 12 texture maps you are skipping on a single figure. Even beyond that, I find that glossy/specular maps are usually unnecessary, displacement maps are pointless for anything but close shots (and are hard to use effectively in Iray anyway), and even bump maps might be much for figures at medium or long range.

     

  • PadonePadone Posts: 3,481
    edited April 2017

    Just to show some application of what is being said here. Here are two renderings of the G3F eye. Both take 120 seconds. The first is with DAZ default content as is. We will call this HQ for high quality. The second is with resized textures and simplified materials. We will call this RR for reduced quality.

    HQ rendering (daz default): 120 sec 354M textures 14 iterations
    RR rendering (optimized materials): 120 sec 10M textures 96 iterations

    Of course the number of iterations may vary depending on your system (mine is very low-end). But the final conclusion is that optimized materials take much less memory and also render much better given the same time. So it is definitely worth spending some time working on optimizing the default content.

    test-HQ-120s.jpg
    480 x 609 - 168K
    test-RR-120s.jpg
    480 x 609 - 77K
    Post edited by Padone on
  • Rafa20Rafa20 Posts: 92

    Thx for the answers and tips! I will try them out. Yeah I did research myself and also came across the texture matter. Someone recommended this tool https://www.daz3d.com/legacy-uvs-for-genesis-3-special-edition-victoria-3. I have all of them and they don't work cause people look for example like this after usage:imageimage

     

    An other tool is "Iray Memory Assistent" https://www.daz3d.com/iray-memory-assistant.

    Here are the dates of my scene: imageimage

    The programm is a lil bit buggy or I don't understand it. Cause if I summarize the used VRAM Megabytes it is less than 7 GB all together! But the tool advises a shortage of 6 Gb VRAM! I also don't get it, why with every usage it adds my GPU? It also shows my available VRAM about 9 GB though I ve got 11. Ok maybe it will be needed for a different calculated process...

    I also have tried to delete everything unnecessary in the scene before. I'm not that experienced with texture maps and their editing. @Tabor How can I reduce the texture size?

    By the way last time I ve tried to render this scene it somehow has chosen my GPU for rendering but an other problem appeared: now when rendering this scene I get all the time the "your computer is low on memory" window message and the programm crashes, though my 32 GB RAM is not even at 50% usage!

    Legacy UV 2.png
    189K
    Legacy UV 1.png
    183K
    Iray Memory Assistent.png
    70K
    Iray Memory Assistent 2.png
    52K
  • PadonePadone Posts: 3,481

    I know memory assistant is very detailed on your scene but I never used it. I believe most of the times the log is enough. Just go to Help > Troubleshooting > View Log and you will see lots of information there.

    As for the legacy V3 uvs for G3F I don't use it too. But I guess it happens because the tool only changes uvs, it doesn't change textures. So you have to apply V3 textures to G3F.

    Anyway I'd stay away from V3 textures. A better way is to resize G3F textures. Just go to the DAZ content folder and use any batch resizing tool of your choice. I like xnView. They are just jpg images so you can handle them as you wish. Of course make a backup first.

    Hope this helps. Happy rendering.

  • nicsttnicstt Posts: 11,714
    edited April 2017

    Another thing to consider, particularly with stuff converted from 3DL, is whether the textures are all even necessary. Among other things, you might want to replace all inner mouth textures with blank white shaders, for any figures whose mouths aren't actually open.

    Many Iray scenes are INCREDIBLY wasteful with gobs of textures that don't matter.

    One of the reasons I like NGS Anagenessis is that it uses only one texture from the figure, and makes a really nice result. That may be as much as 12 texture maps you are skipping on a single figure. Even beyond that, I find that glossy/specular maps are usually unnecessary, displacement maps are pointless for anything but close shots (and are hard to use effectively in Iray anyway), and even bump maps might be much for figures at medium or long range.

     

    +1 on this bit especially.

    If you get GPUz, it will give you a  very accurate useage of GPU ram in use; more accurate than IRAY memory assistant, although it is good I believe for estimating. Of course, if the scene doesn't fit in RAM, you don't know how much it is short by. But adding characters to a scene and checking GPUz is something I've done until it drops to CPU; I've then looked at how much RAM had been in use on the previous test.

    One memory saver (as well as instancing) is to use the same textures on figures in the distance as each other and/or a close to figure; very slight variations of the shader can give different looks (if required).

    To answer OP, 5 or 6 is possible for sure; but will depend on what else besides the say 6 figures are in the scene; I've had 4 on a 980ti, but had to do mess about the the scene to get it them all to render.

    Post edited by nicstt on
  • RuriRuri Posts: 50

    Another thing to consider, particularly with stuff converted from 3DL, is whether the textures are all even necessary. Among other things, you might want to replace all inner mouth textures with blank white shaders, for any figures whose mouths aren't actually open.

    Many Iray scenes are INCREDIBLY wasteful with gobs of textures that don't matter.

    One of the reasons I like NGS Anagenessis is that it uses only one texture from the figure, and makes a really nice result. That may be as much as 12 texture maps you are skipping on a single figure. Even beyond that, I find that glossy/specular maps are usually unnecessary, displacement maps are pointless for anything but close shots (and are hard to use effectively in Iray anyway), and even bump maps might be much for figures at medium or long range.

     

    Hi,

    Just trying to visualize the manual steps to be performed:

    a) Highlight G2/3 figure, go to surface, set all the inner mouth texture to 'None"

    b) Highlight every single object, go to surface, search for Glossy, Specular, displacement maps, set to 0 or if it has texture, to "None"

      i) This is only applicable for non-Iray objects?

      ii) Assuming this is only for non-Iray, should I do it after I applied Uber IRay or before (or order doesnt matter)

     

    c) Use some sort of graphic program capable of mass resize (personally I use Irfanview, but I can try the one above). Set everything to 512x512. Might be too extreme though...heh

    Anything else I can try?

     

  • nicsttnicstt Posts: 11,714
    edited April 2017

    Close eyes if they are away from the camera, and remove textures.

    ... It's been mentioned, but this is a huge help: NGS Agenesis 2; well worth it for the effectiveness of the shader, and the reduction in textures required.

    There is a script to reduce textures; Luispatrick's post links it; i don't use, as I manually do it if i require which is very rare, and I prefer NGS.

    For figures further away, and for those that have normal maps, and bumps too perhaps, remove them; there is a good chance that distance makes them useless

    Render the scene in two parts; close figures, distance items; then combine in post.

    ... Try a different render engine. I've been considering others, although the simplicity of using IRAY as it is built in is always tempting.

    Post edited by nicstt on
  • Padone said:

    The point is that most content is not optimized for iray rendering. Just give a look at the geometry uv maps and textures in the content folder and you will see by yourself what I mean. I agree with Tobor that the best way is to resize the textures by yourself. You can use xnView for fast batch resizing. Unfortunately this is a necessary and unavoidable job you have to do. If you leave the provided content as is even a Titan card is not enough. I agree with you that this is nonsense. Content providers should be much more careful in designing their content optimizing resources.

    Which should they optimize for, close in or distance? They don't know what people are going to use it for, and high detail is what is the.most likely to help sell what they make.

  • ToborTobor Posts: 2,300
    edited April 2017

    Iray may be quitting the GPU for reasons other than VRAM. You can't just assume that's the reason. If you haven't already, install and use a GPU monitoring program like GPU-Z. Start it, select the Sensors tab, and watch the memory and GPU usage meters as the render runs. Also, view the troubleshoot log after a render (you don't need to let it finish, just start showing some iterations). It'll tell you the reasons the GPU dropped out.

    It is quite possible, and not all that rare, for the GPU to drop out of an Iray render because of a quirk in the geometries or textures of the scene. I've had to work around this in a number of occasions by either accepting the CPU-only render, or rebuilding the scene again from the core assets.  Obviously that's a lot of work for a full set and 5 or 6 characters. It's happened to me with just one character!

    To reduce texture size open them all in Photoshop or Gimp, and reduce the pixel dimensions. Many are 4096x4096. A size of 2048x2048 is often sufficient. 

    Post edited by Tobor on
  • barbultbarbult Posts: 23,151

    After deleting texture maps or reducing texture sizes, save your scene with a new name (so you don't lose the original, in case the optimizations turn out to be too drastic). Then close Daz Studio, wait a few seconds, reopen it and load your saved optimized scene. That way you will be sure that Daz Studio is not holding on to the memory for your original textures.

  • PadonePadone Posts: 3,481
    edited April 2017

    @daywalker03

    I agree that the option of details for closeups is essential. But it would be easy to provide two sets of materials hi/mid quality so the users don't have to always do the job by themselves.

    Also, it's not just the size of the textures. It's how the textures are mapped in the uv space that matters most. For most content the uv space is wasted. There are lots of textures that are the same but are repeated and/or large blank areas. Also, in many cases procedural shaders could be used instead of textures.

    When you design textures for gpu rendering an optimized use of the uv space is essential to avoid wasting resources. It's the very same as in games. See the pergola scene that is provided with G2F to undestand what I mean.

    I believe that content providers should make content that works fine as is .. rather than content that you always have to fit yourself to make it work. The common case could be a 6-8 GB card, so content should be designed so that 6-8 GB is enough for the scene and a bunch of characters. If you make a good use of textures and shaders this is entirely possible without sacrifying details.

     

    p.s. Another simple way would be to report in the product page the required vram. So at least a customer can avoid purchasing assets that anyway don't fit in the card.

    Post edited by Padone on
  • ConnaticConnatic Posts: 279

    I have been using hphoenix' texture reduction scripts.  He has provided 2 free scripts, one which creates 3 reduced versions of every texture upon the selected figure and one which allows you to swap between the various sized texture maps.  The scripts are very user-friendly, have pop-up interface, and allows you to choose where to save the alternative maps.  It is essentially a Level-of-Detail system.

    https://www.daz3d.com/forums/discussion/137161/reduce-texture-sizes-easily-with-this-script#latest

  • OstadanOstadan Posts: 1,123

    Which should they optimize for, close in or distance? They don't know what people are going to use it for, and high detail is what is the.most likely to help sell what they make.

    True; but really, providing lower-res versions of the textures – even if there are no content-level files that apply them! – would be almost no added effort, and would allow users to apply them at their own risk.

  • Ostadan said:

    Which should they optimize for, close in or distance? They don't know what people are going to use it for, and high detail is what is the.most likely to help sell what they make.

    True; but really, providing lower-res versions of the textures – even if there are no content-level files that apply them! – would be almost no added effort, and would allow users to apply them at their own risk.

    It would, since I doubt that DAZ QA would let them just drop files in, even in the right location, without proper material settings. This is the whole reason some PAs don't support 3Delight and Iray, and why a lot of PAs dropped support for Poser even when content still supported it.

  • PadonePadone Posts: 3,481

    @Connatic

    The LOD script idea is very interesting, it could be included in DS by default .. thanks a lot !!

  • Oso3DOso3D Posts: 14,888

    I actually ended up creating some Material presets where the inner mouth and other nonessential bits are essentially flat white shaders, so I can quickly double click and there you go.

    And if you have TRULY long-shots, you can replace skin with a flat (IE: no translucency/SSS) color. You just need a pink/tan/brown blob off in the distance. I even do a thing where I replace a lot of the body with some other color, so it ends up looking like clothing (torso, nipples, shoulders/arms/forearms make light gray, so it looks like a shirt, and then dark blue hips and legs, and then maybe dark gray feet.)

    And then make sure to use Base resolution.

  • ConnaticConnatic Posts: 279

    The term "Optimized" often gets mis-used in product descriptions.  The proper word should be "Compatible".  I purchased a new hair product which consumes about 5GB when rendering.  It works in Iray, but that is stretching the definition of "Optimized".  This product is useless without applying experiment and hope for me that I can make it work in anything other than a scene with 1 Genesis 3 Figure and minimal clothing and basic background props.  Compare this to a product like TerraDome 3 which IS "Optimised" and takes a very minor hit on the nvidia card ram while resulting in a thoroughly populated 360-degree environment!  It would be nice to have the ram consumption listed as a product specification for everything in the marketplace.

  • hphoenixhphoenix Posts: 1,335
    edited April 2017
    Connatic said:

    The term "Optimized" often gets mis-used in product descriptions.  The proper word should be "Compatible".  I purchased a new hair product which consumes about 5GB when rendering.  It works in Iray, but that is stretching the definition of "Optimized".  This product is useless without applying experiment and hope for me that I can make it work in anything other than a scene with 1 Genesis 3 Figure and minimal clothing and basic background props.  Compare this to a product like TerraDome 3 which IS "Optimised" and takes a very minor hit on the nvidia card ram while resulting in a thoroughly populated 360-degree environment!  It would be nice to have the ram consumption listed as a product specification for everything in the marketplace.

    +1

     

    There was a thread somewhere where several of us argued the need for multiple resolution maps and presets, but most of the PAs argued it was too much effort for little return.  This was one of the main reasons I (and @Esemwy too, probably) started writing the Texture Resizing Scripts @Connatic linked to previously.  Evidently, the loads that can end up on an nVidia card can be considerably larger than anticipated (especially if they really aren't reusing identical maps!) and that makes the ability to adjust texture resolutions pretty critical (since easily 60% - 80% of the total memory usage in DS content rendering ARE image maps.)

    Also, hopefully a few other shader dabblers out there can take the cue from Will and start working on more procedural textures, rather than using huge maps for everything.......technically almost everything that isn't an image INSIDE the render (framed pictures, TV screens, Signs, Labels, etc.) can be produced procedurally.  Using image maps has for a LONG time been a shortcut.  It's time to start pushing for more procedural shading which will cut that huge memory requirement down!

    (And a HUGE thanks to Will Timmins, who has demonstrated so wonderfully that it CAN be done......I love the WTP shaders, Will!  Keep up the good work, and don't let the b******s get you down!)

     

    Post edited by hphoenix on
  • Oso3DOso3D Posts: 14,888
    edited April 2017

    Now that I know that image maps are even worse in Iray than I thought... wow. Yeah.

     

    I should poke some more at shaders.

    (And thanks for the vote of support!)

     

    Post edited by Oso3D on
  • ConnaticConnatic Posts: 279

    Keep on poking, Will!!!  Replacing RAM-hogging image-maps with procedural shaders is critical.

  • Oso3DOso3D Posts: 14,888
    edited April 2017

    I've been hoping to make a good brick procedural map, but I keep running into problems.

    I mean, there's one in WTP3, but the brick procedural... brick has some limitations, like you can't freely rotate it, which can be a problem if you are trying to apply it to an existing structure with weird UV mapping.

    One thing I should consider doing is making shaders that are tailored to doing a more limited range of things, like, say, a specific shader for rocks, with a few options.

    Previously, I had been trying to keep the shaders more generalized and able to be tweaked into different effects/presets, but that's pushed me to limit how complex the shader gets to avoid confusing or making too many controls.

     

    Post edited by Oso3D on
  • PadonePadone Posts: 3,481
    edited May 2017

    I just noticed this addon in the daz news and wanted to point it out since it seems to nicely implement all the tips reported in this thread. I'm not associated with the addon creator in any way. Personally I'll continue to do things "by hand" without the addon mostly because I can control things better. But for anyone that won't dig into DS details I believe this addon is simply great.

    https://www.daz3d.com/scene-optimizer

    EDIT p.s. now we just need a denoiser filter for iray working inside DS to avoid post processing with GIMP ..

    Post edited by Padone on
  • fastbike1fastbike1 Posts: 4,074
    edited May 2017

    @Padone  "EDIT p.s. now we just need a denoiser filter for iray working inside DS to avoid post processing with GIMP .."

    May not work like you want, but it's there.

    Capture.JPG
    502 x 456 - 33K
    Post edited by fastbike1 on
  • PadonePadone Posts: 3,481

    @fastbike1 Yeah I know it's there but unfortunately it doesn't work at all. If you try to set it other than the default values (that are set to do nothing) you'll get a "black filter error" in the log and no effects at all on the image. I found no way to make it working. Actually the only way I found to get a denoiser is to use GIMP. Thank you anyway for trying to help though.

  • fastbike1fastbike1 Posts: 4,074

    No problem. As you can see, mine is set to off. Given the great tools available in Photoshop, Gimp, ON1, etc, I never thought this would come close (given the choices are On/Off).

    I will say that my renders typically don't show noise, and I can never quite see what bothers other folks. Been a photographer since 1970 and digital photography since the origianl Nikon Coolpix, so I'm pretty suire I know noise and grain when I see it. I do agree it would be nice / nice to avoid post work if you just want a straight render. 

    Padone said:

    @fastbike1 Yeah I know it's there but unfortunately it doesn't work at all. If you try to set it other than the default values (that are set to do nothing) you'll get a "black filter error" in the log and no effects at all on the image. I found no way to make it working. Actually the only way I found to get a denoiser is to use GIMP. Thank you anyway for trying to help though.

     

Sign In or Register to comment.