Genesis 8 takes forever to load...

2»

Comments

  • RexRedRexRed Posts: 1,282

    It sounds like to me you are running out of system or grahics ram and your Windows is paging the hard drive to finish the loading.

  • RexRed said:

    It sounds like to me you are running out of system or grahics ram and your Windows is paging the hard drive to finish the loading.

    You're telling me I need more than 24 GB of ram? Because that's what I'm using right now...

  • PerttiAPerttiA Posts: 10,012

    The long loading times are not related to the amount of RAM or VRAM, it is the result of how much "characters" and morphs are installed for the base figure and how well they play together.

  • It's time Daz Studio came of age.
    While we have had sucessive upgrades to the base male and female models, the underlying structure of Daz Studio has not kept up.
    I have seen so many complaints about the long loading times of Genesis 8 and 8.1 it's not funny anymore. Nor is it acceptable to say "well just load less characters, or install only the characters you need".

    When Daz loads it loads every character morph you have installed. If you have a vast content library it can take up to a hour to load a basic genesis 8 female character.


    Daz is in the business of selling product. It makes no sense to encourage us to use less products because the only way you can maintain a vast library of characters, as it stands, is to load the basic morphs you need and creat your own characters (why maintan a large library when you can't load it?).

    When you browse your content library Daz does not load it all. It only references content from it's database.
    Why can't Daz intellegently do the same for morphs and only load those that are needed for the particular character you want to use?
    It used to be like that with V4, only you had to load the morphs yourself. Even that would be preferable to the current system.

    There is a script that creates a selectable list of morphs that you can save and load by default but each time you buy a new character you must make a new, unique profile for that character and save it. Then, if you want to use that character again, you must reload that profile first. It becomes more complicated if you want to have moe than one character in you scene. So this is not a real answer.

    Come on Daz people, empower us to buy more content by giving us a method of loading a character without all the distortions (as with genesis 8 males combining several character morphs by default) and long loading times (up to an hour in some cases).

  • PerttiAPerttiA Posts: 10,012

    If it takes an hour to load G8F, it isn't about the amount of morphs/characters one has, but the conflicts between them - There is little DAZ can do about that as the morphs/characters work by themselves and the conflict may be with morphs/characters from other sources.

  • BejaymacBejaymac Posts: 1,886

    The Gen 4 don't have morph channels in their CR2s, instead they have dozens of readscript lines, DS and Poser have to read and process thousands of PZ2 files, just to create the empty morph channels and all of the ERC links.

    That is a different system to what we have with the Genesis series in DS4, but it's technically doing the same thing, DS4 reads and processes thousands of DSF files in the figures Morphs folder, creating the channels and all of the ERC links.

    It's those ERC links in G8F content that cause most of the long load times, as your average G8F character has roughly 1600 of them.

    Basically the more of the ERC links DS fails to create the longer the load times tend to get.

    But for it to take an hour to load usually means something else is adding to it, one file with bad parent data for instance can add upwards of 5 minutes to an already long load time.

    With long load times it's always best to ask for help on forums and to attach the log file to your post, that way some of us can track the time stamps and see where the issues are.

  • Daz Studio must load the morph channels and links, otherwise it won't knoww hich sliders to show or which other morphs they should trigger (well, in the latter case it could parse the property files on a morph being set, which would make setting a morph about as slow as loading the whole figure, or compile an index of links that it could check when a property was first set, which would slow using a morph but not as much as the figure load but would take us back to the fourth generation days of having to run some kind of updater to make the list current every time we installed new content. It is all very well saying the slowdown is a pain, and wishing for an improvement, but you need to have some understanding of what needs to be done to support the desired features (and ideally some idea of how it might be implemented) before saying the application is outdated or blaming the developers for not providing a fix.

  • PerttiA's reply moved here from a duplicate thread, which has been removed.

  • RD2ART said:

    I created a folder to place the morphs in; I created a shortcut back to the data folder. I then went through and moved all character folders that had morphs that I don't use too much. I moved all those into this new folder. If I need a character I add a new folder with the top level folder name and move that character folder back to the data folder. The character .duf files and texture files will still be in their orginal location. So if you load a character that morph file has been moved it is just going to give you an error. You can work with the generic G8 figure and save the scene. Then move the morphs back into the data folder. Restart the program and when the scene reloads the character morphs will be there. You can't really mess it up unless you delete the morph files. Just keep track where you are moving the files. You will not only have shorter load times, but the amount of physical RAM on your system will be less. As in my case my full character went from 3.5 GB each to 1.5 GB each after I moved the not needed morph files.

    I would be interested in a somewhat more detailed tut on what you're doing here.  I think it would be kind-of nice to have a program that detects what's used in scene and automatically does this (some kind of optimiser - would be good if Daz had morph injection in the first place, or at least an option to turn it on).  I think I read there's something that'll analyse a scene and extract everything used to a new library, which is kind-of a similar idea?  But we're clear, it's all the morphs slowing things down, is that right?

  • By the way can I ask, did anyone get performance improvement from putting libs on an m.2 over an SSD, or is it more CPU-bound?

  • Just an update.  I installed an m.2 (WD Black) and at least with my small library the performance difference between that and SATA SSD is night and day.  I expect if I fill out my library it'll slow down but still be a lot better.

  • Jason GalterioJason Galterio Posts: 2,562

    Nope. When I was dealing with my slow downs, it didn't matter if the library was on an internal spinning disk, an internal SSD, an external spinning disk, or an external SSD.

    What made the biggest difference was hunting down the morphs with duplicate errors.

    After that, removing morphs I only used occasionally.

  • Pickle RendererPickle Renderer Posts: 233
    edited July 2022

    It's definitely a lot faster for me on an m.2 than it was on an (internal) SSD.  The one I bought is a 2TB NVME PCI-E Gen 4.  "Up to" 5150 MB/s read speed.   That's about x10 a SATA SSD.

    Post edited by Pickle Renderer on
  • Jason GalterioJason Galterio Posts: 2,562

    Last year, over about a week period, I went through various iterations of my Content Library.

    I started off with a 17+ minute load time of G8F.

    I noted that the log time ("official time") included the time it took to click the Duplicate Formulas button. So when I walked away and let it go, it counted the minutes it was waiting for me to return and click.

    When I babysat the load and clicked the error immediately, the load time dropped to 10 minutes.

    Going through the error log and uninstalling all products that were creating Duplicate Formula errors dropped the load time to just under 3 minutes.

    Having more than one video card increased the load time. (Discovered this because I have a seperate power supply to my secondary video card.)

    Having only G8F installed with no morphs / characters had a load time of less than a second.

    Speed improvements got to neglible differences once I hit the under 3 minute mark. The speed of the CPU and more RAM only improved things by ten or twenty seconds. Internal vs external HD had less than a few seconds impact. SSD vs HD had some impact, but like you already discovered, it depends on the hardware and cabling.

    Internal M2 was faster by 30 seconds, as compared to an external 2.5 SSD. However the M2 external speed could be negligble based on the case / cables / computer port. The best speed I could get on the external M2 was by using a relatively expensive external case (ASUS STRIX), the cable that came with it, and using the USB Type C connector on my computer.

    The worst times I got were with the "Amazon recommended" USB cables and the cut rate external cases that Amazon sells (the sub $15 type cases).

    I'd link the blog posts I did on DA about the experiments, but its a lot of rambling and screenshots. It was seven days of various experiments...

    The main thing I came away with as uninstall anything with Duplicate Formulas and Missing Target errors, unless you absolutely have to use them. Keep your G8 characters trimmed and uninstall ones that you don't think you're going to use. Or use the morph loader tools already mentioned in this thread to accomplish the same thing.

  • Jason GalterioJason Galterio Posts: 2,562

    Back on the Amazon cable thing...

    The ASUS STRIX was fast using the cable that came with it (or more expensive USB C cables), but that speed was absolutely destroyed by the cut rate cables. It would be easily 75% slower across the board with all of them.

    At first I didn't recognize that it was the cables causing issues. There were so many variables I was swapping between that the cables didn't even register as something to try.

  • Yea, I've got lots of Unsupported formula and Formula target property not found, but no Duplicate Formula.

  • Jason GalterioJason Galterio Posts: 2,562

    Pickle Renderer said:

    Yea, I've got lots of Unsupported formula and Formula target property not found, but no Duplicate Formula.

    Try uninstalling those assests temporarily and test the results.Each one can add a few seconds onto your load time, which adds up quick.

    The nice part of the exercise is that if an error occurs in a product, odds are there are multiple errors with that same product. So you can have hundreds of error messages be resolved by just uninstalling three or four products.

  • vozolgantvozolgant Posts: 207

    DAZ devs shouldn't pre-load morphs. Instead it should build a text library and show that in the morph outliner.  ONLY when you begin to drag a morph dial from 0 to whatever, should it then load the morph.  So the morphs should only be loaded if they're actually used; value greater than zero.   So a character can still show you a morph library, but it's just text and pointer to the morph, and once you begin dialing the morph, THEN it loads the morph.  This would massively decrease loading times.

     

  • vozolgant said:

    DAZ devs shouldn't pre-load morphs. Instead it should build a text library and show that in the morph outliner.  ONLY when you begin to drag a morph dial from 0 to whatever, should it then load the morph.  So the morphs should only be loaded if they're actually used; value greater than zero.   So a character can still show you a morph library, but it's just text and pointer to the morph, and once you begin dialing the morph, THEN it loads the morph.  This would massively decrease loading times.

    That is what Daz Studio does - it reads the morph, but if it is non-zero it keeps only the details for the slider so you can "begin dialing the morph" at which point it loads the actual shape data. The difference, unavoidable in soem form, is that it laos needs to keep a list of links to other morphs so that it knows what other properties should be triggered when the morph iss et (or what other proeprties should trigger the morph) and it's those links that cause the slow down.

  • I had similar slow loading times with Genesis 8 figures. Once a realized the cause was just the rediculous amount of morphs and such I set about seperating all my library items into seperate content directories; i.e. I have content directories for Hair, Wardrobe, Characters, Poses, etc. When I want to play with Characters I just load that Content Directory. Otherwise I usually just have the base Vanilla directory open. There is an addon (I can't remember the name but I will try and find it) that can scan your active scene and tell you which items are in it, so that you can seperate them out to a seperate working directory. So once I've created my character or scene I run the addon, seperate everything out, and from there I have a seperate directory for the sepcific project.

    It doesn't solve all the problems. When opening the Characters directory and then loading a figure it can take some time still, but it's not nearly as bad as it was. Before my reorg it would take about 10 min to load a figure. Now with this workflow it takes about 1-2 min to load. Not great, but not too bad.

  • PerttiA said:

    If it takes an hour to load G8F, it isn't about the amount of morphs/characters one has, but the conflicts between them - There is little DAZ can do about that as the morphs/characters work by themselves and the conflict may be with morphs/characters from other sources.

    If that is so then why, when you use the Riversoft Turbo Loader and load only the basic morphs, does Daz load a figure in seconds and not an hour?

    It is a nonsense to say that nothing can be done about it. If Daz Content Manager can load a "list" of content that covers terabytes of data without choking surely it can do the same for character morphs. They did it with Gen 4.

    If the problem is supposed to be conflicts then Daz needs more control over content providers. But I don't think this is the problem. The problem is that this issue has fallen on deaf ears.

  • ebslater26 said:

    I had similar slow loading times with Genesis 8 figures. Once a realized the cause was just the rediculous amount of morphs and such I set about seperating all my library items into seperate content directories; i.e. I have content directories for Hair, Wardrobe, Characters, Poses, etc. When I want to play with Characters I just load that Content Directory. Otherwise I usually just have the base Vanilla directory open. There is an addon (I can't remember the name but I will try and find it) that can scan your active scene and tell you which items are in it, so that you can seperate them out to a seperate working directory. So once I've created my character or scene I run the addon, seperate everything out, and from there I have a seperate directory for the sepcific project.

    It doesn't solve all the problems. When opening the Characters directory and then loading a figure it can take some time still, but it's not nearly as bad as it was. Before my reorg it would take about 10 min to load a figure. Now with this workflow it takes about 1-2 min to load. Not great, but not too bad.

    The problem is not with Content Manager. Separating your library may give you a better workflow but it does nothing to address the problem of Daz loading ALL the character morphs you have installed.

    If you disable character morphs using Riversoft's Turbo Loader or manually changing the file extension to .zzz or something, you can still see the reference to it in the Content Manager and your Character shapes menu, but it does not do anything if you try to use it on yopur character.

    Daz needs to take the concept of Turbo Loader one step more and intellegently look at the figure you are try to load and then only load those morphs associated with it and then unload all morphs when you save and exit the program. It should also write an instruction to the .duf file as to what morphs to load on re-opening that file.

  • crosswindcrosswind Posts: 6,175

    As for the issue of 'conflict' ( aka 'duplicate formulas' ), it's been for a long time indeed... There's a new mechanism in the Public Build to prevent such an issue (onward)... hopefully...

Sign In or Register to comment.