Genesis 8.1 / Victoria 8.1

15354565859

Comments

  • PerttiAPerttiA Posts: 9,479

    jbowler said:

    The behavior with the work-round is at best confusing and unreliable.  I'm not going to use it - I have restored the folders containing the dummies.  I know if I use it I will end up with scenes that suddenly change because I used a dummied out expression on a G8.1 character.

    I can completely explain the behavior I see, but the "Base Pose Head" morphs are so fundamental to so many of the G8 PA products that I don't want to use those expression/head poses on 8.1 even though I know how to do it.  It is just too error prone.

     

    The only problem with leaving the dummy files in their place, is that your parameters tab and posing tab are being populated with countless PA made expression dials for G8 and you have no way of knowing which ones will work and which ones do nothing.

    Those expression files cannot be blocked by DAZ with dummy files as there is no standard folder structure and naming rules that could be used in sniping them. The only working solution would be to stop reading any and all G8 morphs into G8.1

  • jbowlerjbowler Posts: 742

    PerttiA said:

    jbowler said:

    The behavior with the work-round is at best confusing and unreliable.  I'm not going to use it - I have restored the folders containing the dummies.  I know if I use it I will end up with scenes that suddenly change because I used a dummied out expression on a G8.1 character.

    I can completely explain the behavior I see, but the "Base Pose Head" morphs are so fundamental to so many of the G8 PA products that I don't want to use those expression/head poses on 8.1 even though I know how to do it.  It is just too error prone.

     

    The only problem with leaving the dummy files in their place, is that your parameters tab and posing tab are being populated with countless PA made expression dials for G8 and you have no way of knowing which ones will work and which ones do nothing.

    Those expression files cannot be blocked by DAZ with dummy files as there is no standard folder structure and naming rules that could be used in sniping them. The only working solution would be to stop reading any and all G8 morphs into G8.1

    To make it worse all those expression settings get recorded, spuriously, on a G8.1F character when a key frame is created (well, at least at Object level with "O" set).  Waiting a minute for a new key frame is a PITA.

    So when I get round to using G8.1 characters I will probably create a Content Manager directory set that does not include my G8 expressions.  I already have a separate installation root for G8 Expressions, distinct from everything else.  All I need to do is exclude it.  That's why I was whining about freezing PA poses to the bones; I want to load an existing scene, freeze all the character expressions, save the scene then reload it with my G8 Expressions install excluded.

  • algovincianalgovincian Posts: 2,576

    Richard Haseltine said:

    algovincian said:

    Bejaymac said:

    peteanderson1212 said:

    Considering some/a lot of the expression morphs from 8.0 aren't going to work on 8.1, hopefully they can update this asset in regards so that the 8.1 figure doesn't go about hunting for the 8.0 expression morphs. My loadup times are 10 times larger with 8.1 figures, and my log file is like 2000 times larger than the normal log file when loading a 8.0 figure. 

     

    Long load times are down to a couple of issues.

    1) DS has always been poor at dealing with large amounts of complicated ERC, it basically bogs down the program causing it to load slower and slower the more it has to deal with, DS4 can handle far more ERC than DS1, 2 or 3 could but it still has limits.

    2) Genesis 8 is an enormous cluster**** of complicated ERC, damn near every DSF file in the morphs folder is overloaded with ERC, and DS just can't cope with it.

    Lets take Victoria 8 as an example -

    CTRLVictoria8.dsf = 2 ERC
    FHMVictoria8.dsf  = 531 ERC
    FBMVictoria8.dsf  = 933 ERC

    That is just 3 of the 52 DSF files she comes with, and all the rest have ERC in them, so a couple of thousand ERC for each DO character you have installed. Add in some of the other characters in this store, and things like AFE, or Zev0's products and you could easily be hitting a million plus ERC when you load G8F.

    Then there's 8.1, not only does it have to load all it's own ERC, but with 4.15+ it also has to deal with all 8.0's crap as well.

    One general concept that I've employed in the past when developing real-time applications is to setup as much as possible ahead of time, leaving less to do at runtime. I'm wondering if this approach might be useful in this case.

    My understanding is that numerous small files (relatively speaking) need to be read from disk when a figure is loaded. Once read in, then the structures/references must be setup in memory.

    I'm wondering if this can't be done pre-runtime, with the result being a single large file (basically a memory dump) with the references already setup for a given figure. This single large file could then be read into memory when loading the figure. This pre-runtime process could be repeated whenever new content was installed (again, pre-runtime).

    I'm guessing there would be complications with pointers, etc. as it's not a simple fixed memory situation but rather a general purpose computing situation that must run on unknown hardware. I'm not suggesting it would be trivial and I'm certain there are things that I'm not aware (obviously I didn't write the code for DS), but it may still be worth investigating. The long load times take much of the joy out of using DS (and actively discourage spending money on large libraries).

    - Greg

    DzCreateExPFiles-v4.bat and so on did this for the fourth geenation figures. Some people hated it, and frequently got in a mess with it.

    DS already has the DSON cache.

    I wasn't around for that era, but I read this page:

    https://helpdaz.zendesk.com/hc/en-us/articles/207530923-Why-is-the-update-from-Victoria-4-0-to-Victoria-4-X-What-is-ExP-technology-

    Unless I'm not understanding something, the whole ExP/INJ system didn't really function like what I'm suggesting at all - there would be no selective injecting or anything like that at runtime.

    I googled the DSON cache and found several threads about it (questions with no answers). It seems obvious that it doesn't function to sufficiently speed load times, though.

    Something really needs to be done about the load/delete times, and un-installing content that you've paid for isn't really a solution. I know I've pretty much stopped buying figures because DS is getting unusable from a practical standpoint. I'm know not the only one.

    - Greg

     

  • s_j_gregorys_j_gregory Posts: 103

    jbowler, PerttiA, et al,

    I am 'sort of' following along.  I am still working through some of the creator's solutions to grafts and MAT copy scripts, different UV sets and the like flowing from the introduction of 8.1.  (Thanks to them all!)  The good news is I don't reuse a lot of scenes.  The bad news is a bit more complicated and perhaps not caused by the introduction of 8.1 but certainly made worse.

    If reusing a scene potentially introduces a risk of a lost expression because of the use of the 'dummy file move . . .work around,' to my mind, it would be added to a list of potential risks.  It is not routine, but not unheard of in my experience, for saved files to lose one of more surface textures for a character or characters, or for grafts to have become completely deformed such that the only solution I have been able to use successfully is to delete them and re-install them.  (The former is particualrly frustrating, but not unique, when using scene subsets to save characters that have skin including tattoos, veins, tan lines etc.  I almost never use a skin 'out of the box.')  I am not sure of the rate of these problems or how to (re) produce them.  

    My conclusion is 1) that saving a scene (or scene subset) is mostly reliable.  But it can be imperfect.  And I think I am seeing an increased rate of these 'drops' since 8.1, resulting perhaps from work arounds (coded or manual) and 2), since I don't generally reuse scenes, that I will use the 'dummy files move . . . work around' as I weigh the risk of a lost expression lower than the desire of accessing more of my G8 expressions for use on G8.1.  Have I gotten to good place or have I missunderstood?.     

  • BejaymacBejaymac Posts: 1,846

    Probably going to get cursed by some for this post, but what the hell, I have a thick skin cheeky

    The two attached images were taken within seconds of each other, in the first you will notice I have the figure on the right selected, that's G8F, loaded using her DUF file. Notice the Shaping tab on the left doesn't show my user name anywhere, and the first morph is "Monique 8 Body".
    Now look at the second image, in it I have the second figure selected, this is also G8F also loaded from her DUF file a few seconds after the first. With this one I added one of my character presets to it, now check the Shaping tab, suddenly my user name is there, and the first morph is now my character Samay.

    That morph DSF file isn't in the Morphs folder, as a result G8F has no idea it's there and never loads it when she's loading, the only way to get my character to load, is with a preset that knows where to find the DSF file.

    IMHO this is how we should have been dealing with morphs since DS4.0, only the assets from the starter essentials and the head/body/expression morph packs should be loaded as a Genesis series figure is loaded, everything else should only be loaded using presets.

    That last part will cause some of the cursing I mentioned, however the next part is probably going to cause even more devil

    The problem with what I've done here is that you can't do this directly inside DS, it will always save the morph asset inside the figures Morphs folder. So you have to manually move files and do a spot of very minor editing of said files, in this case two pathways in the DSF file and one pathway in the DUF file.

    G8F.jpg
    972 x 653 - 140K
    Samay.jpg
    971 x 610 - 136K
  • jbowlerjbowler Posts: 742

    s_j_gregory said:

    jbowler, PerttiA, et al,

    I am 'sort of' following along.  I am still working through some of the creator's solutions to grafts and MAT copy scripts, different UV sets and the like flowing from the introduction of 8.1.  (Thanks to them all!)  The good news is I don't reuse a lot of scenes.  The bad news is a bit more complicated and perhaps not caused by the introduction of 8.1 but certainly made worse.

    If reusing a scene potentially introduces a risk of a lost expression because of the use of the 'dummy file move . . .work around,' to my mind, it would be added to a list of potential risks.  It is not routine, but not unheard of in my experience, for saved files to lose one of more surface textures for a character or characters, or for grafts to have become completely deformed such that the only solution I have been able to use successfully is to delete them and re-install them.  (The former is particualrly frustrating, but not unique, when using scene subsets to save characters that have skin including tattoos, veins, tan lines etc.  I almost never use a skin 'out of the box.')  I am not sure of the rate of these problems or how to (re) produce them.  

    My conclusion is 1) that saving a scene (or scene subset) is mostly reliable.  But it can be imperfect.  And I think I am seeing an increased rate of these 'drops' since 8.1, resulting perhaps from work arounds (coded or manual) and 2), since I don't generally reuse scenes, that I will use the 'dummy files move . . . work around' as I weigh the risk of a lost expression lower than the desire of accessing more of my G8 expressions for use on G8.1.  Have I gotten to good place or have I missunderstood?.     

    Agreed; my approach is certainly specific to the way I revisit old scenes and then mix-n-match to get new ones.  I'm certainly not saying that the work-round is inherently bad; it works round a very real problem.

  • SeraSera Posts: 1,675

    Bejaymac said:

    Probably going to get cursed by some for this post, but what the hell, I have a thick skin cheeky

    The two attached images were taken within seconds of each other, in the first you will notice I have the figure on the right selected, that's G8F, loaded using her DUF file. Notice the Shaping tab on the left doesn't show my user name anywhere, and the first morph is "Monique 8 Body".
    Now look at the second image, in it I have the second figure selected, this is also G8F also loaded from her DUF file a few seconds after the first. With this one I added one of my character presets to it, now check the Shaping tab, suddenly my user name is there, and the first morph is now my character Samay.

    That morph DSF file isn't in the Morphs folder, as a result G8F has no idea it's there and never loads it when she's loading, the only way to get my character to load, is with a preset that knows where to find the DSF file.

    IMHO this is how we should have been dealing with morphs since DS4.0, only the assets from the starter essentials and the head/body/expression morph packs should be loaded as a Genesis series figure is loaded, everything else should only be loaded using presets.

    That last part will cause some of the cursing I mentioned, however the next part is probably going to cause even more devil

    The problem with what I've done here is that you can't do this directly inside DS, it will always save the morph asset inside the figures Morphs folder. So you have to manually move files and do a spot of very minor editing of said files, in this case two pathways in the DSF file and one pathway in the DUF file.

    Where are you keeping your custom morphs? How do you edit the files? I don't have a problem loading G8 yet but it's an interesting idea! A step-by-step guide would be appreciated, in case I ever want to do this. Please assume I know nothing about editing Daz files manually because that is the case! 

  • s_j_gregorys_j_gregory Posts: 103

    Bejaymac said:

    Probably going to get cursed by some for this post, but what the hell, I have a thick skin cheeky

    The two attached images were taken within seconds of each other, in the first you will notice I have the figure on the right selected, that's G8F, loaded using her DUF file. Notice the Shaping tab on the left doesn't show my user name anywhere, and the first morph is "Monique 8 Body".
    Now look at the second image, in it I have the second figure selected, this is also G8F also loaded from her DUF file a few seconds after the first. With this one I added one of my character presets to it, now check the Shaping tab, suddenly my user name is there, and the first morph is now my character Samay.

    That morph DSF file isn't in the Morphs folder, as a result G8F has no idea it's there and never loads it when she's loading, the only way to get my character to load, is with a preset that knows where to find the DSF file.

    IMHO this is how we should have been dealing with morphs since DS4.0, only the assets from the starter essentials and the head/body/expression morph packs should be loaded as a Genesis series figure is loaded, everything else should only be loaded using presets.

    That last part will cause some of the cursing I mentioned, however the next part is probably going to cause even more devil

    The problem with what I've done here is that you can't do this directly inside DS, it will always save the morph asset inside the figures Morphs folder. So you have to manually move files and do a spot of very minor editing of said files, in this case two pathways in the DSF file and one pathway in the DUF file.

    VERY INTERESTING

    I have a reasonable PC but I am struggling with load times, pose resets etc.  Simulations are an issue . . . . .particularly if they use a timeline . . .

    I could be mixing a bunch of unrelated bits here.  Not that much earlier in this thread there was a side bar about ERC creating load.  I have recently completed an exercise of removing a bunch of content from my normal runtime as a way to try to improve load times etc: removed a number of characters, removed a number of expression sets that had custom morphs, removed some similar products that were close to duplicates (expression and morph sets), removed some products (like AFE and Kitten) that contained lots of morphs, removed a lot of expressions that came as part of pose sets. . . .   It helped - not nearly as much as I might have hoped given the effort. . . . 

    As someone who started with Poser a long time ago, I have been intrigued over the years when folks have commented on the loading time and the fact that 'all these morphs needed to be loaded up.'  The idea of 'injects' would quickly surface in my mind or the discussion and would just as quickly be discounted or ignored.  (I could never quite understand how clothes could load with their specific morphs (and tools could add others if desired) while characters needed to load with every morph known to mankind.  Anyways. . . .)

    This 'preset' idea you have implemented sounds like an 'inject.'   Maybe?  But it would only be worth the effort (for me) if it helped with the 'character induced overhead.'  If it was to turn out the load time issue is really ERC, then it might be another windmill. . .    

    I would be interested in more details regarding your last paragraph; and, given this discussion's proximity to the scene saving discussion and expressions being lost, what impact your idea would have on characters loaded in this way when saved to a scene when it is reloaded.  Thanks.

  • PerttiAPerttiA Posts: 9,479

    Bejaymac said:

    Probably going to get cursed by some for this post, but what the hell, I have a thick skin cheeky

    The two attached images were taken within seconds of each other, in the first you will notice I have the figure on the right selected, that's G8F, loaded using her DUF file. Notice the Shaping tab on the left doesn't show my user name anywhere, and the first morph is "Monique 8 Body".
    Now look at the second image, in it I have the second figure selected, this is also G8F also loaded from her DUF file a few seconds after the first. With this one I added one of my character presets to it, now check the Shaping tab, suddenly my user name is there, and the first morph is now my character Samay.

    That morph DSF file isn't in the Morphs folder, as a result G8F has no idea it's there and never loads it when she's loading, the only way to get my character to load, is with a preset that knows where to find the DSF file.

    IMHO this is how we should have been dealing with morphs since DS4.0, only the assets from the starter essentials and the head/body/expression morph packs should be loaded as a Genesis series figure is loaded, everything else should only be loaded using presets.

    That last part will cause some of the cursing I mentioned, however the next part is probably going to cause even more devil

    The problem with what I've done here is that you can't do this directly inside DS, it will always save the morph asset inside the figures Morphs folder. So you have to manually move files and do a spot of very minor editing of said files, in this case two pathways in the DSF file and one pathway in the DUF file.

    Hmm... Going further with the idea... One could do the ultimate crime and save all the 'custom' assets (morphs/textures/expressions...) of the character in one and the same folder together with the character file and the 'custom' morphs would only be visible on that character...

  • BejaymacBejaymac Posts: 1,846

    Back up there folks.

    This was more a case of me rattling the lead designer's cage, and saying this is how you should have done it, rather than have the rest of you start moving and editing files.

    Most of the DSF files that come with characters are hidden files, JCM's and Correctives mostly, they don't get "called" from any preset so none of them will load doing what I've done.

    We are talking fairly major editing to add "calls" into files to get those hidden assets to load, and as an experienced file editor (been doing it since 4.0) even I'm wary about taking on this.

  • SeraSera Posts: 1,675
    Bejaymac said:

    Back up there folks.

    This was more a case of me rattling the lead designer's cage, and saying this is how you should have done it, rather than have the rest of you start moving and editing files.

    We are talking fairly major editing to add "calls" into files to get those hidden assets to load, and as an experienced file editor (been doing it since 4.0) even I'm wary about taking on this.

    (Insert poop emoji here)
  • algovincian said:

    Richard Haseltine said:

    algovincian said:

    Bejaymac said:

    peteanderson1212 said:

    Considering some/a lot of the expression morphs from 8.0 aren't going to work on 8.1, hopefully they can update this asset in regards so that the 8.1 figure doesn't go about hunting for the 8.0 expression morphs. My loadup times are 10 times larger with 8.1 figures, and my log file is like 2000 times larger than the normal log file when loading a 8.0 figure. 

     

    Long load times are down to a couple of issues.

    1) DS has always been poor at dealing with large amounts of complicated ERC, it basically bogs down the program causing it to load slower and slower the more it has to deal with, DS4 can handle far more ERC than DS1, 2 or 3 could but it still has limits.

    2) Genesis 8 is an enormous cluster**** of complicated ERC, damn near every DSF file in the morphs folder is overloaded with ERC, and DS just can't cope with it.

    Lets take Victoria 8 as an example -

    CTRLVictoria8.dsf = 2 ERC
    FHMVictoria8.dsf  = 531 ERC
    FBMVictoria8.dsf  = 933 ERC

    That is just 3 of the 52 DSF files she comes with, and all the rest have ERC in them, so a couple of thousand ERC for each DO character you have installed. Add in some of the other characters in this store, and things like AFE, or Zev0's products and you could easily be hitting a million plus ERC when you load G8F.

    Then there's 8.1, not only does it have to load all it's own ERC, but with 4.15+ it also has to deal with all 8.0's crap as well.

    One general concept that I've employed in the past when developing real-time applications is to setup as much as possible ahead of time, leaving less to do at runtime. I'm wondering if this approach might be useful in this case.

    My understanding is that numerous small files (relatively speaking) need to be read from disk when a figure is loaded. Once read in, then the structures/references must be setup in memory.

    I'm wondering if this can't be done pre-runtime, with the result being a single large file (basically a memory dump) with the references already setup for a given figure. This single large file could then be read into memory when loading the figure. This pre-runtime process could be repeated whenever new content was installed (again, pre-runtime).

    I'm guessing there would be complications with pointers, etc. as it's not a simple fixed memory situation but rather a general purpose computing situation that must run on unknown hardware. I'm not suggesting it would be trivial and I'm certain there are things that I'm not aware (obviously I didn't write the code for DS), but it may still be worth investigating. The long load times take much of the joy out of using DS (and actively discourage spending money on large libraries).

    - Greg

    DzCreateExPFiles-v4.bat and so on did this for the fourth geenation figures. Some people hated it, and frequently got in a mess with it.

    DS already has the DSON cache.

    I wasn't around for that era, but I read this page:

    https://helpdaz.zendesk.com/hc/en-us/articles/207530923-Why-is-the-update-from-Victoria-4-0-to-Victoria-4-X-What-is-ExP-technology-

    Unless I'm not understanding something, the whole ExP/INJ system didn't really function like what I'm suggesting at all - there would be no selective injecting or anything like that at runtime.

    I googled the DSON cache and found several threads about it (questions with no answers). It seems obvious that it doesn't function to sufficiently speed load times, though.

    Something really needs to be done about the load/delete times, and un-installing content that you've paid for isn't really a solution. I know I've pretty much stopped buying figures because DS is getting unusable from a practical standpoint. I'm know not the only one.

    - Greg

    or maybe the system wouldn't greatly - or at all - speed loading, and that's why the cache seems to do limited good. It may well be that such a system was considered and rejected as having too little benefit for its cost in other respects (such as adding new content in a way that doesn't confuse the average user).

  • bluejauntebluejaunte Posts: 1,861

    I had voiced an idea to cache the morph sliders somehow. As I understand what's taking ages is reading all the .duf files and generating from that all the morph sliders. If the sliders were cached and only those that changed (modified date or something) were generated this could be faster. Then again I don't know anyting about Daz Studio code so this could just be complete nonsense.

  • jbowlerjbowler Posts: 742

    PerttiA said:

    Bejaymac said:

    Probably going to get cursed by some for this post, but what the hell, I have a thick skin cheeky

    The two attached images were taken within seconds of each other, in the first you will notice I have the figure on the right selected, that's G8F, loaded using her DUF file. Notice the Shaping tab on the left doesn't show my user name anywhere, and the first morph is "Monique 8 Body".
    Now look at the second image, in it I have the second figure selected, this is also G8F also loaded from her DUF file a few seconds after the first. With this one I added one of my character presets to it, now check the Shaping tab, suddenly my user name is there, and the first morph is now my character Samay.

    That morph DSF file isn't in the Morphs folder, as a result G8F has no idea it's there and never loads it when she's loading, the only way to get my character to load, is with a preset that knows where to find the DSF file.

    IMHO this is how we should have been dealing with morphs since DS4.0, only the assets from the starter essentials and the head/body/expression morph packs should be loaded as a Genesis series figure is loaded, everything else should only be loaded using presets.

    That last part will cause some of the cursing I mentioned, however the next part is probably going to cause even more devil

    The problem with what I've done here is that you can't do this directly inside DS, it will always save the morph asset inside the figures Morphs folder. So you have to manually move files and do a spot of very minor editing of said files, in this case two pathways in the DSF file and one pathway in the DUF file.

    Hmm... Going further with the idea... One could do the ultimate crime and save all the 'custom' assets (morphs/textures/expressions...) of the character in one and the same folder together with the character file and the 'custom' morphs would only be visible on that character...

    If I do that it speeds up my load time for "Genesis 8 Basic Female" by a factor of 35; I go from 93.827 seconds to load the character with all my DAZ Productions content visible to 2.652s with just what I term "core" content, stuff for the environment but nothing actor-specific and just the G8 starter essentials (male and female).

    I'm just using fully supported DAZStudio features to do this; I'm not hacking files or moving them around.  All I'm doing is selecting which content installation directories the CMS sees.  I get the same relative speed-up with and without the DSON cache but the cache itself speeds my load times in both scenarios by a factor of 1.58.  Of course the DSON cache is more stable as well; the CMS does not have to update it every time I buy a new character :-)

    I believe I can get this to work dynamically as well; i.e. I can start with no characters and, while building the scene, add characters one-by-one to the CMS until I have a CMS configuration specific to that particular scene (which I can save of course).  I've yet to test this in practice but it seems like a logical extension of what I have already done.

  • s_j_gregorys_j_gregory Posts: 103

    jbowler said:

    PerttiA said:

    Bejaymac said:

    Probably going to get cursed by some for this post, but what the hell, I have a thick skin cheeky

    The two attached images were taken within seconds of each other, in the first you will notice I have the figure on the right selected, that's G8F, loaded using her DUF file. Notice the Shaping tab on the left doesn't show my user name anywhere, and the first morph is "Monique 8 Body".
    Now look at the second image, in it I have the second figure selected, this is also G8F also loaded from her DUF file a few seconds after the first. With this one I added one of my character presets to it, now check the Shaping tab, suddenly my user name is there, and the first morph is now my character Samay.

    That morph DSF file isn't in the Morphs folder, as a result G8F has no idea it's there and never loads it when she's loading, the only way to get my character to load, is with a preset that knows where to find the DSF file.

    IMHO this is how we should have been dealing with morphs since DS4.0, only the assets from the starter essentials and the head/body/expression morph packs should be loaded as a Genesis series figure is loaded, everything else should only be loaded using presets.

    That last part will cause some of the cursing I mentioned, however the next part is probably going to cause even more devil

    The problem with what I've done here is that you can't do this directly inside DS, it will always save the morph asset inside the figures Morphs folder. So you have to manually move files and do a spot of very minor editing of said files, in this case two pathways in the DSF file and one pathway in the DUF file.

    Hmm... Going further with the idea... One could do the ultimate crime and save all the 'custom' assets (morphs/textures/expressions...) of the character in one and the same folder together with the character file and the 'custom' morphs would only be visible on that character...

    If I do that it speeds up my load time for "Genesis 8 Basic Female" by a factor of 35; I go from 93.827 seconds to load the character with all my DAZ Productions content visible to 2.652s with just what I term "core" content, stuff for the environment but nothing actor-specific and just the G8 starter essentials (male and female).

    I'm just using fully supported DAZStudio features to do this; I'm not hacking files or moving them around.  All I'm doing is selecting which content installation directories the CMS sees.  I get the same relative speed-up with and without the DSON cache but the cache itself speeds my load times in both scenarios by a factor of 1.58.  Of course the DSON cache is more stable as well; the CMS does not have to update it every time I buy a new character :-)

    I believe I can get this to work dynamically as well; i.e. I can start with no characters and, while building the scene, add characters one-by-one to the CMS until I have a CMS configuration specific to that particular scene (which I can save of course).  I've yet to test this in practice but it seems like a logical extension of what I have already done.

    Sorry but could you dumb this down for me.  Are you creating runtimes for each character?  You must have a lot if that is the case.  And then as you build a scene you add more runtimes to your content library to access additional characters/content?  Do you do the same thing for pose and/or expression sets?  Somewhere a while back I read that there was no theoretical limit to the number of runtimes you could have in your content library but that the practiccal limit was about ten.  I am not exactly clear what that would be in reference to but have you experienced any issues with the number of runtimes or any considerations from a hardware perspective and where you have your runtimes?  (I have runtimes on HDs and SSDs and have not noticed any measureable difference.  I typically have about six active in my content library at any given time.)  Are you successful in adding a runtime with expressions say and them being available without restarting?  I thought that was the central issue?  And sorry for my ignorance - what is the DSON cache - you could point me somewhere if this is too pedestrian.  (I might not know or I might not know I know.)  Finally, how does one save a CMS configuration.  It sounds perhaps you are under the hood well beyond my comfort zone and my earlier line of questions could reflect a complete misappreciation of your strategy.  If this is tinkering with the DB, I guess i'm out because I have had some disquieting experiences with what must have been operator error.  Thanks in advance.   

  • inquireinquire Posts: 2,097
    edited March 2021

    Well, could this work? Create two aliases (Macintosh term) or two shortcuts (Windows term) to the DAZ 3D folders, the ones containing the G 8.1 male or female Base Pose Head and Expressions folders. Then, perhaps just before rendering, do the expressions. Click on the alias or shortcut, and "hide" [perhaps by adding .SAV to the end of each folder] those two folders. Use all the G8 expressions you want. Then, render. And, of course, click on the alias (or shortcut) again and "unhide" those two folders. 

    Thus, these folders would not be hidden for very long and should not present problems when updates were being downloaded. And, if you did the expressions just before rendering, even if the scene should be worked on over several days, there should not be an occasion of lost expressions.

    Would this not work, and without presenting problems, and with just a little bit of extra labor?

    I should hurry to add that I had not read the two previous posts by jbowler and s_j_gregory above. I don't want them to think that I'm responding to their posts. This was just my idea.

    Post edited by inquire on
  • jbowlerjbowler Posts: 742

    s_j_gregory said:

    Sorry but could you dumb this down for me.  Are you creating runtimes for each character?  You must have a lot if that is the case.  And then as you build a scene you add more runtimes to your content library to access additional characters/content?  Do you do the same thing for pose and/or expression sets?  Somewhere a while back I read that there was no theoretical limit to the number of runtimes you could have in your content library but that the practiccal limit was about ten.  I am not exactly clear what that would be in reference to but have you experienced any issues with the number of runtimes or any considerations from a hardware perspective and where you have your runtimes?  (I have runtimes on HDs and SSDs and have not noticed any measureable difference.  I typically have about six active in my content library at any given time.)  Are you successful in adding a runtime with expressions say and them being available without restarting?  I thought that was the central issue?  And sorry for my ignorance - what is the DSON cache - you could point me somewhere if this is too pedestrian.  (I might not know or I might not know I know.)  Finally, how does one save a CMS configuration.  It sounds perhaps you are under the hood well beyond my comfort zone and my earlier line of questions could reflect a complete misappreciation of your strategy.  If this is tinkering with the DB, I guess i'm out because I have had some disquieting experiences with what must have been operator error.  Thanks in advance.   

    I'm installing my content to specific content directory roots in DIM:

    image

    So you can see my G8 content is separated out into different directories by, basically, product type (though as I will show when I post my numbers the number of different product types can be reduced for the same speed benefit).  In the DAZStudio CMS I am selecting the directories I need.  To date I have just stuck with a single selection which includes non-actor G8 products; I'll change this after today's experiments but this is my setup as it has been for the past couple of weeks:

    image

    You can see that I have a working set of G8 figures, "Genesis 8/Figures in use".  If I load a scene with a figure that isn't in that set I get the warning from DAZStudio that the product needs installing.  To date what I have been doing is to immediately go to DIM, without dismissing the dialog, uninstalling the product and then re-installing it in "Genesis 8/Figures in use" (for a character product) or "Genesis 8/Core" for some of the morphs.  I only recently added the "Genesis 8/Morphs" directory to my default set; it didn't cost too much time on load but it turns out to be the biggest single hit in my normal directory set so I will probably drop it again.

    What I am now considering doing is to eliminate "Figures in use" and put each character product into a separate directory; it doesn't seem to have any effect on DAZStudio however many directories there are and I wouldn't expect it to.  This will allow me to mix'n'match characters for the current scene; I can just add them in the Content Directory Manager as I need.  I'll probably list them in my "Everything" content set but nowhere else; they are easy to find using the "Directory: Add..." button on the content manager pane.

    Saving a content directory manger set is trivial; it's just "Content Set: Copy..." on the "Current Directories" set.  This is what I have recommended elsewhere for backup (hence my "Backup..." sets!)

    The one problem I've encountered is that the CMS directories have to be manipulated from a non-instance DAZStudio; using -instanceName on the command line results in a scenario where DAZStudio does not write the ContentDirectoryManager.dsx file at all!   That is actually a big problem with the scene specific approach I'm describing so I'll have to try and find a work-round.

     

     

     

    DIM installation directories.PNG
    1564 x 1560 - 158K
    20210305 DAZStudio content manager set.PNG
    924 x 1796 - 129K
  • jbowlerjbowler Posts: 742

    inquire said:

    Well, could this work? Create two aliases (Macintosh term) or two shortcuts (Windows term) to the DAZ 3D folders, the ones containing the G 8.1 male or female Base Pose Head and Expressions folders. Then, perhaps just before rendering, do the expressions. Click on the alias or shortcut, and "hide" [perhaps by adding .SAV to the end of each folder] those two folders. Use all the G8 expressions you want. Then, render. And, of course, click on the alias (or shortcut) again and "unhide" those two folders. 

    Thus, these folders would not be hidden for very long and should not present problems when updates were being downloaded. And, if you did the expressions just before rendering, even if the scene should be worked on over several days, there should not be an occasion of lost expressions.

    Would this not work, and without presenting problems, and with just a little bit of extra labor?

    I should hurry to add that I had not read the two previous posts by jbowler and s_j_gregory above. I don't want them to think that I'm responding to their posts. This was just my idea.

    Those posts and the whole load time thread is off topic; I'm going to post my numbers in the real load time thread.  The long load time is not specific to G8.1 and my CMS directory fix for the load time doesn't help with the expression dummy files because they are in the same product as the files they dummy out; the only way to remove the dummies is to modify the Starter Essentials product.

    I believe that DAZStudio does not reload expressions etc after the scene has been loaded; it would have to rebuild all the morph sliders if it found a change and, anyway, a substantial part of the information is loaded from the DSON cache.  Even if it did reload on render relying on it doing so would not be good; there is no reason why a minor update to DAZStudio would not skip the reload, after all it would slow everything down unnecessarily if it happened.

    IMO it is necessary to either work with the core product as shipped or to modify it and then commit to keeping it modified despite DAZ updates, and not complaining if a change in DAZStudio breaks the modification.

  • s_j_gregorys_j_gregory Posts: 103
    edited March 2021

    jbowler said:

    s_j_gregory said:

    Sorry but could you dumb this down for me.  Are you creating runtimes for each character?  You must have a lot if that is the case.  And then as you build a scene you add more runtimes to your content library to access additional characters/content?  Do you do the same thing for pose and/or expression sets?  Somewhere a while back I read that there was no theoretical limit to the number of runtimes you could have in your content library but that the practiccal limit was about ten.  I am not exactly clear what that would be in reference to but have you experienced any issues with the number of runtimes or any considerations from a hardware perspective and where you have your runtimes?  (I have runtimes on HDs and SSDs and have not noticed any measureable difference.  I typically have about six active in my content library at any given time.)  Are you successful in adding a runtime with expressions say and them being available without restarting?  I thought that was the central issue?  And sorry for my ignorance - what is the DSON cache - you could point me somewhere if this is too pedestrian.  (I might not know or I might not know I know.)  Finally, how does one save a CMS configuration.  It sounds perhaps you are under the hood well beyond my comfort zone and my earlier line of questions could reflect a complete misappreciation of your strategy.  If this is tinkering with the DB, I guess i'm out because I have had some disquieting experiences with what must have been operator error.  Thanks in advance.   

    I'm installing my content to specific content directory roots in DIM:

    image

    So you can see my G8 content is separated out into different directories by, basically, product type (though as I will show when I post my numbers the number of different product types can be reduced for the same speed benefit).  In the DAZStudio CMS I am selecting the directories I need.  To date I have just stuck with a single selection which includes non-actor G8 products; I'll change this after today's experiments but this is my setup as it has been for the past couple of weeks:

    image

    You can see that I have a working set of G8 figures, "Genesis 8/Figures in use".  If I load a scene with a figure that isn't in that set I get the warning from DAZStudio that the product needs installing.  To date what I have been doing is to immediately go to DIM, without dismissing the dialog, uninstalling the product and then re-installing it in "Genesis 8/Figures in use" (for a character product) or "Genesis 8/Core" for some of the morphs.  I only recently added the "Genesis 8/Morphs" directory to my default set; it didn't cost too much time on load but it turns out to be the biggest single hit in my normal directory set so I will probably drop it again.

    What I am now considering doing is to eliminate "Figures in use" and put each character product into a separate directory; it doesn't seem to have any effect on DAZStudio however many directories there are and I wouldn't expect it to.  This will allow me to mix'n'match characters for the current scene; I can just add them in the Content Directory Manager as I need.  I'll probably list them in my "Everything" content set but nowhere else; they are easy to find using the "Directory: Add..." button on the content manager pane.

    Saving a content directory manger set is trivial; it's just "Content Set: Copy..." on the "Current Directories" set.  This is what I have recommended elsewhere for backup (hence my "Backup..." sets!)

    The one problem I've encountered is that the CMS directories have to be manipulated from a non-instance DAZStudio; using -instanceName on the command line results in a scenario where DAZStudio does not write the ContentDirectoryManager.dsx file at all!   That is actually a big problem with the scene specific approach I'm describing so I'll have to try and find a work-round.

     

     

    Thanks for taking the time to provide all of this info.  In your message below above you mention moving this discussion to the load time thread - is this the 'How long does it take to load G8F' thread.  Please advise which it is as I would like to continue this exchange - but in the right place.  Thanks again.  

    Post edited by s_j_gregory on
  • jbowlerjbowler Posts: 742

    s_j_gregory said:

    Thanks for taking the time to provide all of this info.  In your message below you mention moving this discussion to the load time thread - is this the 'How long does it take to load G8F' thread.  Please advise which it is as I would like to continue this exchange - but in the right place.  Thanks again.  

    Nope, it wasn't that one, it was another that started on February 7, which, of course, I can't find now.

    I give up.  I will post on the "General Release" thread; the issue is a general issue, creating, or, indeed, contributing to, new threads just to discuss it given that it has been and will keep growing for ever is just pointless.  Every other thread complains about it.

  • fred9803fred9803 Posts: 1,559

    I give up too. The whole topic is getting very confusing for me.....

  • Mustakettu85Mustakettu85 Posts: 2,933

    Unless I'm not understanding something, the whole ExP/INJ system didn't really function like what I'm suggesting at all - there would be no selective injecting or anything like that at runtime.

    PowerLoader did that. You fire up V4.2 and it asks you which ExP morph sets to load, and more. http://docs.daz3d.com/doku.php/artzone/pub/software/powerloader/start The ExP tech was a blessing and a curse. A blessing because it overrode the morph channel number limitations (only so many used to be available in a figure by default back then). But if you save a scene with a V4-based character and later add a new ExP morph package to V4, your character in the scene saved prior to adding those won't be able to use them.
  • SevrinSevrin Posts: 6,301

    fred9803 said:

    I give up too. The whole topic is getting very confusing for me.....

    This is pretty apt.  You have to wait for an elevator, but once you're on, it's quick.  You don't have to wait for an escalator, but then you have to switch on every floor.

    I have a bunch of characters, morphs etc.  I just install them wherever DIM wants, and point DS to that.  Loading a character takes a while.  Others spend time sorting stuff into different directories, which takes time, but loading a character is fast.  I don't know if there's a net benefit, but I wouldn't have the patience for that.  I'd rather load a character and go make tea  or go to the bathroom because of all the tea or check email or something than screw around with content directories.  Different strokes.

  • jbowlerjbowler Posts: 742

    I published my detailed timing of G8 load times (G8F in this case) in the General Release thread here:

    https://www.daz3d.com/forums/discussion/comment/6541996/#Comment_6541996

     

  • inquireinquire Posts: 2,097

    Thanks very much for the link to where you're posting this. I'll be interested in reading this. But, in my last post above, I wasn't trying to talk about load times. I was just wondering if those steps I indicated would work: that is, wouldn't they allow for a temporary use of all of the G8 and G8.1 Expressions on a G8.1 character for a single scene? And then, if you unhid or revealed those hidden folders [Base Pose Head and Expressions], you'd be right back to what DAZ seems to think is the way DS should run. So, that wouldn't create any problems with future updates, would it?

  • jbowlerjbowler Posts: 742

    inquire said:

    Thanks very much for the link to where you're posting this. I'll be interested in reading this. But, in my last post above, I wasn't trying to talk about load times. I was just wondering if those steps I indicated would work: that is, wouldn't they allow for a temporary use of all of the G8 and G8.1 Expressions on a G8.1 character for a single scene? And then, if you unhid or revealed those hidden folders [Base Pose Head and Expressions], you'd be right back to what DAZ seems to think is the way DS should run. So, that wouldn't create any problems with future updates, would it?

    I don't know if it will work.  I don't think it will but it might; I don't think DAZStudio will notice the change on disk until another character of the same type is loaded and maybe not even then.  I'm almost 100% sure if you save the scene with the expression then reload it the expression will not be there and getting the expression back may be challenging.

    I don't know if DAZStudio follows Windows shortcuts or, for that matter, MacOS aliases; it all depends on what Qt4.8 does.  Both Windows and MacOS support "symbolic links" which will work; these are made with "mklink /h" on Windows and "ln -s" on Mac OS (but the arguments are reversed ;-)

    Try it; see what happens.  What you are suggesting should be totally harmless whether or not it works.

  • EllessarrEllessarr Posts: 1,390

    hello guys since i'm not too much found into look at countless pages until i finally get what i want, let me just ask, while i do know which stuffs made for genesis 8.1 are supposed to work only with genesis 8.1, however since genesis 8.1 basically have the same body mesh and maybe the same "influences in body, then anyone already tried to test to see if outftis or hairs made for genesis 8.1 works on genesis 8???, someone tried to make the test??, it worked???, or maybe we must wait in a future someone make a "script to make the compatibility"???, i'm not talking about skins or morphs but i'm talking about outfits and hairs which since both have basically the same body mesh, then any chances to a outfit made for genesis 8.1 to be usable for a genesis 8?? i'm asking that because i've already saw some outfits and hairs being made "exclusive for genesis 8.1, (or at last the display show compatible only with genesis 8.1), then i would love to know if i can keep using genesis 8 while using the genesis 8.1 outfits.

  • TheKDTheKD Posts: 2,674

    So far, I only tried a pair of shoes that said it was for 8.1 on 8 and that worked OK.

  • Aqualad07Aqualad07 Posts: 45
    edited March 2021

    I have tried a few and everything so far has worked well.  A couple of Soto's outfits plus the Casual Spikes hair and even short hair designed for the G8 female.  So far, so good.

    Post edited by Aqualad07 on
  • EllessarrEllessarr Posts: 1,390

    Aqualad07 said:

    I have tried a few and everything so far has worked well.  A couple of Soto's outfits plus the Casual Spikes hair and even short hair designed for the G8 female.  So far, so good.

    to be clear i means stuffs made exclusive for 8.1, for exemple this outfit

    https://www.daz3d.com/hs-dforce-lurys-sweater-for-genesis-81-female

    the description means which it only compatible with genesis 8.1 female, then it can't work on genesis 8 female???, this is what i means stuffs made exclusive for genesis 8.1 if they can be used aswell on genesis 8 

Sign In or Register to comment.