Author Topic: Help me to optimize network rendering, please !  (Read 2577 times)

2019-04-10, 23:14:42

Naxos

  • Primary Certified Instructor
  • Active Users
  • ***
  • Posts: 204
    • View Profile
Hello there,

I'm using Backburner for animation rendering with my 24-nodes small renderfarm.
I'm ok that it sends one frame on each server at a time, then send a new one after each finish.
But now i'm rendering a heavy scene, with a lot of vegatation(instanced and scattered proxies).
The "scene parsing" (Corona Render's first part) takes 2-3 minutes each frame, and this part would get benefit of sending several sequenced frames to each server :
instead of render frame01 to node1, frame02 to node2, it would be ok to send frame01-50 to node1, frame51-99 to node2 and so on.

There are 5k frames to render, so those 2-3mn per frame for doing the same thing is a lot of lost time : that could be kept in memory for the next frame, like if i've rendered full anim locally on my PC.

So my question is : is there any setting / param (in xml or prefs) to tell Backburner to force sending 50 frames at once to each server ?

Regards

2019-04-11, 14:15:43
Reply #1

Frood

  • Active Users
  • **
  • Posts: 1922
    • View Profile
    • Rakete GmbH
None of I would know. There is only "task blocking" for very short frame times, intended to lower network traffic. It would not make any sense anyway because parsing always happens at render start, regardless of the amount of frames assigned. It's like locally having an open max scene in front of you and being told by the manger which frame to jump to and to press the render button. That's what BB does, nothing more. Any smart geometry caching stuff has to be done by the renderer.


Good Luck



Never underestimate the power of a well placed level one spell.

2019-04-11, 14:39:15
Reply #2

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 12781
  • Marcin
    • View Profile
Maybe something like this could be done with some other render manager, like Deadline? Unfortunately I do not know of any way. I can advise contacting Deadline support, though. They reply quickly.

Unfortunately, as Frood explained, Corona will re-parse every frame anyway (or at least some part of it).
Marcin Miodek | chaos-corona.com
3D Support Team Lead - Corona | contact us

2019-04-11, 14:46:53
Reply #3

Naxos

  • Primary Certified Instructor
  • Active Users
  • ***
  • Posts: 204
    • View Profile
Ok, if the scene parsing is done each frame by Corona, no solution then.

2019-04-12, 11:02:43
Reply #4

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 12781
  • Marcin
    • View Profile
By the way, we are planning to optimize this in the future, so that parsing would be only done if needed.
Marcin Miodek | chaos-corona.com
3D Support Team Lead - Corona | contact us

2019-04-12, 11:51:13
Reply #5

Naxos

  • Primary Certified Instructor
  • Active Users
  • ***
  • Posts: 204
    • View Profile
By the way, we are planning to optimize this in the future, so that parsing would be only done if needed.

Sweet !

2019-07-10, 00:30:22
Reply #6

iancamarillo

  • Active Users
  • **
  • Posts: 281
    • View Profile
Has this been crossed off as fixed? Because I'm still having long parsing times with max 2020 and corona 4 HF1, Forest pack and many corona proxies. I haven't yet tried to resize my maps, which I think helped last time. Sorry I can't upload the file to debug.

2019-07-10, 00:56:57
Reply #7

tallbox

  • Active Users
  • **
  • Posts: 139
  • George Nicola
    • View Profile
    • Architectural Visualizations | TALLBOX
Hello there,

I'm using Backburner for animation rendering with my 24-nodes small renderfarm.
I'm ok that it sends one frame on each server at a time, then send a new one after each finish.
But now i'm rendering a heavy scene, with a lot of vegatation(instanced and scattered proxies).
The "scene parsing" (Corona Render's first part) takes 2-3 minutes each frame, and this part would get benefit of sending several sequenced frames to each server :
instead of render frame01 to node1, frame02 to node2, it would be ok to send frame01-50 to node1, frame51-99 to node2 and so on.

There are 5k frames to render, so those 2-3mn per frame for doing the same thing is a lot of lost time : that could be kept in memory for the next frame, like if i've rendered full anim locally on my PC.

So my question is : is there any setting / param (in xml or prefs) to tell Backburner to force sending 50 frames at once to each server ?

Regards
Two months ago I had the same problem and solved it with the decision to load 3500 frames divided equally on all nodes. So each node rendered a part of the sequence without using the network, but as a separate workstation. Saved at least a few days of waiting in parsing time.
Architectural Visualizations / Deep work practitioner
https://www.tallboxdesign.com