Announcement

Collapse
No announcement yet.

Maya Mesh Type - Painfully slow

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Maya Mesh Type - Painfully slow

    Hello,

    I'm curious if there is anything to do to speed up the Maya mesh type in phoenixfd? 1 frame can take 10 minutes or more where the static mesh can take 10-30 seconds. Is there a better algorithm for the Maya mesh mode? Its using just one thread. Would it ever be possible to allow Alembic export from the static mesh? Exporting the alembic file is taking 100x longer than the simulation itself... Seems like a really bad bottleneck at the moment. Any suggestions? Thank you.

  • #2
    Hello,

    Indeed the Maya mesh mode is the slowest one and that's why we're not using it by default. The Static and Dynamic meshes are generated during the render time and that's why they are much faster, but on the flip side they can't be exported to Alembic.
    Our devs will take a look and we will see if we can do something about it, but I'm afraid I can't promise anything at this point.
    Georgi Zhekov
    Phoenix Product Manager
    Chaos

    Comment


    • #3
      Hi Georgi,

      I wanted to follow up with somewhat of a solution I've come up with (in case anyone needs this in the future). I have the scene saved and ready to go with Maya Mesh turned on. I've then opened 12 instances of Maya the in command prompt like this:
      Code:
      Maya -proj D:\Maya_Projects\Pool -file Pool_v009.mb -prompt
      Then when all the scenes are open and the mel prompt appears I simply set up a google sheet to set up a long list of abc frames to cache, and broke up the frames between 12 instances. Like this:
      Code:
      AbcExport -j "-frameRange 1 1 -writeColorSets -dataFormat ogawa -root |LiquidSim1 -file D:/Maya_Projects/Pool/cache/alembic/Pool_v009/Pool_v009.1.abc";
      AbcExport -j "-frameRange 2 2 -writeColorSets -dataFormat ogawa -root |LiquidSim1 -file D:/Maya_Projects/Pool/cache/alembic/Pool_v009/Pool_v009.2.abc";
      AbcExport -j "-frameRange 3 3 -writeColorSets -dataFormat ogawa -root |LiquidSim1 -file D:/Maya_Projects/Pool/cache/alembic/Pool_v009/Pool_v009.3.abc";
      AbcExport -j "-frameRange 4 4 -writeColorSets -dataFormat ogawa -root |LiquidSim1 -file D:/Maya_Projects/Pool/cache/alembic/Pool_v009/Pool_v009.4.abc";
      AbcExport -j "-frameRange 5 5 -writeColorSets -dataFormat ogawa -root |LiquidSim1 -file D:/Maya_Projects/Pool/cache/alembic/Pool_v009/Pool_v009.5.abc";​
      ..... and so on.

      I will probably write a proper for statement for this once I have a little more time and will follow up here with cleaner code.

      So now that I've broken up the work between 12 instances of Maya its about 12 times faster. It is using about 70% of my CPU so I could probably run a few more but I am happy with this speed for now.

      This also got me thinking. In a scenario with a render farm there could probably be a job similar to this sent to deadline and could be spread across the farm. So it would have the ability to export the simulation to abc very quickly.

      I load the alembic sequence using Vray Proxy with frame sequence formatting like this:
      Code:
      Pool_v009/Pool_v009.<frame>.abc
      Last edited by tweezlednutball; 18-03-2024, 08:57 AM.

      Comment


      • #4
        Ah, that's a great idea! Thanks a lot for the info!
        Georgi Zhekov
        Phoenix Product Manager
        Chaos

        Comment

        Working...
        X