Announcement

Collapse
No announcement yet.

Deadline Script Runs Per Frame

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

  • Deadline Script Runs Per Frame

    If the deadline script could be set up to work with a normal frame range like a render job then we could take advantage of Deadline's built in job dependencies on a frame by frame basis (frame based dependencies).

    I realize the sim would still have to be run on a single node, but Deadline has provisions for this. I guess it would load the scene, but then get called by deadline to simulate each frame.

  • #2
    Hello,

    The frames you see in the Deadline Monitor are not actually frames being simulated - they are the number of the simulator being currently run. So if you have 3 simulators - 3 frames would come up in the Deadline Monitor- for each simulator respectively. However, if you want to do something more advanced with the 3ds Max + Phoenix + Deadline workflow, you can do so by making your own MAXscript by taking inspiration from "PhoenixFDSimulateDeadline.ms" - how do you imagine that workflow(or what do you want to achieve) - maybe we can think of something on our end

    Cheers,
    Tsvetelin

    Comment


    • #3
      Thanks for the reply. I see how you are doing it now. I was just wondering if there was some way to do it per frame so we could use Deadline frame dependencies to automatically start the renders of the simulated frames as they are processed.

      I suppose a frame rendered script could queue up a single frame job after each from was simulated, but that makes the render queue very messy.

      Comment


      • #4
        The behavior you want to achieve can be done by enabling the "Render on Each Sim Frame" - this will interleave simulation with rendering

        Comment


        • #5
          Thanks for the reply. This is similar, and achieves the end goal, but not in the most efficient manner.

          The desire is a way to render the hours per frame images on the farm of many machines as they get stimulated by the minutes per frame simulation machine.
          Last edited by Joelaff; 13-04-2023, 07:52 PM.

          Comment


          • #6
            I see now. Truly this distribution is not currently easily achievable with Phoenix tools. We'll discuss it among the team and will get back to the thread with news

            Comment


            • #7
              Thanks. I understand this may be beyond what the current design allows. But it would be pretty cool if it work somehow. I could see how one could have a script add a single frame job after each frame was simulated. That might work. It would just get a little messy, and it would also mean the scene would be reloaded with each frame.

              Comment


              • #8
                So we did some investigation how that would work with the current infrastructure.

                One of the workarounds is the following - analogous to our PhoenixFDSimulateDeadline.ms, you could submit 2 times the frame count - on an even task number - N, you check whether the N/2-th frame of the simulation is done - if it is, you complete the task, otherwise wait. On an odd task number N, you wait on the task N-1(which is the simulation task) and when it's done, you begin a render job with the already available cache

                The other approach requires a little love for the standalone Phoenix plugin for deadline in which you would be able to use job scripts(the onTaskFinish kind) per each simulated frame of the standalone simulator, but currently the standalone simulator Deadline plugin does not report such information

                Nevertheless, the task you are trying to achieve is interesting to us and we'd like to enable such creative workflows

                Comment

                Working...
                X