HD Add On VS Normal Mapping Brawl!

2»

Comments

  • WendyLuvsCatzWendyLuvsCatz Posts: 38,590

    lots of Luthbel's stuff is HD

  • duckbombduckbomb Posts: 585
    i53570k said:

    I wonder if we will see HD clothings.  As soon as I put cloths back onto my character the rendering time spiked up and I see the outfit pieces have normal and bump maps.  Clothing in HD without normal probably could yield bigger gains but I wonder if it will kill dForce simulation.

    In my experience, I find that HD clothing does yield a performance gain compaired to Normals..  What I'll do sometimes is bring in a zero'ed shirt or dress into ZBrush, increase poly count, sculpt details, and then export as an obj.  This way, I can simulate from memorized pose using DFORCE and the HD version of my clothing and it drapes realistically as well as looking detailed.  Since I'm going through ZBrush (you could use Blender or whatever), I also have the added benefit of doing whatever I need to in order to make non-DForce items a little more agreeable to the DForce process once it's in DAZ.

    Obviously, I don't do this for every scene, but since it related directly to the point above I thought I'd share.  The point is, I do find that HD versions of props like clothing render faster than non-HD counterparts with Normals loaded in.

  • outrider42outrider42 Posts: 3,679

    Wow, we could be starting a revolution. KILL THE NORMALS! FREE THE GEOMETRY!

  • duckbombduckbomb Posts: 585
    edited July 2020

    Wow, we could be starting a revolution. KILL THE NORMALS! FREE THE GEOMETRY!

    I've been a huge fan of HD Morphs for years, but I'm always told that normals and displacement are viable replacements.  It's simply not true, although I do concede that many people mistake what HD sculpting is actually good for...  they all have their place.  HD Morphs, Normals, and Displacement all have their place and uses, but I wouldn't consider one to be a complete replacement for the other, even though you can argue that there is so much overlap you could make do.  I do a TON of HD sculpting in my renders, it's just a shame I have to convert the figure to a static prop to do it.  That being said, at least I'm VERY HAPPY that I can at least do that, and I'm certainly not complaining about that. 

    I really like  normals, but I really like to have them bring otu a little more definition in what is already there so that I can really balance detail to the size or prominance of the model.  It's the way I go when I need t keep a figure a figure, but if it's a one-off shot or something for commercial use I'll always custom sculpt my hd details rigth into the mesh for (in my opinion) best quality output.

    EDIT - I also realize this is taking a different turn than the actual topic this thread was created with regards to, even if it is a bit connected to it.  It's an interesting conversation, though, and one that gives credence to a feeling I've felt for years, so I'm thankful that someones (OP, lookin' at you!) taken the time to really put it to the test!

    Post edited by duckbomb on
  • outrider42outrider42 Posts: 3,679
    edited July 2020

    Here is another test. This test is about scaling to performance. This time I rendered the same Zelara scene as before, but I only used ONE GPU instead of both 1080tis. I used my non-display GPU, to help rule out any funny business. The non-display 1080ti is only doing one task, render.

    Like before, the first test is 5000 pixels high with Zelara's default standard preset. She has normal maps and is set to subD 2.

    Total render time:   11 M  58  S    VRAM: 3300

    This is fantastic, because the VRAM reported is identical to what it reported in the first test. Like Adam Savage would say, I love consistent data! The time is also nearly double the result of two 1080tis, which shows just how well Iray can scale with 2 GPUs. All around, this great.

    But the question is this: Does the HD morph scale as well?

    Zelara HD add on, no normals, subD set to 3. ONE 1080ti.

    Total Render Time:   7 M  26 S   VRAM: 3261

    And sweet, the VRAM for this test is also exactly the same as my first test with these settings. For time, it looks like it does scale. So this not a case of some kind of precalculation causing the times, otherwise the results would not have scaled so equally. And the result is also striking for a different reason. Remember, my original time was 6 minutes and 12 seconds with normal maps...with TWO 1080tis. By turning OFF the normal maps and increasing subD to 3, I rendered the scene in 7 minutes 26 seconds with just ONE 1080ti. Just think about that, people! The time saved is so significant that it is in within striking range of using TWICE the GPU power to achieve the same thing using normal maps. I mean...wouldn't you like to have that kind of performance by making such a simple change? If I was to guess, my result would be about the same time as a 1080ti+1080  (non ti) might achieve. That is big piece of hardware there, and all I did was remove normal maps.

    Just think about somebody who has a 1070. A 1070 is (or was) a decent card, but they usually take twice as long as a 1080ti. So you could estimate the render time by simply doubling my single 1080ti times. Now you are looking at a 24 minute long render with normal maps, but that could be 15 minutes with no normals and HD level 3. That is not saving a minute, that is saving 9 minutes, these are significant chunks of time. This is not "Gone in 60 Seconds" with Nic Cage! When you put things in perspective you can really see how this adds up.

    To me, this is incredibly compelling evidence that maybe it is time to rethink how we do things.

    And also...I think Daz might want to thank me if people start buying their HD add ons more, LOL.

    Post edited by outrider42 on
  • i53570ki53570k Posts: 212
    edited July 2020

    Read this a while back and now it makes more sense to me.  TLDR: the impressive demo we saw in Unreal Engine 5 was done forgoing baked in normal in favorite of geometry, essentially trading memory for scalable quality and performance.

    https://www.eurogamer.net/articles/digitalfoundry-2020-unreal-engine-5-playstation-5-tech-demo-analysis

    Post edited by i53570k on
  • outrider42outrider42 Posts: 3,679

    More tests, this time with a character that probably makes the most of its HD and normal mapping...Edie 8. I will also test the idea of dialing the normal value to zero versus just deleting the map. I will place the pics at the bottom of the post.

    The tests are done the same as Zelara, even the same pose is used. 5000 pixels tall, using two 1080tis.

    Edie has buttons to turn normal maps on or off, and most interesting, Edie does NOT load normal maps by default. Even her standard version does not load normal maps, which I find odd. So with that in mind, how about doing that then. Here is Edie 8 standard without normal maps. Her subD is 2.

    Total render time:  3 M 41 S,  VRAM:  3093 & 3919 MB

    Now lets turn the normal maps on. Again subD is 2.

    Total render time:  5 M 36 S, VRAM:  3347 & 4176 MB

    No we have our baseline. But first, lets try dialing the normal maps to zero to see if the render time matches the first.

    Total Render time:  3 M 41 S, VRAM: 3135 & 3964 MB

    So yes, I can confirm that the render times are identical if you dial the values to zero. But like I suspected, they do load into VRAM and use some memory. It is clear that Iray must be compressing them as the VRAM use falls between the two. So if you are looking to manage your VRAM (and we all know how hungry for VRAM Iray can be) then maybe removing the normals is best. You can always create your own material presets if there are no on/off buttons like Edie has.

    Now lets go to the HD add on. Edie's HD add on is different from others. Her HD character preset is set to subD level 4. So the PA must have felt this was needed. But I will test level 3 first.

    Total render time: 3 M 53 S, VRAM:  3309 & 4142 MB

    Incredibly, this is only a few seconds slower than her render without normals and HD morphs at subD 2. This really demonstrates that the jump to level 3 is pretty painless on our end. And while it renders faster, the VRAM is just slightly less than it is with normal maps. The only question is if the detail is good enough for you. You can judge for yourself with the images below.

    Next test, HD subD level 4, which again is her default HD preset.

    Total render time: 4 M 19 S, VRAM:  4007 & 4842 MB

    This is still faster than the render with normal maps. But now the VRAM is climbing a bit.

    One more test, I crank it up to subD level 5. Whooo!

    Total render time: 5 M 16 S,  VRAM: 6799 & 7633 MB

    Incredible numbers. Finally, we get a render time that is longer than it is with normal maps, but we had to crank it all the way to max subD to do it...and it is not really much slower! About 40 seconds. This is with two 1080tis, but that is interesting to know. However, the VRAM really jumps at level 5, and this is certainly where many users would have issues. If you have a 8GB GPU, then you would barely be able to do this render. Granted, this is 5000 pixels, but she is only wearing basic wear and has no hair. Giving her hair would almost certainly jump past 8GB. But at least we have some data to compare, and you can also compare the images to see if you can spot the difference.

    I could be evil and place the images in a random order, but I wont. Or maybe I am? LOL.

  • davidtriunedavidtriune Posts: 452
    edited July 2020

    this goes against everything i was ever taught

    but i like it

     

    i wonder about displacements, arent they effectively the same as hd morphs? yet they are much slower to render  than normals. 

    Post edited by davidtriune on
  • outrider42outrider42 Posts: 3,679

    this goes against everything i was ever taught

    but i like it

     

    I like breaking the rules! Just ask the mods. devil

    Displacement is different, it can actually alter the mesh. I am sure that the same rules apply. I don't use displacement very much, few models have it these days, but it does slow down renders. It is certainly better to be able to sculpt that detail rather than use displacement, but there are times where displacement is a good option. Like adding veins to a character while using other normals and/or HD shapes. The big advantage to both normals and displacement is that the end users can alter them and mix and match them easier. The biggest issue I have with HD is that we end users have no way to alter them. Zelara HD has a HD head and HD body, and that is it. I cannot go and pick a smaller section of that morph and use it, or alter it in any way. With the texture maps, if there is say a mark I do not like, I can get rid of it easy. I can do that on standard Genesis mesh, too. But I cannot do that to a HD shape. It is really frustrating. Like one area that is often over done are the ridges on fingers. Too many DO characters have freakin' canyons on the fingers, I have never seen a person with knuckles like that in my life. With a normal map, I can smooth that down a little while still keeping the rest of the detail.

  • vwranglervwrangler Posts: 4,902

    A couple small observations

    1) Zelara may be a uniquely bad character to make this test with. According to her product page, "Her render subD level should be set to 4 to take full advantage of the included HD morphs". She is the ONLY core figure with that on her product page (though not the only character with that statement). When you look at her HD images, her HD morphs don't seem to do much of anything, in part because the way she was made makes them almost completely unnecessary. She's basically an HD morph on her own. (I did see that you were working with other characters, as well. Edie seems to have a rather severe mismatch of body and head, somehow.)

    2) Even with Daz core figures, some of them have HD morphs that do noticeably different things than the normal maps. For example, with Darius 8, a lot of his muscular definition is in his normal maps. He also has normal maps that emphasize his HD vein morphs. That separation is fairly consistent with the beefier male characters, at least. I think it's also true that for the HD characters produced by other PAs, they tend to use the normal maps to provide skin details, and the HD morph for the character details apart from skin, so doing one without the other may not be helpful for anything but render times.

    3) Iray's microdisplacement is kind of terrible, compared to 3Delight. (And Sloooooooow. The displacement on Anatoly HD, a PA product, designed to be rendered at SubD 5, is just grinding, and likely can't even be rendered on relatively low-powered computers.)

  • wizwiz Posts: 1,100

    I like breaking the rules! Just ask the mods. devil

    I know that feeling.

    Displacement is different, it can actually alter the mesh. I am sure that the same rules apply. I don't use displacement very much, few models have it these days,

    Shame. I like it.

    There's a technique, if we were going to use DAZ parlance "joint controled displacement" where you could paint a displacement map of wrinkies on the skin around an eye, and tie it into expressions. It makes for some of the most life-like characters...

    but it does slow down renders.

    Same effect as a high sub D setting, because that's basically what it does.

    It is certainly better to be able to sculpt that detail rather than use displacement,

    They're exactly the same thing, except (if memory serves) DAZ only implemented monochrome (normal) displacement, and color (3D) displacement is better for larger scale sculpting because you can move points in any direction.

    but there are times where displacement is a good option. Like adding veins to a character while using other normals and/or HD shapes. 

    And with a fairly simple script you can have lovely pulse effects in the veins.

    The big advantage to both normals and displacement is that the end users can alter them and mix and match them easier. The biggest issue I have with HD is that we end users have no way to alter them. Zelara HD has a HD head and HD body, and that is it. I cannot go and pick a smaller section of that morph and use it, or alter it in any way.

    You need a dang big machine to deal with HD in realtime, or some tricky software that can HD one area of interest at a time.

    With the texture maps, if there is say a mark I do not like, I can get rid of it easy. I can do that on standard Genesis mesh, too. But I cannot do that to a HD shape. It is really frustrating. Like one area that is often over done are the ridges on fingers. Too many DO characters have freakin' canyons on the fingers, I have never seen a person with knuckles like that in my life. With a normal map, I can smooth that down a little while still keeping the rest of the detail.

    And with a well-done displacement map you could do it even better.

    To recap, HD:

    • A bit of work to do, and high entry cost
    • Moves points in any 3-space direction
    • Can only animate if you build tons of sub-areas

    Displacement map:

    • A normal displacement map is easy for even noobs to edit
    • Displaces along normals (the Catmal sub-D calculated ones, if memory serves)
    • Fairly animation friendly
  • duckbombduckbomb Posts: 585
    wiz said:

     

    To recap, HD:

    • A bit of work to do, and high entry cost
    • Moves points in any 3-space direction
    • Can only animate if you build tons of sub-areas

    Displacement map:

    • A normal displacement map is easy for even noobs to edit
    • Displaces along normals (the Catmal sub-D calculated ones, if memory serves)
    • Fairly animation friendly

    All true, but displacement isn't respected when running a Dforce simulation or if your moving between programs.  Displacement isn't a replacement for HD, just another tool to leverage in certain circumstances.

  • davidtriunedavidtriune Posts: 452
    wiz said:

     

    Shame. I like it.

    There's a technique, if we were going to use DAZ parlance "joint controled displacement" where you could paint a displacement map of wrinkies on the skin around an eye, and tie it into expressions. It makes for some of the most life-like characters...

    that sounds something like whats being done in this video 

    sounds like some next gen stuff, but i didnt know we can do that now. COOL!

  • WendyLuvsCatzWendyLuvsCatz Posts: 38,590
    edited July 2020
    wiz said:

     

    Shame. I like it.

    There's a technique, if we were going to use DAZ parlance "joint controled displacement" where you could paint a displacement map of wrinkies on the skin around an eye, and tie it into expressions. It makes for some of the most life-like characters...

    that sounds something like whats being done in this video 

    sounds like some next gen stuff, but i didnt know we can do that now. COOL!

    DAZ studio would need native animated textures like just about every other 3D app has first

    before you point out the two PA products or Casual's script, if it's not integrated like it is in other softwares you cannot use it easily with other functions, in Poser and Blender for example one can use python scripts to link such stuff to morphs etc, Carrara even has an erc plugin that can drive its animated textures by other events though not as well as the others.

    Post edited by WendyLuvsCatz on
  • Richard HaseltineRichard Haseltine Posts: 102,759
    wiz said:

     

    Shame. I like it.

    There's a technique, if we were going to use DAZ parlance "joint controled displacement" where you could paint a displacement map of wrinkies on the skin around an eye, and tie it into expressions. It makes for some of the most life-like characters...

    that sounds something like whats being done in this video 

    sounds like some next gen stuff, but i didnt know we can do that now. COOL!

    DAZ studio would need native animated textures like just about every other 3D app has first

    before you point out the two PA products or Casual's script, if it's not integrated like it is in other softwares you cannot use it easily with other functions, in Poser and Blender for example one can use python scripts to link such stuff to morphs etc, Carrara even has an erc plugin that can drive its animated textures by other events though not as well as the others.

    DS also allows scripting to link things in this way http://docs.daz3d.com/doku.php/public/software/dazstudio/4/referenceguide/scripting/api_reference/samples/start#elements

  • WendyLuvsCatzWendyLuvsCatz Posts: 38,590
    wiz said:

     

    Shame. I like it.

    There's a technique, if we were going to use DAZ parlance "joint controled displacement" where you could paint a displacement map of wrinkies on the skin around an eye, and tie it into expressions. It makes for some of the most life-like characters...

    that sounds something like whats being done in this video 

    sounds like some next gen stuff, but i didnt know we can do that now. COOL!

    DAZ studio would need native animated textures like just about every other 3D app has first

    before you point out the two PA products or Casual's script, if it's not integrated like it is in other softwares you cannot use it easily with other functions, in Poser and Blender for example one can use python scripts to link such stuff to morphs etc, Carrara even has an erc plugin that can drive its animated textures by other events though not as well as the others.

    DS also allows scripting to link things in this way http://docs.daz3d.com/doku.php/public/software/dazstudio/4/referenceguide/scripting/api_reference/samples/start#elements

    no help to the silly end user who cannot write scripts cheeky

  • GordigGordig Posts: 10,189
    wiz said:

     

    Shame. I like it.

    There's a technique, if we were going to use DAZ parlance "joint controled displacement" where you could paint a displacement map of wrinkies on the skin around an eye, and tie it into expressions. It makes for some of the most life-like characters...

    that sounds something like whats being done in this video 

    sounds like some next gen stuff, but i didnt know we can do that now. COOL!

    DAZ studio would need native animated textures like just about every other 3D app has first

    before you point out the two PA products or Casual's script, if it's not integrated like it is in other softwares you cannot use it easily with other functions, in Poser and Blender for example one can use python scripts to link such stuff to morphs etc, Carrara even has an erc plugin that can drive its animated textures by other events though not as well as the others.

    DS also allows scripting to link things in this way http://docs.daz3d.com/doku.php/public/software/dazstudio/4/referenceguide/scripting/api_reference/samples/start#elements

    no help to the silly end user who cannot write scripts cheeky

    Don't worry, the scripting documentation isn't much help for those who can, either.

  • Richard HaseltineRichard Haseltine Posts: 102,759
    wiz said:

     

    Shame. I like it.

    There's a technique, if we were going to use DAZ parlance "joint controled displacement" where you could paint a displacement map of wrinkies on the skin around an eye, and tie it into expressions. It makes for some of the most life-like characters...

    that sounds something like whats being done in this video 

    sounds like some next gen stuff, but i didnt know we can do that now. COOL!

    DAZ studio would need native animated textures like just about every other 3D app has first

    before you point out the two PA products or Casual's script, if it's not integrated like it is in other softwares you cannot use it easily with other functions, in Poser and Blender for example one can use python scripts to link such stuff to morphs etc, Carrara even has an erc plugin that can drive its animated textures by other events though not as well as the others.

    DS also allows scripting to link things in this way http://docs.daz3d.com/doku.php/public/software/dazstudio/4/referenceguide/scripting/api_reference/samples/start#elements

    no help to the silly end user who cannot write scripts cheeky

    True, but you were mentioning script sas the Poser/Blender solution to the issue - and for DS the samples are there.

  • WendyLuvsCatzWendyLuvsCatz Posts: 38,590
    wiz said:

     

    Shame. I like it.

    There's a technique, if we were going to use DAZ parlance "joint controled displacement" where you could paint a displacement map of wrinkies on the skin around an eye, and tie it into expressions. It makes for some of the most life-like characters...

    that sounds something like whats being done in this video 

    sounds like some next gen stuff, but i didnt know we can do that now. COOL!

    DAZ studio would need native animated textures like just about every other 3D app has first

    before you point out the two PA products or Casual's script, if it's not integrated like it is in other softwares you cannot use it easily with other functions, in Poser and Blender for example one can use python scripts to link such stuff to morphs etc, Carrara even has an erc plugin that can drive its animated textures by other events though not as well as the others.

    DS also allows scripting to link things in this way http://docs.daz3d.com/doku.php/public/software/dazstudio/4/referenceguide/scripting/api_reference/samples/start#elements

    no help to the silly end user who cannot write scripts cheeky

    True, but you were mentioning script sas the Poser/Blender solution to the issue - and for DS the samples are there.

    and true I cannot use them either but animated textures are something I don't need a script for elsewhere and can if nothing else manually keyframe them too to match my visemes, at least in Carrara, even do a NLA mimic can use

    I haven't done normal maps but I have animated textures to music with it

  • Richard HaseltineRichard Haseltine Posts: 102,759
    Gordig said:
    wiz said:

     

    Shame. I like it.

    There's a technique, if we were going to use DAZ parlance "joint controled displacement" where you could paint a displacement map of wrinkies on the skin around an eye, and tie it into expressions. It makes for some of the most life-like characters...

    that sounds something like whats being done in this video 

    sounds like some next gen stuff, but i didnt know we can do that now. COOL!

    DAZ studio would need native animated textures like just about every other 3D app has first

    before you point out the two PA products or Casual's script, if it's not integrated like it is in other softwares you cannot use it easily with other functions, in Poser and Blender for example one can use python scripts to link such stuff to morphs etc, Carrara even has an erc plugin that can drive its animated textures by other events though not as well as the others.

    DS also allows scripting to link things in this way http://docs.daz3d.com/doku.php/public/software/dazstudio/4/referenceguide/scripting/api_reference/samples/start#elements

    no help to the silly end user who cannot write scripts cheeky

    Don't worry, the scripting documentation isn't much help for those who can, either.

    Did you look at the samples in the section I linked?

  • GordigGordig Posts: 10,189
    Gordig said:
    wiz said:

     

    Shame. I like it.

    There's a technique, if we were going to use DAZ parlance "joint controled displacement" where you could paint a displacement map of wrinkies on the skin around an eye, and tie it into expressions. It makes for some of the most life-like characters...

    that sounds something like whats being done in this video 

    sounds like some next gen stuff, but i didnt know we can do that now. COOL!

    DAZ studio would need native animated textures like just about every other 3D app has first

    before you point out the two PA products or Casual's script, if it's not integrated like it is in other softwares you cannot use it easily with other functions, in Poser and Blender for example one can use python scripts to link such stuff to morphs etc, Carrara even has an erc plugin that can drive its animated textures by other events though not as well as the others.

    DS also allows scripting to link things in this way http://docs.daz3d.com/doku.php/public/software/dazstudio/4/referenceguide/scripting/api_reference/samples/start#elements

    no help to the silly end user who cannot write scripts cheeky

    Don't worry, the scripting documentation isn't much help for those who can, either.

    Did you look at the samples in the section I linked?

    Yes, and I was able to figure some things out in spite of them.

  • MelissaGTMelissaGT Posts: 2,611
    wiz said:
    but there are times where displacement is a good option. Like adding veins to a character while using other normals and/or HD shapes. 

    And with a fairly simple script you can have lovely pulse effects in the veins.

     

    Can I ask what that is? That sounds really interesting!

  • outrider42outrider42 Posts: 3,679
    edited July 2020

    Some notes of mine. This thread is about comparing performance more than the appearance. What the morph actually looks like does not matter, the subdivision itself matters. The shape could be a woman or gargoyle, the absence of normal maps in the wake of HD gains performance in a similar way. Of course some PAs use normals differently so that they work best together with normals, and perhaps some Daz Originals might as well. But for the ones that have normal maps and HD morphs that are very similar, I believe these tests demonstrate a clear advantage to just using the HD morphs alone. In my opinion, there are more benefits than drawbacks to doing this. The performance gains are real.

    I didn't cover displacement because like I said, it is quite rare these days. The only recent Daz releases that use it that I know of are Hagar and BJ Ensley. I am sure there must be others, but most of the displacement maps I have seen are just eyelashes. But the topic came up.

    So I did a displacement test with the same Zelara scene. The displacement maps came off of some Genesis 3 thing I had laying around. What they are doesn't matter, nor even how they look. What we want to test is how fast they are and how much memory they use.

    I cannot post the pictures, because the displacement maps caused Zelara to clip through her clothing, and it was enough that it would be against forum rules. That also demonstrates a problem with displacement, clothing does not factor it for collision detection or dforce. I consider that to be a big downside for both displacement and normals. Again, I am sure displacement has its uses, but that one negative is a big negative. Anyway, here are the numbers. The displacement maps were TIF around 30 MB each.

    First test is with Zelara at subdivision 3, and her displacement maps also at subD 3. No normal maps.

    Total render time: 4 M 28 S, VRAM: 3147 & 4258 MB

    So here using displacement maps added 38 seconds to the render time compared to the HD morph alone at this subD. But this is not nearly as bad as the normal maps, so that is a plus. The VRAM usage is strange. The non display GPU is using a little less, while the display GPU is using more. Does this mean that displacement maps are only stored on the display GPU? You will see this general trend continue. However, the overall VRAM between both GPUs is indeed more than HD only. This is logical, we are using extra textures to create this displacement.

    Next test, Zelara remains at SubD 3, Displacement is increased to level 4. Again no normals.

    Total render time: 4 M 40 S, VRAM: 3845 & 4964 MB

    More odd results. The render time is 20 seconds slower than the level 4 HD only test. So again it is more, but it did not scale in any predictable way. The VRAM behaves like the previous, with one GPU using less than the HD 4 test, and the other using almost 200 MB more.

    Out of curiosity, I wanted to see if having Zelara at subD level 2 made any difference. The theory is that is should not.

    Zelara HD level 2, Displacement level 3. No normals.

    Total render time: 4 M 9 S, VRAM: 3147 & 4169 MB

    I thought the displacement level overrode the geometry subD? This is clearly faster than having HD set to 3. But it is still not as fast as HD 3 alone. The VRAM also drops a little for the display, but again is still higher than HD 3 alone.

    Zelara HD 2, displacement level 4. No normals.

    Total render time: 4 M 33 S, VRAM: 3845 & 4868 MB

    Not much time was gained from the previous HD 3 and displacement 4 test, but there was a small gain. The VRAM improved a tiny bit.

    One last test. For fun, lets test Zelara with all 3 features, normals, displacement, and HD. I am only going to do this one test.

    SubD HD 3, displacement level 3, Normal maps ON.

    Total render time: 7 M 2 S, VRAM: 3473 & 4458 MB

    So with all 3 in action, the render time jumps past 7 minutes. The first test with normals ON was 6 minutes and 12 seconds...and that was with dubD set to just 2. The VRAM for both cards is now higher, with the display GPU using some 250 MB more. I will also repeat that I am using two 1080tis to get these numbers, that is over 7000 CUDA cores to hit this 7 minute mark. If you have less compute than that, it will take you a lot longer to run this same test.

    So there you have it. Compared to normal maps, it looks like displacement maps easily beat normal maps in terms of performance, but do not equal the performance of true HD geometry. While they do similar things, displacement and normal maps are different and have their respective strengths. One big strength was shown here, I just used displacement maps that were designed for Genesis 3. You certainly cannot do that with HD morphs. So yes there are advantages. It certainly would be awesome if I could sculpt HD geometry, but I do not have that option. So if I want to create my own HD like features, I have no choice but to use texture maps to do so. But, as I said at the beginning, that was not the point of this thread. I wanted to study the performance, and I think I have seen enough to form my own conclusions.

    It certainly has made me more interested in picking up the HD Add On shapes than I ever was before. I would like to see more HD morphs that target specific areas. We have some, but they are almost too focused (feet only?)

    Post edited by outrider42 on
  • timon630timon630 Posts: 37

    Lol, are you aware that the weight of the texture in VRAM is different?
    The 1K texture on a hard disk can weigh 100 MB, but in VRAM it is equal to 4 mb. ((1024x1024 - 4 mb, 2048x2048-16mb, 4k-64 mb, 8k-256mb.)
    This is true when the texture compression is 8192 or higher

  • Mart1n71Mart1n71 Posts: 129

    This is an intersting thread. I've always gone along the assumption that more HD geometry is a heavier resourse drain than using maps. When I render a series of images with a lot of characters I always lowered the resolution of the distance charcters to reduce GPU load, but now realise that removing bump and normal maps is far more efficient.

    I ran my own tests on this.

    I loaded a base G8F and loaded her with a character material preset I made myself including Normal and Bump maps and rendered her as is. Test 2 I made sure to close Daz and verify it was closed in Task Manager so no texture maps were still in Vram to skew the results then loaded G8F again, added the same material preset, but then removed all Bump and Normal maps and rendered Sub D 3 with HD morphs from Charlotte 8 and Dianna by D.Master.

    Using 2x 1080ti and an 8k HDRI for lighting and rendered at 2160x3480

    Test 1 results.

    GPU Usage 3358/4151 mb

    Render time 2 mins 36.16

    Geometry Memory Usage 14.315 mb

    Texture usage 415.5 mb for 28 maps

     

    Test 2 results

    GPU Usage 3087/3883 mb

    Render time 1 mins 31.26

    Geometry Memory Usage 56.516 mb

    Texture usage 113.000 mb for 15 maps

     

    A fair leap in overall performance using higher Sub D over Normal and Bump maps. A 200+ Mb reduction in Vram usage and in this example the image rendered in just over half the time.

    Image quality (cant post as it is a nude G8F) skin pores were definately better with the use of maps over SD3 HD, but things like skin wrinkes around knees, feet, and hands were better with HD.

    I will deffinaitly be making a switch to reduced textures rather than reduced geometry for background figures from here on. And since the majority of my character materials use the same custom Specular/Bump/Normal maps, making a shader preset to remve/apply those maps is relatively simple.

     

    I saw on previous replies about making maps PNG rather than TIFF, and would add that inside Daz, the file compression is meaningless. Once opened for use any 4096x4096 24 bit image is 48mb, no matter colours or what format it was saved as, the compression format will only save space in your content library, once Daz has uncompressed it, it reverts to its original size. As a test, I compressed a set of 11mb skin texture PNG files down to 1.5mb Jpeg files and ran a test on the same character using the different image formats. If the file format made a difference I would expect to see a roughly 40mb reduction in texture memory usage, but Daz used the same texture memory on the GPU in both formats. So no performance benefit, but images will inevitably suffer loss of quality with very high compression.

  • outrider42outrider42 Posts: 3,679
    timon630 said:

    Lol, are you aware that the weight of the texture in VRAM is different?
    The 1K texture on a hard disk can weigh 100 MB, but in VRAM it is equal to 4 mb. ((1024x1024 - 4 mb, 2048x2048-16mb, 4k-64 mb, 8k-256mb.)
    This is true when the texture compression is 8192 or higher

    Interesting observation.

    Obviously textures get compressed, I never said differently.

     

    Mart1n71 said:

    This is an intersting thread. I've always gone along the assumption that more HD geometry is a heavier resourse drain than using maps. When I render a series of images with a lot of characters I always lowered the resolution of the distance charcters to reduce GPU load, but now realise that removing bump and normal maps is far more efficient.

    I ran my own tests on this.

    I loaded a base G8F and loaded her with a character material preset I made myself including Normal and Bump maps and rendered her as is. Test 2 I made sure to close Daz and verify it was closed in Task Manager so no texture maps were still in Vram to skew the results then loaded G8F again, added the same material preset, but then removed all Bump and Normal maps and rendered Sub D 3 with HD morphs from Charlotte 8 and Dianna by D.Master.

    Using 2x 1080ti and an 8k HDRI for lighting and rendered at 2160x3480

    Test 1 results.

    GPU Usage 3358/4151 mb

    Render time 2 mins 36.16

    Geometry Memory Usage 14.315 mb

    Texture usage 415.5 mb for 28 maps

     

    Test 2 results

    GPU Usage 3087/3883 mb

    Render time 1 mins 31.26

    Geometry Memory Usage 56.516 mb

    Texture usage 113.000 mb for 15 maps

     

    A fair leap in overall performance using higher Sub D over Normal and Bump maps. A 200+ Mb reduction in Vram usage and in this example the image rendered in just over half the time.

    Image quality (cant post as it is a nude G8F) skin pores were definately better with the use of maps over SD3 HD, but things like skin wrinkes around knees, feet, and hands were better with HD.

    I will deffinaitly be making a switch to reduced textures rather than reduced geometry for background figures from here on. And since the majority of my character materials use the same custom Specular/Bump/Normal maps, making a shader preset to remve/apply those maps is relatively simple.

     

    I saw on previous replies about making maps PNG rather than TIFF, and would add that inside Daz, the file compression is meaningless. Once opened for use any 4096x4096 24 bit image is 48mb, no matter colours or what format it was saved as, the compression format will only save space in your content library, once Daz has uncompressed it, it reverts to its original size. As a test, I compressed a set of 11mb skin texture PNG files down to 1.5mb Jpeg files and ran a test on the same character using the different image formats. If the file format made a difference I would expect to see a roughly 40mb reduction in texture memory usage, but Daz used the same texture memory on the GPU in both formats. So no performance benefit, but images will inevitably suffer loss of quality with very high compression.

    I think if you can get some of that detail in bump maps then maybe stick with those while skipping out on normal maps. I think bump maps are sufficient for details like skin pores. That is one thing most HD morphs lack. However, there are other options, too. There are multiple places for bump maps in the surface settings. There is a top coat gloss bump map available if you have top coat weight above zero. The maps in dual lobe specularity can offer detail like this as well. I would recommend checking out some bluejaunte models for their dual lobe specularity. If you can mix their dual lobe settings into your models you can get some nice skin detail with a modest performance penalty.

  • timon630timon630 Posts: 37

    Interesting observation.

    Imagine, a year has passed and now I am no longer new to Daz.
    I wrote this because some people think that the weight of a texture on a hard disk is equal to the weight on VRAM, but this is not the case.

  • i53570ki53570k Posts: 212
    edited February 2021

    @outrider42:

    Do you think you can do another round for VRAM/DRAM ratio comparison of using HD vs. normal?  This video:

    had Daz3D quit at 17GB of VRAM usage on a 3090 due to the system only having 64GB of DRAM. The person who did the test had all 13 G8F at subD2. So at subD2 G8F DRAM/VRAM is perhaps 4:1. I am wondering what the ratio would be using HD characters. SubD4 would use more VRAM but less DRAM than subD2 using normal.

    We never had 24GB VRAM on consumer card before but 4:1 24GB is 96GB which translate to investment in 128GB of DRAM for 3090 owners. If using HD characters means maxing 24GB VRAM before hitting 64GB DRAM while getting FASTER rendering time, then it's better to spend that extra $300 on HD add-on intead of DRAM for 3090 owners.

    Post edited by i53570k on
  • outrider42outrider42 Posts: 3,679
    edited February 2021
    I may revisit the test at some point. But I can tell you that RAM use will not change. That depends 100% on the products you use. What might change is compression and VRAM.

    What that video found really isn't so surprising, but that doesn't mean the hardware is lacking. The amount of compression that takes place can vary wildly between given scenes, it may never be the same due to a variety of factors. It might be 2:1 or less in other scenes. I have seen near 3:1 personally, as I maxxed out my 1080tis 11gb and 32gb RAM in my system.

    In that video, the scene optimizer he spoke of would have helped tremendously. Because it compresses data BEFORE you send it to VRAM, it compresses it right there and you swap textures. So this also impacts RAM use, and probably effects RAM use even more than VRAM use.

    Plus with that many characters in a scene, you really don't need them at max detail levels anyway. You probably don't need them all subd 2 that far from the camera. There are many different ways to optimize a scene and maintain quality, and it can vary scene to scene. HD add ons are typically for close up shots where that detail is noticeable.

    So it should be really easy to get a lot more characters into that scene with some basic optimization. You don't even need the optimizer product, as you can do that yourself. Though the product certainly makes it fast and easy over manually doing it.

    That would be my suggestion. Ask him to do this same test with Scene Optimizer, and then see how many he can get in the scene.

    With 3d there will always be a point to where you have to compromise. That is just how it is. The 3090 with 24gb and 64gb RAM elevates where that compromise needs to happen. If optimizing is something you'd rather not do, them simply opt for 128gb of system RAM. Many motherboards support this amount, so check to see if yours can. Obviously that will cost more, but RAM is one of the cheaper components you can buy. Plus you don't need super high speed RAM targeted at gamers for IRAY, so you don't need the most expensive RAM, either. If you already have your board populated, then sell the RAM you have and use that to buy the new RAM. 128gb kits will obviously cost about double what 64gb kits do, but if you can swing a 3090, you can likely swing the extra $250 for RAM, too.

    The choice is yours. There is no wrong choice here, because it all depends on what you want to do. But every choice has a drawback of some kind.
    Post edited by outrider42 on
Sign In or Register to comment.