Why is dForce so slow?

So I have a scene with one G8F and an interior environment (walls, furniture, etc.). This is not an unusual scene in any way. I went through my usual procedure of turning off "Visible in Simulation" for everything (including hair and other clothing) except the one dForce skirt and the G8F figure. Nothing else was able to influence the simulation. A single short skirt takes over 3 minutes to simulate. That is longer than it takes my RTX 3090 to render the whole scene. I bought that 3090 so that I wouldn't have to sit and read this forum to pass the time when I hit render, but I still have to do that when I hit simulate.

On the other hand, I hardly ever use any non-dForce clothing (unless it is very tight fitting) so that means that I have to wait for dForce for every scene I create. It is so very annoying when I see other cloth simulation engines able to drape in seconds and also pull the cloth around while it is simulating. Even the VWD product was able to do that before dForce arrived in DAZ Studio (unfortunately that VWD product crashed my DAZ Studio every time and I was not able to figure out why).

So today, my prayer to the 3D gods is "please give us a better cloth simulator".

 

Comments

  • +1.... So wish we had something that behaves a bit more like Marvelous Designer :)

  • MelanieLMelanieL Posts: 7,379

    @marble - is it actually using your RTX 3090 to simulate? I only have a GTX 660 (yes, a really really old and underpowered GPU - can't do Iray any more so I have to render with  CPU) but it can simulate most single clothing items in under 5 minutes, so I would have thought the 3090 would whizz through.

  • SlimerJSpudSlimerJSpud Posts: 1,453

    Game engines do a much more efficient job of this kind of simulation, IMO. It's all done with weights, springs, dampers and gravity in real time. No returning the figure to the zero pose and simulating every step of the way to the final pose. You can set d-force not to use the zero pose, but the results are not as good.

  • Richard HaseltineRichard Haseltine Posts: 100,781

    SlimerJSpud said:

    Game engines do a much more efficient job of this kind of simulation, IMO. It's all done with weights, springs, dampers and gravity in real time. No returning the figure to the zero pose and simulating every step of the way to the final pose. You can set d-force not to use the zero pose, but the results are not as good.

    Which probably isn't the same as a full physics simulation, though it may be good enough.

  • marblemarble Posts: 7,500
    edited July 2022

    Richard Haseltine said:

    SlimerJSpud said:

    Game engines do a much more efficient job of this kind of simulation, IMO. It's all done with weights, springs, dampers and gravity in real time. No returning the figure to the zero pose and simulating every step of the way to the final pose. You can set d-force not to use the zero pose, but the results are not as good.

    Which probably isn't the same as a full physics simulation, though it may be good enough.

    "Good enough" may be just the point. I played with a VR game which imports Genesis 2 figures and drapes the clothing in real time. Not quite perfect but, as you say, good enough. Certainly a whole different dimension of good enough compared to conforming clothing. That same VR game had soft body physics too so body jiggles happened in real time animations too. I'm waiting for the developers of that software to move to Genesis 8 figures and then I will buy into it again because it provides a lot of fun with animations without the long wait for dForce simulations and IRay animations. Nevertheless, I would prefer better performance within DAZ Studio as that is my primary creative outlet.

    To answer the question about whether dForce is using my GPU - I have checked as far as I am able - GPU-Z shows the 3090 active during the simulation and I have checked the settings according to advice from this forum. All I can say is that I don't see much of a difference between the performance of dForce when I was limited to a GTX1070 and now my 3090. I too would have expected a much greater jump in performance.

    DAZ dForce.jpg
    712 x 172 - 17K
    Post edited by marble on
  • PerttiAPerttiA Posts: 10,024

    Which version of DS are you on and which GPU drivers?

    Apparently older versions of DS don't like the latest nVidia drivers.

  • marblemarble Posts: 7,500
    edited July 2022

    PerttiA said:

    Which version of DS are you on and which GPU drivers?

    Apparently older versions of DS don't like the latest nVidia drivers.

     

    I'm using the latest Beta (4.20.2.58) and the NVidia 512.96 drivers. 

    Post edited by marble on
  • ZombieLoveZombieLove Posts: 33
    edited October 2022

    Every forum post on here I've read suggests a hardware problem, I too am running a 3090 and it is the openCL device. I also have a very beefy machine (128gigs of Ram, 18 CPU cores...etc) I suspect the issue has something to do with how DAZ does the morphs in genesis 8. I was hoping with the announcement they were going to fix some of the glaring issues they have with the slow down most of us experience with genesis figures the more morphs you have for a figure but alas they just announce another generation of Genesis... sigh... I am not hating on Genesis 9 just asking people to stop pointing to solutions that aren't the problem. It would also be nice for DAZ to actually own this issue instead of just passing it off to us end users to support each other with just plain wrong answers.

    @Marble, I suspect, like me, when you try to use dforce with the timeline and a Genesis 8 figure with a lot of morphs you experience the issue. If you remove every figure from the scene and just leave scenery items (like floors, furniture and other things) it is fast. No? I don't have a lot of morphs for Genesis 8 Male and my dforce is fast. Also, if my figures don't move (i.e. no timeline keys for them) dforce is also fast. ANYTIME I add Genesis 8.1 or 8 female (something I have a lot of morphs for) I get this issue.

    Can someone from DAZ Actually comment here?

    EDIT: Sorry for the rant, and not aimed at anyone who tried to help, just tired of things like this getting half the support they deserve

    Post edited by ZombieLove on
  • marblemarble Posts: 7,500

    @ZombieLove

    I rarely use the timeline for dForce. I know that is probably the best way to run a simulation but I hate the way that the dForce animation can't be kept separate from any other animation I might want to do within the scene. Nor is it a simple task to save out a frame from the dForce animated simulation (or any animation, for that matter). As you say, there are so many things that need work in DAZ Studio but we get yet another generation of Genesis figures. Hopefully the G9 release will generate enough income for DAZ to finally bring forward DS5. By the way, DAZ staff rarely read or comment on these forums.

    You suggestion of removing everthing else from the scene is one I have sort-of tried in that I sometimes just load G8F into a Scene Subset and simulate before returning her to the original scene. I can't say that it makes a big difference though.

  • ZombieLoveZombieLove Posts: 33
    edited October 2022

    @marble

    Gotcha, it makes a difference for me, sorry it doesn't for you. Another thing that thing that helps me is having the models at base resolution with 0 subdivides, that usually speeds up the animated dforce. But as you say, you don't use the timeline so that won't make much of a difference for you. Also, I don't apply textures to my genesis figures until I am done with all the dforce shenanigans. This helps the speed too. The best results I have seen (outside of just not including genesis in my dforce renders or static simulation) is with genesis 8 female at base resolution and no subdivide, very little morphs active, default texture, no other smoothed clothing applied, no hair and very minimalistic scenes (floor and some other furniture). That still takes 10-15 min to get 30 frames. 

    I have been contemplating just exporting to blender and handling it that way but I hate that workflow.

    It sucks that we have to be reduced to this just to get dforce to give us results in a reasonable time. 

    Just for full context, static simulations, with no genesis figures present is measured in seconds for me.

    Post edited by ZombieLove on
  • marblemarble Posts: 7,500

    ZombieLove said:

    @marble

    Gotcha, it makes a difference for me, sorry it doesn't for you. Another thing that thing that helps me is having the models at base resolution with 0 subdivides, that usually speeds up the animated dforce. But as you say, you don't use the timeline so that won't make much of a difference for you. Also, I don't apply textures to my genesis figures until I am done with all the dforce shenanigans. This helps the speed too. The best results I have seen (outside of just not including genesis in my dforce renders or static simulation) is with genesis 8 female at base resolution and no subdivide, very little morphs active, default texture, no other smoothed clothing applied, no hair and very minimalistic scenes (floor and some other furniture). That still takes 10-15 min to get 30 frames. 

    I have been contemplating just exporting to blender and handling it that way but I hate that workflow.

    It sucks that we have to be reduced to this just to get dforce to give us results in a reasonable time. 

    Just for full context, static simulations, with no genesis figures present is measured in seconds for me.

     

    I have Blender and Marvelous Designer 8 (before they added GPU simulation) but I can't bring myself to work in two applications at once. I know that exporting to MD (even if it is CPU only) and simulating there would be faster than waiting for dForce but I have to export as an OBJ and import back as an OBJ which loses any rigging or morphs and doesn't allow for little corrections. So I'm living in hope that DAZ will find a superstar developer or that some Open Source alternative to DAZ Studio will suddenly appear.

    Having said that, 10-15 minutes for a simulation seems excessive even to me. Mine tend to average around 5 minutes (in scene) and about 2.5 minutes as a stand-alone figure in a scene subset. That's for a single garment on a single figure. I tend to simulate each item of clothing individually.

  • marble said:

    ZombieLove said:

    @marble

    Gotcha, it makes a difference for me, sorry it doesn't for you. Another thing that thing that helps me is having the models at base resolution with 0 subdivides, that usually speeds up the animated dforce. But as you say, you don't use the timeline so that won't make much of a difference for you. Also, I don't apply textures to my genesis figures until I am done with all the dforce shenanigans. This helps the speed too. The best results I have seen (outside of just not including genesis in my dforce renders or static simulation) is with genesis 8 female at base resolution and no subdivide, very little morphs active, default texture, no other smoothed clothing applied, no hair and very minimalistic scenes (floor and some other furniture). That still takes 10-15 min to get 30 frames. 

    I have been contemplating just exporting to blender and handling it that way but I hate that workflow.

    It sucks that we have to be reduced to this just to get dforce to give us results in a reasonable time. 

    Just for full context, static simulations, with no genesis figures present is measured in seconds for me.

     

    I have Blender and Marvelous Designer 8 (before they added GPU simulation) but I can't bring myself to work in two applications at once. I know that exporting to MD (even if it is CPU only) and simulating there would be faster than waiting for dForce but I have to export as an OBJ and import back as an OBJ which loses any rigging or morphs and doesn't allow for little corrections. So I'm living in hope that DAZ will find a superstar developer or that some Open Source alternative to DAZ Studio will suddenly appear.

    Having said that, 10-15 minutes for a simulation seems excessive even to me. Mine tend to average around 5 minutes (in scene) and about 2.5 minutes as a stand-alone figure in a scene subset. That's for a single garment on a single figure. I tend to simulate each item of clothing individually.

    Absolutely agree, 10-15 min is excessive :) I get similar performance as you if I don't use the timeline with my Genesis figure present. Hopefully, they figure this out and improve the performance. I doubt that is their focus right now, or for the near future :( 

  • The Vertex DoctorThe Vertex Doctor Posts: 198
    edited October 2022

    What I do is load only the figure and clothes and what, if anything else they need to collide with. If nothing, I plain plane primitive for the floor. Turn off visible in simulation on the hair, lashes, tear, etc then run. Remove everything except the figure and clothes, save as a scene subset, then load into my scene ready for it. The more you have in a scene that is also set to be visible to simulation, the slower the simulation will be.

    Post edited by The Vertex Doctor on
  • marblemarble Posts: 7,500
    edited October 2022

    The Vertex Doctor said:

    What I do is load only the figure and clothes and what, if anything else they need to collide with. If nothing, I plain plane primitive for the floor. Turn off visible in simulation on the hair, lashes, tear, etc then run. Remove everything except the figure and clothes, save as a scene subset, then load into my scene ready for it. The more you have in a scene that is also set to be visible to simulation, the slower the simulation will be.

     

    Interesting that you actually remove those non-interacting objects from your scene. I just turn everything to "Not Visible in Simulation" apart from those interacting things: dforce clothing, human figure and, usually, a plane primitive as a hard surface because the actual props generally don't have enough polygons to provide adequate collision. I also turn off simulation for eyelashes, brows and hair and I probably should for things like mouth and teeth too. I don't use dForce hair because I just can't be bothered to wait for that to simulate too.

    Post edited by marble on
  • AnfyAnfy Posts: 272

    Hi all, I revive this thread since I have matters with dForce on my new PC, a i9 13900k with 64GB RAM and a RTX 4090. A simulation for long hair on a G8F figure (admittedly with many morphs) and no other props on the scene takes something like 45 minutes - tried with two different hairstyles!

  • Trouble is things like games are finely honed (well, they try to be) with some specific set of known assets, whereas a general physics system has to spend most of its time detecting and fixing the user's errors.  Things like intersecting geometry, etc.  It's actually a hard problem to solve.  Having said that whatever MD is doing is the right approach.  There's something really satisfying about dragging the cloth around.  Problem with using it for Daz is you don't get patterns fro the clothing, so everything is just generic cloth.  All other features get lost in the import.  It's ok for leggings, t-shirts, cushions, drapery and so on of course, but anything more complex, e.g. a shirt with buttons or a pleated skirt just isn't going to work properly.

  • PadonePadone Posts: 3,688

    If it may help as comparison, here on a old GTX 1060 6GB the bardot outfit takes about 1 minute to simulate with default settings. That is a full dforce dress on a G8F figure. If you're using G9 the base mesh has a higher density so collisions take longer to compute thus dforce is slow on G9.

  • crosswindcrosswind Posts: 6,926

    Anfy said:

    Hi all, I revive this thread since I have matters with dForce on my new PC, a i9 13900k with 64GB RAM and a RTX 4090. A simulation for long hair on a G8F figure (admittedly with many morphs) and no other props on the scene takes something like 45 minutes - tried with two different hairstyles!

    Which hair product? I did see the inappropriate setup on the dynamic surfaces of some hairs and garments... some tweaks might be needed as well as the sim engine...

  • AnfyAnfy Posts: 272

    Thank you for all the replies; figure is a Red-character based shape (GF8 gen) with Face Transfer mod, many morphs, no dress at this stage (thought it could further slow the simulation) and Banshee Hair:

    https://www.daz3d.com/banshee-hair-with-dforce-for-genesis-8-and-81-females .

  • crosswindcrosswind Posts: 6,926

    Anfy said:

    Thank you for all the replies; figure is a Red-character based shape (GF8 gen) with Face Transfer mod, many morphs, no dress at this stage (thought it could further slow the simulation) and Banshee Hair:

    https://www.daz3d.com/banshee-hair-with-dforce-for-genesis-8-and-81-females .

    I don't think figures' morphs seriously impact the sim time... I tested this hair with default sim settings, it took 45 sec. There're 6 simulation presets in this product, I tested 2 of them, the sim time was almost the same. I used a RTX A6000 for the simulation.

    So, you may firstly test a simulation with a G8F base figure to see if it still takes that a long time....

  • AnfyAnfy Posts: 272

    Well, the stock G8F base with two Banshee Hair presets took 12 seconds when in zero pose and about 45 seconds when seated (I made use of first pose I could find).

    It must be something in the overcharged Red-based figure, maybe not the morphs - perhaps I have to free the character from her accessories, rings piercings and so on (it's a long list) and unpin (translation, rotation) various body joints...

  • cgidesigncgidesign Posts: 442
    edited March 2023

    Just a few quick tests in:

    DS 4.21.1.41 beta

    Nvidia Studio 527.56 / RTX 3090

    Sim from Memorized Pose (no timeline involved).

    (note especialy poke through)

    Sim-Times_01.jpg
    1338 x 690 - 169K
    Sim-Times_02.jpg
    715 x 1142 - 142K
    Sim-Times_03.jpg
    727 x 1145 - 141K
    Sim-Times_04.jpg
    663 x 1142 - 140K
    Sim-Times_05.jpg
    704 x 1143 - 146K
    Sim-Times_06.jpg
    694 x 1149 - 154K
    Post edited by cgidesign on
Sign In or Register to comment.