Announcement

Collapse
No announcement yet.

Multi-frame distributed rendering

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

  • Multi-frame distributed rendering

    Hello all,

    While rendering animations I noticed adding render power to the pool of render slaves gets inefficient fairly quickly, up to a point where adding slaves will hardly influence render times, however powerful these slaves may be. The cause is actually fairly simple. Every slave needs to load the scene into its memory and the render host handles the coordination and saving of frames. This means that while adding rendering power which will speed up the final render helps, the "fixed" time defined by the loading and translation of a scene and coordination and saving remain the same. This causes the actual percentage of time in which the renderslaves are actually rendering an image to reduce, and therefore lose efficiency. In addition rendering small or medium sized frames with many cores becomes innefficient as quite alot of core-time is wasted when a couple of cores are finishing the last buckets of a frame.

    To counter this diminishing efficiency as you add rendering power I think it would be nice to add a distributed rendering mode. At this moment all slaves work on 1 and the same frame at a time. In the new mode every machine would be assigned a frame by the host. After finishing a frame it would be assigned the next frame listed to be rendered. This way every scene-state/frame has to be loaded and translated only once for a frame instead of the number of slaves working on it, in addition the slaves would not to wait for one another to finish a frame. If possible every slave would write its own output as well to further reduce dependency on other systems.

    I'm very interested to hear if this is possible or not as this could shave off valuable render time, especially when working on animations.

  • #2
    isnt this exactly what backburner does? you should really never use DR for animation.. as you say, its not very efficient.

    Comment


    • #3
      Practically any render manager will do that for you; they are all intended to distribute animations to a render farm.

      Best regards,
      Vlado
      I only act like I know everything, Rogers.

      Comment


      • #4
        Its what others already said. DR - Large single frame stills. Render Manager - animations which are smaller res but large frame counts.
        Dmitry Vinnik
        Silhouette Images Inc.
        ShowReel:
        https://www.youtube.com/watch?v=qxSJlvSwAhA
        https://www.linkedin.com/in/dmitry-v...-identity-name

        Comment


        • #5
          Thanks guys, going to give backburner a try! I must admit I have never used backburner before so I had no idea of its features . Will it cause any trouble running both a backburner infrastructure as a Vray DR service on the same machine? (Assuming only 1 will be rendering at the same time?)
          Last edited by auke; 15-01-2016, 01:38 AM.

          Comment


          • #6
            nope! itll be fine. just make sure you turn off DR on jobs you send to backburner.. that can really futz things up as, each machine on the farm tries to use all the others via DR., all at the same time.

            backburner is easy to use, a bit flaky and limited (they release a new version each year, but never add a single new feature or fix any bugs, for about 10 years +. heaven knows why they bother.)

            but its fine for standard "send the animation to a pile of machines" jobs.

            if you need more powah, deadline is pretty industry standard, but you have to pay for it.

            Comment

            Working...
            X