POV-Ray : Newsgroups : povray.windows : another distributed rendering project. for Windows. Server Time
22 Dec 2024 00:59:17 EST (-0500)
  another distributed rendering project. for Windows. (Message 1 to 2 of 2)  
From: rodv92
Subject: another distributed rendering project. for Windows.
Date: 9 Jan 2013 19:40:07
Message: <web.50ee0cec7dc14e205d50475e0@news.povray.org>
Hello, I plan to code a .NET project to distribute povray renders across several
windows computers.

Here are the basics steps of the process (in a windows domain)


-run an inventory of computers available (active directory or browstat scan)
-perform checks with WMI (computer online,disk space, 32 or 64 bit OS etc...)
-copy all required project files on all computers listed
-perform a benchmark rendering on all computers. (psexec start pvengine)
-with WMI check for pvengine process to end
-once done, assign different sizes of render zones according to performance
OR
-assign a range of clock values for all computers (if all the computers are of
similar performance
-start rendering
-control with WMI the execution of the process, once done check for errors
raised by pvengine
-if OK fetch the TGA or the whole image for a clock value
-When all chunks are there, use tail to concatenate TGA chunks
-if computers timeout or are no more available, re-assign the chunk/image for a
clock value.

if you have any ideas, i welcome them...


Post a reply to this message

From: clipka
Subject: Re: another distributed rendering project. for Windows.
Date: 10 Jan 2013 02:36:54
Message: <50ee6f96$1@news.povray.org>
Am 10.01.2013 01:35, schrieb rodv92:
> Hello, I plan to code a .NET project to distribute povray renders across several
> windows computers.
>
> Here are the basics steps of the process (in a windows domain)
>
> -run an inventory of computers available (active directory or browstat scan)
> -perform checks with WMI (computer online,disk space, 32 or 64 bit OS etc...)
> -copy all required project files on all computers listed
> -perform a benchmark rendering on all computers. (psexec start pvengine)
> -with WMI check for pvengine process to end
> -once done, assign different sizes of render zones according to performance
> OR
> -assign a range of clock values for all computers (if all the computers are of
> similar performance

By all means do assign ranges of clock values; if the computers have 
different performance, just assign differently-sized ranges. By 
splitting up individual frames you are unnecessarily wasting 
performance: N computers working on a single frame means parsing the 
scene N times, shooting photons N times, gathering radiosity samples N 
times, and what-have-you-not. All the stuff POV-Ray does only once for 
each frame.


Of course this only applies if you're rendering animations. For stills, 
there's obviously no way around subdividing each image. (That is, until 
distributed rendering is integrated into POV-Ray itself.)


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.