POV-Ray : Newsgroups : povray.beta-test : [speed considerations] evaluate in isosurface : Re: [speed considerations] evaluate in isosurface Server Time
29 Jul 2024 02:30:15 EDT (-0400)
  Re: [speed considerations] evaluate in isosurface  
From: JYR
Date: 14 Jun 2005 23:00:00
Message: <web.42af9938679650c36a3607400@news.povray.org>
Christoph Hormann <chr### [at] gmxde> wrote:
> evaluate in isosurfaces is one of the features that will inevitably lead
> to different results (and especially also different performace) in a
> multithreaded render.
>
> Note although there is no 'correct' way to handle this the most
> reasonable would probably be to have every render thread maintain its
> own evaluate parameters.  But in the end using 'evaluate' makes most
> sense in a single threaded render.

Hi Christoph, thanks for the quick answer. Unfortunately i can't seem to
fully understand it. Maybe i'm missing some background on how the
isosurface solving works in POV.

I am in the impression that, as it solves the intersection of rays with an
isosurface all through the picture, POV constantly adjusted max_gradient to
match the found gradients:
- starting with P0 as a first estimate (for the 1st ray/isosurface
intersection to be computed, presumably),
- rising max_gradient each time it happens to be lower than the computed
gradient to avoid holes in the isosurface,
- lowering max_gradient when it happens to be way larger than the computed
gradients in order to speed things up.
Then, i can understand that for a multithreaded render, each thread can have
its own set of parameters. After all, one thread can happen to compute
intersections with the stiffest parts of the isosurface while another
encounters only smoother parts. And i'm willing to agree that this would be
more reasonable than having all threads struggling to constantly overwrite
each other's evaluate parameters.

But, the render times i posted earlier were obtained with the /threads 1
switch. I now tried with 2, 16, 128 threads and the results are quite alike
(not surprisingly). Are you implying that each block of 1024 pixels is
actually a new picture on its own and POV resets the evaluate parameters
before each? Then the yet-to-be-implemented option to choose block size
would be very useful, i guess...



JYR
-----------------------------------------------------
Windows XP HomeEdition//AMD Athlon XP 2800+1 MB RAM


Post a reply to this message

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