Why are G8 figures such resource hogs?

in The Commons
My experience with many G8 figures has been less than stellar. My system runs G3 figures just fine, including multiple figures, but posing G8 figures seem to bring everything to a screeching halt - whether using the cursor or dials, trying to manipulate a joint takes about 30 seconds, and of course, with no immediate feedback, the move is rarely where I need it - it's either too much or too little. Preview mode doesn't matter, camera moves are unaffected - it's just moves involving the G8 figure in full or part that brings things to a halt, and several times has resulted in a bluescreen memory dump.
Please don't tell me, "Buy a better machine" as an answer. I'm more interested in the programming or structure of G8 figures that makes them perform poorly in an environment that provides realtime operation of G3 figures. What could possibly be necessary in a posable figure that simply bending an elbow or tilting a head crashes the OS?
Comments
how many morphs do you have?, check if my video can solve some of this issues...
I noticed this the other day with a scene I was working on in 4.14. I only had one G8 female in the scene. I haven't tried to find a cause though. I also noticed it does in more in wired shaded modes as well. It used to take a few G8s in a scene before getting jumpy like that. I wonder if having a higher HD level set in the viewport makes it worse. I think some characters might have it set high by default.
The short answer is
If you reduce the subD and scale down the texture resolutions, you will find them as light as any of the G3 figures. Grante there are people who want more HD morphs and 8k textures.
Does texture size matter in OpenGL mode? Because I believe that's what the OP is talking about.
Yes, even if you haven't rendered, the textures are loaded into memory ready to be rendered and OpenGL has to handle them; a textureless figure or one in one of the modes like line that ignore textures are lighter than one with textures. I had to explain to my brother why it is harder to cook a burger minus onions and tomato rather than with in a fast food joint; the burger without substitutions is made in an assembly line fashion is easier than having to double check what is not supposed to be there. Likewise, the model that starts out simplier is easier to deal with than one where you have to disregard the normals, big textures, bumb maps etc... The proof is in the pudding, as they say, so one can test this by using one of those resource saver utilities in the store which change Subd and texture size to see the difference it makes in navigating the scene.
The loading issue is because of morphs. Unfortunately the more g8 figures you own and their expressions, the more things that load every time you put a new character into into your scene. I periodically purge expressions and character morphs for that reason.
Genesis 8 is basically the same as G3 in this regard. The difference is how many different and large textures the PA may include with the newer releases. In the past few years since G8 came along, Iray has introduced whole new material settings.
Take a look at the surfaces on your favorite G3s. And then load a G8 and look at theirs. You will most likely find the G8 has more surface materials in play. The more in play, the more data load on your machine. This data is loaded into your RAM, and it is not compressed. When you hit the render button, Iray will compress textures before sending data into VRAM.
Along with G8, almost everything else has larger and more textures these days. New hairs are more dense than hairs from a few years ago. Some hairs now have more surface zones than Genesis 8 does! And they built to a higher resolution. Dforce strand hair and any kind of mesh hair or fur can bring a weaker CPU to its knees.
Both Genesis 3 and 8 subdivide the same, so I don't think this can be blamed on that. But perhaps some models load at a higher subd than the older ones. Take note of what subd they are loaded at. You have two settings here. There is a second subdivision setting just for rendering, and this helps keep things lighter in the scene while you work. But if your subd in the scene is the same as the rendering subd, then you are not getting any performance benefit. So turn down the subd.
If you have several items that use 'smoothing', this can cause the app to crawl. G8 itself might not, but clothing and hair may have it. Smoothing must be calculated every time you move the model, camera, or almost anything. Because of this, if you have several items using smoothing at once, this will create a lag between each of these actions. This is calculated by CPU, so how good your CPU impacts this.
Another thing, some versions of Daz might perform differently, too. When I upgraded from 4.11 to one of the 4.12's (can't recall which), I saw a major gain in performance of the app. I had built a scene that caused Daz to grind to a crawl. It was so bad that I eventually avoided that scene, Daz was simply not usable like this. It had a lot of foliage. After upgrading I noticed that 4.12 was behaving better, so I tried that scene again. To my shock Daz was far more usable than it was before. It was a night and day difference. So if you have not upgraded in a while, perhaps consider doing so, or at least trying the beta. If you are afraid of upgrading, the beta is a pretty safe way to try out the newest Daz.
Now hardware, I know it didn't want to bring it up, but this can help you decide on hardware for later. Daz itself only runs on one thread. So single thread performance is important. Daz really doesn't need a lot of CPU to drive it, unless you have big scenes or lots of features in use (like the smoothing I mentioned above.)
I have an older i5 that is rapidly showing its age, it is about 7 years old now. I'm able to run Daz pretty well for the most part, at least since after 4.11.
G8 shouldnt be signifigantly slower to manipulate than G3 in their default states as they have very similar meshes and rigging
most likely culprit
if you don't like sending your figure down to base res (i generally don't because then I forget to set it back before starting to render and am sad) make sure in the "draw settings" tab make sure subdivision updates are set to delayed. this makes it so while you're manipulating the figure it will flip to the base resolution
if you have any fixer jcms like zev0s skin folds that have a dial to turn them off - turn them off
dont work on a dial spun character with, say, 3 daz character body morphs (ie victoria, olympia, babina) as they tend to have qite a few fixer jcms, which is great for them looking good but as you add body morphs you're adding jcms that have to be calculated how much theyre dialing in and it all adds up
Oooh this is a good tip. I generally mix base figures together and then wonder why when I try to active-pose I end up sad.
As a side-note, I have to wonder if with the video above, the "quick fix" makes all the character morphs initially shown go "poof"...because that's not really a fix, in my opinion. Also, I think the video poster's main problem is those duplicate errors...they will blast your load time. I have a butt-load of G8 characters, and my load time is still less then their "fixed" time...about 30sec...and all I've done is make sure I have no duplicate errors. And as Serene Night already mentioned, it is good practice to go through and dump characters and expression packs you don't use. I've collected quite a bin of "trash characters" that come with all the bundles I've purchased and I've started to be picky about which I even bother to install. Saves on space and load time.
Do you have Auto Face Enhancer installed?
It's because there are so many characters (morphs). You might think of culling the amount of characters you have installed at one time and only installing them when you need them.
Laurie
that's correct!
Thanks for the tips. I actually have only a few G8 characters - far fewer than G3. I'll try reducing the SubD, to see if that makes a difference. I would think that things such as textures would have more of an effect on the overall scene, rather than the manipulation of the character - the scene itself remains facile, with only posing be a problem. I've actually taken to converting several of the G8 characters to G3, just to get more ease of use.
Yeah, that one can be a killer in load times.
A lot of them are also really skinny, so they're hungry. There aren't a lot of food props, and the more figures you have, the more thinly those items are spread. Thatt's another one of the reasons they move so slowly.
Check out this thread to see how much trouble people go to in order to put some meat on those bones.
"Thiccest" Daz Model Found on DeviantArt! - Daz 3D Forums
now there is a solution for food, food shaders!, now imagine a big primitive cube with this shaders https://www.daz3d.com/41-food-shaders