How to load a character faster? [solved with a workaround]

2

Comments

  • xyer0xyer0 Posts: 6,062
    RD2 said:

    The more character morphs you have the slower the character will load and the more RAM will be used for each G8 character....

    So, if the above statement is accurate, morph files are loaded redundantly? Otherwise, why would RAM be increased for EACH character?

  • xyer0 said:
    RD2 said:

    The more character morphs you have the slower the character will load and the more RAM will be used for each G8 character....

    So, if the above statement is accurate, morph files are loaded redundantly? Otherwise, why would RAM be increased for EACH character?

    I think the meaning is with each character installed - though don't forget that morphs at zero do not have their deltas, the chnages in vertex position, loaded so the memory footprint should nto eb that great.

  • I do hope that future base generations return to morph injections into the base, similar to V4, rather than loading everything as is the current situation.

  • scorpioscorpio Posts: 8,484

    I do hope that future base generations return to morph injections into the base, similar to V4, rather than loading everything as is the current situation.

    No - why its so time consuming a pain in the butt honestly why do people want things to go backwoods.

  • I do hope that future base generations return to morph injections into the base, similar to V4, rather than loading everything as is the current situation.

    In many ways the current system is like injection, the parameters and their relationships are created on loading the figure and the deltas (the shape chnage) are added later. Injection didn't add the morph channels on the fly, that was done on loading (though PowerLoader ddi give the potential to add new channels later - which is perhaps what you are wanting).

  • Interesting input, Richard.

    What I am thinking of is speeding base character loading time, as it is apparent, the more characters you have installed the slower the initial load. :)

  • RD2ARTRD2ART Posts: 28
    xyer0 said:
    RD2 said:

    The more character morphs you have the slower the character will load and the more RAM will be used for each G8 character....

    So, if the above statement is accurate, morph files are loaded redundantly? Otherwise, why would RAM be increased for EACH character?

    When I open a saved character, the total physical RAM total is 3.5 GB. If I duplicate or add the character again that character will also be 3.5 GB in the RAM. When I render the scene, it doesn't render that amount, but on the physical RAM there is a total amount of 7 GB of RAM. How you reduce that amount is to remove the morphs in the data folder. If you keep only the base characters and some other morphs you can get that character down to 1.5 GB per character. Also that character will be easier/faster to apply poses then the 3.5 GB character. This has been my experience. I don't know the programing physics behind it, but my experience has improved by removing the morphs that I don't use.

  • AtiAti Posts: 9,143

    So far I've only played with the load times, but that has definitely improved by using @RD2's suggestion. From 4 minutes 25 seconds to 7.7 seconds. Wow.

  • scorpioscorpio Posts: 8,484

    Interesting input, Richard.

    What I am thinking of is speeding base character loading time, as it is apparent, the more characters you have installed the slower the initial load. :)

    Not for me I have a lot of charaters and morphs sets and its doesn't take minutes for the figure to load.

  • CybersoxCybersox Posts: 9,085
    edited December 2019
    scorpio said:

    Interesting input, Richard.

    What I am thinking of is speeding base character loading time, as it is apparent, the more characters you have installed the slower the initial load. :)

    Not for me I have a lot of charaters and morphs sets and its doesn't take minutes for the figure to load.

    Define "lots".  I have over 800 G8F commercially made figures just from DAZ, another couple of hundred from Renderosity and a huge bunch of add-on morphs, most of which are currently installed. And it's definitely slowed the system down as they've added up, from almost instant to several minutes now.  Which is one of the reasons I'm about to buy a new computer and one of the main investments on the new machine will be storing all of my 3D content on dedicated SSD drives... though I haven't made up my mind as to whether to use a couple of 2TB pcie Gen 3s, a raid built of 4tb SSDs or a combination... or I may very possibly continue to use my existing computer to assemble characters and props, and only send them to the new computer when I actually need them.  All I know is that it's going to be expensive.   

    Post edited by Cybersox on
  • scorpioscorpio Posts: 8,484
    Cybersox said:
    scorpio said:

    Interesting input, Richard.

    What I am thinking of is speeding base character loading time, as it is apparent, the more characters you have installed the slower the initial load. :)

    Not for me I have a lot of charaters and morphs sets and its doesn't take minutes for the figure to load.

    Define "lots".  I have over 800 G8F commercially made figures just from DAZ, another couple of hundred from Renderosity and a huge bunch of add-on morphs, most of which are currently installed. And it's definitely slowed the system down as they've added up, from almost instant to several minutes now.  Which is one of the reasons I'm about to buy a new computer and one of the main investments on the new machine will be storing all of my 3D content on dedicated SSD drives... though I haven't made up my mind as to whether to use a couple of 2TB pcie Gen 3s, a raid built of 4tb SSDs or a combination... or I may very possibly continue to use my existing computer to assemble characters and props, and only send them to the new computer when I actually need them.  All I know is that it's going to be expensive.   

    Yes 'lots' is a rather subjective term, I wouldn't know how to figure out how many morphs characters etc I have installed, it may not be as many as you but it certainly not a few.

  • mclaughmclaugh Posts: 221
    Cybersox said:
    scorpio said:

    Interesting input, Richard.

    What I am thinking of is speeding base character loading time, as it is apparent, the more characters you have installed the slower the initial load. :)

    Not for me I have a lot of charaters and morphs sets and its doesn't take minutes for the figure to load.

    Define "lots".  I have over 800 G8F commercially made figures just from DAZ, another couple of hundred from Renderosity and a huge bunch of add-on morphs, most of which are currently installed.

    Define "huge bunch."  wink

    cheeky

  • CybersoxCybersox Posts: 9,085
    mclaugh said:
    Cybersox said:
    scorpio said:

    Interesting input, Richard.

    What I am thinking of is speeding base character loading time, as it is apparent, the more characters you have installed the slower the initial load. :)

    Not for me I have a lot of charaters and morphs sets and its doesn't take minutes for the figure to load.

    Define "lots".  I have over 800 G8F commercially made figures just from DAZ, another couple of hundred from Renderosity and a huge bunch of add-on morphs, most of which are currently installed.

    Define "huge bunch."  wink

    cheeky

    Well, conservatively speaking, that would be around 70 multi-character morph sets containing anywhere from 3 to 12 full combined head/body morphs with no textures, and the seperate head and body morphs for both of them, and then another twenty or so "big" morph sets including all of Zev0's sets like Shape Shift, and then maybe sixty more smaller morph sets of just things like ears, nose shapes, breasts, foot shapes and other body mods. Oh, and then there are a bunch of expressions and trick deformers for various soft body effects, and...yeah, "huge bunch" seems to be the easiest way to describe it. ;P  I can figure out the product from DAZ pretty easily, but the stuff from Renderosity is a lot harder to parse...   

  • Silver DolphinSilver Dolphin Posts: 1,620
    edited December 2019

    I have a question? This stuff is alway's needed for all your characters why does it only load when you load a character??? Why not load up and stay in daz studio program???? This does not make any sense????? Is the daz police gonna erase my question??? cheeky

    Post edited by Silver Dolphin on
  • Matt_CastleMatt_Castle Posts: 2,676

    This stuff is alway's needed for all your characters why does it only load when you load a character??? Why not load up and stay in daz studio program????

    Because it's not always needed for all your characters. If I'm loading a G8F character, I do not need to load G3M morphs. And, although most scenes feature a character, it's by no means a requirement.

    Daz Studio is not prescient, so it cannot know exactly what figures and morphs you will need for the scene you're planning on making, so it only loads them when you specifically tell it you're using that figure.

  • I confirm. I worked with G8. I started to slow down even when eyebrows were loading ...))). G3 loaded quickly. I installed G3 morphs and he also died))) .. There is no need to talk about animation ... Question: "How temporarily disable morphs that are not used on the character "? Do not delete them in a temporary folder every time. Give me someone advice

  • rusmin07 said:

    I confirm. I worked with G8. I started to slow down even when eyebrows were loading ...))). G3 loaded quickly. I installed G3 morphs and he also died))) .. There is no need to talk about animation ... Question: "How temporarily disable morphs that are not used on the character "? Do not delete them in a temporary folder every time. Give me someone advice

    Uninstall is the only easy way. Changing the filee xtension of the asset file from .dsf would also stop them loading.

  • Can somebody sketch out a general workflow for dealing with extra morphs that you don't need for a scene? I'm not sure where I need to go. I can write powershell scripts OK but I'm not exactly sure what needs to be done. I've slowed down enough that I now think thrice about buying anything morph related (such as I bought nothing in the recent morph sale) since I now have to think about whether the benefits of the pack will outweight the increased (however slight) slowness of loading.

  • RobinsonRobinson Posts: 751

    I'd like to add my .2p because... loading a rigged mesh with JCMs and shape keys in Maya takes 0.86 seconds.  Loading the same figure in Daz takes 8.6 seconds. That's with a nearly empty install.  

    It's almost never a hardware problem.  I didn't notice a particular speed-up when I put Daz on an SSD. 

  • AtiAti Posts: 9,143

    Can somebody sketch out a general workflow for dealing with extra morphs that you don't need for a scene? I'm not sure where I need to go. I can write powershell scripts OK but I'm not exactly sure what needs to be done. I've slowed down enough that I now think thrice about buying anything morph related (such as I bought nothing in the recent morph sale) since I now have to think about whether the benefits of the pack will outweight the increased (however slight) slowness of loading.

    https://www.daz3d.com/forums/discussion/comment/5170611/#Comment_5170611

    This helped me a lot.

    Basically, I moved *all* morphs to a different directory (moving them is fast in windows). Then loaded the scene, DS complained that it's missing a bunch of morphs. I took note of those, moved those back to their original location, and reloaded the scene, saving--in my case--4+ minutes per scene. Batch rendering 50 images with the same characters means I saved over 3 hours of loading time this way.

  • MelissaGTMelissaGT Posts: 2,611
    edited January 2020

    It could be a complete coincidence, but I didn't notice much of a slowdown until the new G3 to G8 character transfer scripts came out. Once I started using those, and transferred a few characters, my G8F's have been laggy. Loading a blank G8F in a blank scene isn't so bad, but once I apply a character to it and then start posing it gets slow. And if I ever need to zero the character pose or clear the scene I might as well go get a coffee. I can't imagine it's any fault of the character transfer tools themselves, it's just right around that same time everything started to get slow. Maybe it's because I now have all those extra transferred G3 to G8 morphs in the background. 

    One thing I don't understand is why does loading one character require the loading of -all- the morphs in the library? Say if one character uses 15 morphs and you have 200 installed, why is not just loading the 15 morphs it needs? I won't pretend to know the mechanics behind the scenes of how things work but it feels like that's how it should be and it would save with load times to boot. I'm entirely too lazy to start shuffling my morphs around and then moving them back if I need them. I have a hard enough time remembering things I've bougt in the past as it is. I'd likely just move them and forget them completely. 

    Post edited by MelissaGT on
  • It could be a complete coincidence, but I didn't notice much of a slowdown until the new G3 to G8 character transfer scripts came out. Once I started using those, and transferred a few characters, my G8F's have been laggy. Loading a blank G8F in a blank scene isn't so bad, but once I apply a character to it and then start posing it gets slow. And if I ever need to zero the character pose or clear the scene I might as well go get a coffee. I can't imagine it's any fault of the character transfer tools themselves, it's just right around that same time everything started to get slow. Maybe it's because I now have all those extra transferred G3 to G8 morphs in the background. 

    Addng a few character morphs shouldn't have a draamtic effect, but a lot will.

    One thing I don't understand is why does loading one character require the loading of -all- the morphs in the library? Say if one character uses 15 morphs and you have 200 installed, why is not just loading the 15 morphs it needs? I won't pretend to know the mechanics behind the scenes of how things work but it feels like that's how it should be and it would save with load times to boot. I'm entirely too lazy to start shuffling my morphs around and then moving them back if I need them. I have a hard enough time remembering things I've bougt in the past as it is. I'd likely just move them and forget them completely. 

    It needs to load all of them to see how they relate - adjusting one morph (or joint) can trigger other morphs and without reading every one in DS doesn't know what should be activated by what. The bulk of the data, the deltas which show how the shape changes, are not kept in memory until the morph is given a non-zero value (directly or as a result of one of the links to other properties)

  • HI,
    I've been playing with this on and off for a while, the more content you have the slower things load. Pretty much all my content is Genesis 3 and 8.
    I have an i7 7820X with 8 cores & 8 threads, 32GB RAM and 2x GTX1080Ti on an ASUS X299 workstation motherboard.  Windows 10 Pro is on a 500GB a Samsung Pro PCIe x4 M.2 SSD, as is Daz Studio. My main Daz content is on a second Samsung 500GB PCIe x4 M.2 SSD but it might as well be on a SATA3 SSD as it give no speed improvement, some content is on a Samsung 1TB SATA3 SSD.
    The limiting factor is the speed that Daz Studio reads the data off the disks as it only uses a single thread and it reads all the morphs in each content library over and over.
    One way I've got round this is to make each individual character it's own little content library and add them into the overall content library using 'Add base directory' and remove them when you are done with that character BUT it's a nightmare to keep track of whats what and of course if you load something containing something that's missing Daz Studio takes ages figuring out whats missing and you cannot stop it once it starts loading something.
    Daz Inc want us to keep buying content, I've spent a fortune but sometimes I get so disheartened with this speed thing, they need to think about how they are going to resolve this problem going forward.
    Regards
    Steve.

  • AsariAsari Posts: 703

    It could be a complete coincidence, but I didn't notice much of a slowdown until the new G3 to G8 character transfer scripts came out. Once I started using those, and transferred a few characters, my G8F's have been laggy. Loading a blank G8F in a blank scene isn't so bad, but once I apply a character to it and then start posing it gets slow. And if I ever need to zero the character pose or clear the scene I might as well go get a coffee. I can't imagine it's any fault of the character transfer tools themselves, it's just right around that same time everything started to get slow. Maybe it's because I now have all those extra transferred G3 to G8 morphs in the background. 

    One thing I don't understand is why does loading one character require the loading of -all- the morphs in the library? Say if one character uses 15 morphs and you have 200 installed, why is not just loading the 15 morphs it needs? I won't pretend to know the mechanics behind the scenes of how things work but it feels like that's how it should be and it would save with load times to boot. I'm entirely too lazy to start shuffling my morphs around and then moving them back if I need them. I have a hard enough time remembering things I've bougt in the past as it is. I'd likely just move them and forget them completely. 

    I noticed this too with Zev0's xtransfer. I deleted the xtransfer folder with all the transferred morphs and the lag has gone. I made a backup of the xtransfer folder and will move the xtransfer folder back when I need those morphs.

    In my case it's definitely not a case of too many characters and morph packs. I own only a handful characters for either G8F and G8M and work with many custom morphs that I import separately for each figure.

  • That's the thing I don't understand, if it was stricktly the amount of content everybody would have loading issues but I can't figure out what's different between what I'm doing and what other people do. I tried putting everything in one content library and it was still slow loading. Anti-virus exclusions etc etc.
    Steve.

  • MelissaGTMelissaGT Posts: 2,611
    edited January 2020
    Asari said:

    It could be a complete coincidence, but I didn't notice much of a slowdown until the new G3 to G8 character transfer scripts came out. Once I started using those, and transferred a few characters, my G8F's have been laggy. Loading a blank G8F in a blank scene isn't so bad, but once I apply a character to it and then start posing it gets slow. And if I ever need to zero the character pose or clear the scene I might as well go get a coffee. I can't imagine it's any fault of the character transfer tools themselves, it's just right around that same time everything started to get slow. Maybe it's because I now have all those extra transferred G3 to G8 morphs in the background. 

    One thing I don't understand is why does loading one character require the loading of -all- the morphs in the library? Say if one character uses 15 morphs and you have 200 installed, why is not just loading the 15 morphs it needs? I won't pretend to know the mechanics behind the scenes of how things work but it feels like that's how it should be and it would save with load times to boot. I'm entirely too lazy to start shuffling my morphs around and then moving them back if I need them. I have a hard enough time remembering things I've bougt in the past as it is. I'd likely just move them and forget them completely. 

     

    I noticed this too with Zev0's xtransfer. I deleted the xtransfer folder with all the transferred morphs and the lag has gone. I made a backup of the xtransfer folder and will move the xtransfer folder back when I need those morphs.

     

    In my case it's definitely not a case of too many characters and morph packs. I own only a handful characters for either G8F and G8M and work with many custom morphs that I import separately for each figure.

    In that case, maybe it really does have something to do with those G3 morphs being transferrred to G8. I'm not trying to blame those specific mod authors because they are providing a service many people want, myself included, but there might be something Daz itself doesn't like about those morphs. I've only transferred a handful of characters (Victoria, Ophelia, and Olympia as well as a custom dial-spun character) and that was absolutely the jumping point for when Daz slowed to a crawl for me. 

    Post edited by MelissaGT on
  • nicsttnicstt Posts: 11,715

    Load the different morphs in different libraries; add and remove libraries could perhaps be a quick way of managing this.

    TBH, five minutes, I can find something else to do, and I do anyway, I load a character then go do something else, it will have finished before I'm doing what I decided to do.

    It's called time management, instant gratification is not the answer.

  • Peter WadePeter Wade Posts: 1,642

    I do hope that future base generations return to morph injections into the base, similar to V4, rather than loading everything as is the current situation.

    Loading the base G8 figures takes several minutes for me. I assume this is because of the Genesis method of loading everything. And I often run out of memory rendering on my 4GByte graphic card. How much of that is due to loaded morphs that I'm not using?

    I would be happy with a morph injection loading system but I can see why Daz wouldn't want it. The current system is easier for beginners and Daz are keen to pull in new users. What I would like is a way to easily remove morphs and put them back again when you need them. Maybe a plugin that can identify the files used by a character preset or a set of morphs and move them to a backup directory, them move them back when you want them. Is it possible to do this? Is there enough information avaialable about how Daz Studio works to attempt it?

  • Peter WadePeter Wade Posts: 1,642
    nicstt said:

    Load the different morphs in different libraries; add and remove libraries could perhaps be a quick way of managing this.

    TBH, five minutes, I can find something else to do, and I do anyway, I load a character then go do something else, it will have finished before I'm doing what I decided to do.

    It's called time management, instant gratification is not the answer.

    I find five minutes is a bit bordeline on whether it is worth finding something else to do. When I worked in computing one of my managers had a rule about response times. There are two acceptable response times for a computer system, instantaneous or long enough to go and get a coffee.

    I'm more concerened about memory use. Does Studio load all of the morphs as part of the geometry it loads into the graphics card? With my 4GByte graphics card I often find that more than one G8 figure in a scene sends me back to CPU rendering.

  • TooncesToonces Posts: 919

    The library of morphs for a figure shouldn't impact gpu memory usage.

Sign In or Register to comment.