POV-Ray : Newsgroups : povray.unix : Modify source code of program POVRAY : Re: Modify source code of program POVRAY Server Time
16 Apr 2024 18:47:18 EDT (-0400)
  Re: Modify source code of program POVRAY  
From: clipka
Date: 29 May 2014 22:26:16
Message: <5387ec48@news.povray.org>
Am 30.05.2014 02:46, schrieb jhu:
> clipka <ano### [at] anonymousorg> wrote:
>> Radiosity is a good deal trickier, as the original algorithm
>> theoretically requires fully sequential operation.
> How did you get around that? Whenever I render a scene with radiosity, all cores
> are at 100% when calculating the radiosity data.

The problem is not in getting all cores busy, nor in the quality of the 
results. The main challenge in radiosity is avoiding to do redundant 
work - computing more radiosity samples than actually needed.

In a shared-memory system (such as your multi-core machine), it's not 
really that bad: Any newly calculated sample is immediately made known 
to all threads, so double work is only done if two threads happen to be 
computing samples at roughly the same spot at the same time.

In a distributed-memory system however, there is a much longer delay 
between a radiosity sample being finished and all the other processes 
learning about it, so the risk of double work goes up - especially if 
you want to prevent the network from being cluttered up by a torrent of 
short messages, and send around finished samples in bigger packages.

Obviously the whole thing also won't scale very well, as each node must 
keep each other node informed of their results.

Therefore, an entirely different approach is needed for the pretrace 
phase, where render nodes don't need to know the whole picture to do 
their part of the job.

Post a reply to this message

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