[Solved] Daz 4.10/4.11 animation performance issue

Yustu

Member
May 22, 2018
233
290
Hello,
Basically animation is Daz is impossible on my system with G8 models. G3 are magnitude faster then G8 but also not as fast as they should be.
For example, loading G8 model + hair and then hovering over aniBlocks or loading animation and then creating character and doing playback of such animation is impossible due to tremendous lag that happens there. Not to mention that working on such animation is impossible.
Changing display mode doesn't help (excluding iRay to normal shaded view) even with bounding box animation don't play correctly.

My spec:
CPU: i9-7900X @ 4x4.5 6x4.0 GHz
RAM: 32GB CL 14
GPU: GTX 1080Ti 11GB VRAM
HDD: NVME Samsung 960 Pro 2TB SSD (700GB free)

Nothing in background / no additional processes / no antivirus etc. system works fine.

It seams to me that Daz doesn't take into account viewport at all and apply everything at every detail level from animation, i.e. loading when dislpaying bounding boxes it should just move nodes without deformations for joints etc.

Loading new G8 model and hovering over aniBlock barely playable.
Loading new G3 model and hovering over aniBlock playable animation.

Does it happens only for me or is it known issue for everyone ?
 
Last edited:
  • Like
Reactions: artarta

Galin

Active Member
May 5, 2017
679
765
What about HDD? Free Diskspace? SSD? Render Image Series? VRAM?
 
Last edited:

Yustu

Member
May 22, 2018
233
290
Sorry missed this one.
Daz is on 2nd partition on NVME Samsung 960 Pro 2TB SSD (700GB free).
Speed, well it's fast.
 

Yustu

Member
May 22, 2018
233
290
Attached video showing what I mean.
Left G3F + some random hair
Right G8F defaults
 

Galin

Active Member
May 5, 2017
679
765
Ok, now I understand...
The same for me at G8F - did not test it on G3F...
For preview Animations I render it With OpenGL...

AMD Radeon R5 200 Series
Intel(R) Core(TM) i3-7100 CPU @ 3.90GHz
8 GB RAM
SSD for DAZ Studio...
 

Yustu

Member
May 22, 2018
233
290
For me the problem is that when I hover on aniBlock with complex character, few shells loaded, Daz basically hangs and I can't i.e. d&d animation into timeline.
 

Yustu

Member
May 22, 2018
233
290
Ok I figured out where the issue is and issue is Daz itself :p.
Tested same model on fresh install (installed only used morphs / assets etc. but model) and animation with aniBlocks is light years faster then on my old install. What's funny is that apparently not used content (morphs ???) etc. is causing this lag because on fresh install I installed everything that is needed by model that I tested.

Not only this is issue, loading times are doubled. Fresh install load file around 18sec while on old install takes around 32sec...

Bottom line installing additional content will slow down Daz and it doesn't matter apparently if content is actually used on model or not with is ludicrous (or at least it seams that's what happening, please correct me if I'm wrong) ...

PS. When I say that it's resolved I mean that now modified character, with additional shells, works as slow as default G8 character. Previously it was 1frame per 5-15 sec and whole Ui unresponsive. So bottom line it's not fix to get performance on G8 as seen on G3 !, it's just "fix" to get default performance of G8 on highly customized model.
 
Last edited:

Rich

Old Fart
Modder
Donor
Respected User
Game Developer
Jun 25, 2017
2,566
7,381
Bottom line installing additional content will slow down Daz and it doesn't matter apparently if content is actually used on model or not with is ludicrous (or at least it seams that's what happening, please correct me if I'm wrong) ...
Having a large number of morphs will definitely affect Daz. When Daz loads, it loads all the morphs out of your entire installation. It has to do this, because otherwise it can't provide you with all the sliders for all the morphs. Haven't seen so much an effect on animations myself, but I definitely know that it slows the overall loading process. Could it be that all that extra data inside Daz was pushing your memory usage to the point where you were swapping to disk? That would make things glacially slow. (I find I need to reboot my machine every few days when using Daz - Daz clearly leaks memory somehow.)
 

Yustu

Member
May 22, 2018
233
290
I think that there is definitely something fundamental wrong with Daz implementation for animation handling.
Well solvers are crap, lets be honest here, try to pin down feet and move upper body into squat position ... feet will move under floor level. There is an video showing this clearly, but I can't find it now. Personally I would prefer that if limit is hit body part stops moving and not forcing other parts with locks to move, but it is what it is...

As for the RAM usage on my side, Daz (this is on problematic install with a lot of assets):

- Application load, no models : 290 MB
- G8F clean model : 2.3 GB
- G8F clean model + hover over aniBlock : 2.3 GB (basically difference is like 2-5 MB)
- G8F cusotm model loaded (with few shells + hair) : over 2.8 GB


System has 32GB and NVME for swap (system managed swap, rarely seen it goes over 1GB) so plenty of space.

When hovering over aniBlocks only 1 core is utilized and it's pined to 100%. I seen this (ST behaviour) in multiple places (i.e. animation retargeting) and it takes a long time to process all bones + morphs on model. That's why it's strange to me that there is no way to change some flags in i.e. settings to disable / limit some influences for bones etc.
Pinning high efficient core works correctly (i.e. on my system I have 4 x 4.5 GHz + 6 x 4.0 GHz) and utilization goes to these 4.5GHz cores (for most of the time) but that's OS side of things not Daz.

Huge lag that I experienced with custom model is most likely due to some issue with morphs / overwritten files whatever, but because it also happens on clean install with G8 models it's very worrying sign and indicates that software has issues.

Daz is good for quick inaccurate / dirty posing for stills, for animation and simulation it's just nightmare.

I will try iClone and see if that software is better and allow import / export from / to Daz for content or animation.
 

Rich

Old Fart
Modder
Donor
Respected User
Game Developer
Jun 25, 2017
2,566
7,381
I think that there is definitely something fundamental wrong with Daz implementation for animation handling.
Oh, that's a given.

Well solvers are crap, lets be honest here, try to pin down feet and move upper body into squat position ... feet will move under floor level. There is an video showing this clearly, but I can't find it now. Personally I would prefer that if limit is hit body part stops moving and not forcing other parts with locks to move, but it is what it is...
Yup. Basically, what they call "their IK" is basically broken.

As for the RAM usage on my side, Daz (this is on problematic install with a lot of assets):

- Application load, no models : 290 MB
- G8F clean model : 2.3 GB
- G8F clean model + hover over aniBlock : 2.3 GB (basically difference is like 2-5 MB)
- G8F cusotm model loaded (with few shells + hair) : over 2.8 GB

System has 32GB and NVME for swap (system managed swap, rarely seen it goes over 1GB) so plenty of space.
That sounds pretty normal. What I've seen happening when I use Daz a lot is RAM just "vanishing" - if you look at the task manager, you'll see a greater percentage of RAM used than can be accounted for by the individual apps. This is what I mean by "not having enough RAM."

When hovering over aniBlocks only 1 core is utilized and it's pined to 100%. I seen this (ST behaviour) in multiple places (i.e. animation retargeting) and it takes a long time to process all bones + morphs on model. That's why it's strange to me that there is no way to change some flags in i.e. settings to disable / limit some influences for bones etc.
Pinning high efficient core works correctly (i.e. on my system I have 4 x 4.5 GHz + 6 x 4.0 GHz) and utilization goes to these 4.5GHz cores (for most of the time) but that's OS side of things not Daz.
Yes. Daz is well-known to be single-threaded.

Huge lag that I experienced with custom model is most likely due to some issue with morphs / overwritten files whatever, but because it also happens on clean install with G8 models it's very worrying sign and indicates that software has issues.
From what I've seen, this may just be something with G3 and G8 - I've seen a lot of videos, etc., where G2 seems to animate smoothly, but I've never seen a G3 or G8 do the same.

Daz is good for quick inaccurate / dirty posing for stills, for animation and simulation it's just nightmare.
No argument.

I will try iClone and see if that software is better and allow import / export from / to Daz for content or animation.
From what I've read, if you have all the right components, you can import G3/G8 into iClone without any problem, and animate and render there. With more bits and pieces, you can also export back out - via BVH or other mechanisms - so that you can do the rendering in Daz. iClone is on my to-do list to investigate. If you do go that route, I'd love to keep up with you via PM so we can compare notes, etc.
 
  • Like
Reactions: f95zoneuser463

Yustu

Member
May 22, 2018
233
290
For vanishing memory You are referring probably to memory leeks but I tested this after system reboot, so Daz was running for i.e. 15 min tops and mem didn't spiked up.

My own theory is that G8 uses larger maps for vertex weights maps and it probably not bake it onto model after load but instead dynamically calculate / read based on current deformation (maybe including UVs), so that would explain why G3 works much better (less points / smaller weight / UV maps ???). I know that Daz uses this, because when I did exported raw geometry data + bones into 3DSMax (fixed bridge that I found on github that allows to do this) then when I moved mesh around I seen that some verts were still in place and I know that 3DSMax don't support this feature, could be fixed but tool didn't supported this either (Maya and probably Blender and other does support vertex map weights).

Initially I planed to expand / fix that bridge for 3DMax and add one for MotionBuilder, so i.e. I can export to MotionBuilder characterize and then import poses from Daz into MB as key frames and do animation that way much faster as I would already have end poses targets, but I have to much work at my job so this won't happen anytime soon (same goes for the max). All this was before I found unofficial (or official now?) bridge for Maya but I don't like Maya Ui (and I don't want to spend time to learn it).

I doubt that I will be of any help for iClone. Today I watched few videos from Reallusion YT channel and pipeline for Daz seams to be straight forward. I don't need to write about animation handling there, as it's light years ahead of Daz. Only question is how well it support custom shells / morphs / etc. but from brief look it seams like it does support it, at least importing custom morphs into iClone does work. Of course feel free to PM me here :).
 

f95zoneuser463

Member
Game Developer
Aug 14, 2017
219
1,024
Yustu
give this a try:
Edit > Preferences ... (or F2) > Interface-Tab > Display Optimization: Best

I can only say this helped me a lot with performance (iray and non-iray modes) with complex geometry stuff.

I really hope Blender becomes a better option in the future - reading this post made me just realize even more how many fundamental things are broken in DAZ Studio. I can only agree with the post of Rich

This ...
Well solvers are crap, lets be honest here, try to pin down feet and move upper body into squat position ... feet will move under floor level. There is an video showing this clearly, but I can't find it now. Personally I would prefer that if limit is hit body part stops moving and not forcing other parts with locks to move, but it is what it is...
... for a software that is mainly used to pose characters is unacceptable. :mad:
 

Rich

Old Fart
Modder
Donor
Respected User
Game Developer
Jun 25, 2017
2,566
7,381
I really hope Blender becomes a better option in the future - reading this post made me just realize even more how many fundamental things are broken in DAZ Studio. I can only agree with the post of Rich
One thing I have not yet tried, but is on my "wish list" for experimentation, is to take a Daz character into Blender and see if it's possible to add an IK rig on top of the Daz rigging. In theory, that might let you do an animation there with IK support and then export the result back to Daz as a BVH.

The main hurdles are (a) having to learn Blender rigging and (b) as always, time... :)
 

Yustu

Member
May 22, 2018
233
290
f95zoneuser463
Thanks for suggestion but I already have everything either on Performance or OFF / Disabled etc. it doesn't help with performance.

Rich
I tested:

iCLone 7 - got export working almost perfectly (toes bones don't export, didn't updated rig, well they do export but in animation I can't animate them, maybe iClone thing, still fresh to the software). Performance, it's huge improvement, IK/FK works correctly, so I can animated, then get it back to Daz. For example when I move hip bone while locking feet bones character correctly performs squat. Problem is that not all animations reimport correctly. For example I animated legs / chest / arms and arms animation was off when imported back to Daz (I think that Daz with BVH will support only rotation and not translation for all child bones, need to check this, if true then animating will be hard in iClone, but probably still much better then in Daz).

Blender - it should work, I'm not good with Blender and don't have time to learn it.

3DSMax - it's faster, much faster then iClone (with is faster then Daz). You can do anything really there, only problem is that exported from Daz is crap, as half of textures will be missing, no physical based materials, so everything needs to be done manually. To animate -> import character and then add Biped, match it as close ass possible (or write script that will auto do it) and link each bone from imported character to Biped bones and import mocap files via Biped / there is a mixer etc. all crazy stuff.

With all above there is one HUGE problem, texture weighted maps with are not supported in other programs, and depending on Your use case it may be not a big of a deal or be deal breaker (to Me it is). Basically with extreme poses deformation will look unnatural in those apps and will look much better in Daz.

At this point I'm more inclined to use Daz -> base pose -> export -> iClone -> do animation -> import BVH to Daz and pray that it will work correctly. Making changes at this stage, due to performance issue are practically pipe dream, changing whole motion track for any bone is also challenging (i.e. to correct imports imperfections etc.)

NOTE: I don't have much experience with Daz / iClone / Blender, I did worked with 3DSMax for long period of time (some time ago, on older versions) so ideally to Me would be get bridge that will auto handle physical based materials and bones (and I do have such tool, sort of, doesn't work correctly) but bones weights are all messed up, as 3DSMax don't support (AFAIKT, it could be added in newer versions of Max) weighted maps for bones. If anyone knows how / if then let me know :).
 

Yustu

Member
May 22, 2018
233
290
Had some time today and did some testing for squat animation, so:

iClone - is not really a solution, there are issues. When animating from stand -> squat -> stand position using hip bone feet will indeed stay still for key frames but due to interpolation all in between keys will cause feet to go under floor level. This is just an example and it apply to all animations. And this affect IK / FK, so in FK rotating T pose hip bone to move whole feet up will also cause model to move during interpolation... iClone has limbs contact option and it do work well if turned on, but... when exporting this information is not retained so importing to i.e. 3DExchange will immediately show that i.e. feet move under floor level. From quick research this appears to be regression from about version 4 or 5. Well above constraints do help but export is not possible (or at least I can't find a way to retain that information).

Daz - similiar behaviour like iClone, animation interpolation is causing that child bones move even thought there is no key frames for them or are not directly affected by parent nodes (i.e. incorrect motion propagation to child bones with should affect only direct descendent not entire hierarchy).

3DSMax - Biped well it works perfectly, interpolation is fine, foot stays where they should be all the time. Only problem is that Max don't offer BVH export, so export to FBX then taking out animation in i.e. MotionBuilder to BVH and then back to Daz. Of course it's not as simple as that... there is issue with bones naming so they need to be renamed etc.

recreation
Thanks for info, definitely useful script.

The whole point of me doing this is, that Daz has:

1. poor performance when animating / moving / bones with G8 models. And I'm talking here "naked" character, adding clothing / hair just makes it impossible to work with, not to mention that we are talking about animation so I need to preview it to see if all works fine.

2. animation tools are crap, even with keymate / graphmate this is still not easy, well I could get used to it, but then point #1 kicks in

3. animation itself for complex movement

4. models and weights are ok, well very good in fact that's why all this pipeline instead of just exporting to proper package

And I do get it, Daz is more of a Poser like software to pose character for stills, but iClone, they market this as real time solution but with all of this it's questionable quality, not to mention price tag.

Just my 2 cents.
 

mickydoo

Fudged it again.
Game Developer
Jan 5, 2018
2,446
3,557
Yustu if you get the right boxes ticked in the DAZ export everything shows up fine in 3ds max, I made a basic arm swinging around in there, exported it as an FBX into blender, the animation was there, got all excited, exported it as a BHV into DAZ and nothing. Looking back in blender, there was no keyframe, yet the animation moved so it's got me fucked, i didnt play with the FBX export options out of MAX though.
 

Yustu

Member
May 22, 2018
233
290
Thanks for info.
ATM no I moved to Blender and given up idea of using Daz to anything serious. Don't get me wrong with Diffeomorphic I can import so I do set up static scene / character in Daz and then import it into Blender.
Then everything else is done in Blender and I must say with 2.8+ Blender looks really great in comparison. Still I'm old 3dsMax user and I need to spend more time in Blender to get comfortable but above workflow works for my needs. I mean Daz only offers models and granted rig is superb in Daz but when comparing to Blender and eevee practically real time rendering ...
Of course this all depends on use case / needs.
 

x7mv400

New Member
Aug 31, 2019
4
0
I faced the same dilemna, Ended up with a workflow of going from Daz>Iclone>Daz
I tried blender but for now it is just too much to pick up on for me to be efficient in it. but I will try to incorporate it into my workflow.

Also yea, the amount of morphs will weigh on Daz, its kind of funny to hear you are facing this issue with a I9 processor, I only have a I3 and had to work around this issue.

What I do is: seperate my G8F morph folder w/ *save-modified-morphs and *Windows-Search:by-date-modified

; I have a main morph folder with all my morphs. then I have a folder with only essential morphs(dynamics and such)
there is a drawback though, as you can only have one Genesis Morph folder( it is recognized by parent name:Genesis "" Female ).
So you have to swap the main folder and optimized folders out.
You could save all morph as unencrypted and then rename them as a different parent on the fly to avoid this( which I have done ) but if you are constantly adding Characters this could be tedius.

But what I do(in more detail):
1. I'll set up my character with all morphs loaded, Save morphed character DUF

2. Save Modified Morphs, then Search in Windows by:date-modifed. collect all recently saved morphs to a character folder

3. add that folder to my optimized data folder, then compress that folder in the same location and only extract when I need the character to save more memory.
(it's best to have a single new character folder w/ archives for seperate characters to avoid duplicate morphs)

4. Swap out the optimized and main morph folders.

(5). You could: rename the parent of the optimized morph folder .dsf morphs to skip step 4, but this requires saving G8F as a new character with different parent name, and having all morph unencrypted.
 
Last edited: