POV-Ray : Newsgroups : povray.off-topic : Need help with an algorithm : Re: Need help with an algorithm Server Time
4 Nov 2024 13:23:55 EST (-0500)
  Re: Need help with an algorithm  
From: Nicolas Alvarez
Date: 26 Mar 2008 22:25:44
Message: <47eb13b8@news.povray.org>

> You already have the histogram rendered with some quick settings or a 
> previous full render and want to use it to divide the work ?

Correct.

> Deciding the perfect division is going to be a 'hard' problem.  So you 
> need a 'near enough' heuristic.

And correct. The histogram won't be anywhere near perfect anyway, 
because I might disable effects or lower photon quality or lower 
resolution etc. for generating the histogram. I just need it good enough 
to differentiate a checkered plane and a glass with photons!

> Allowing any rectangular subdivision is also going to lead to difficulty 
> determining the best packing.
> 
> So how about this simple approach:
> 
> - Define minT and maxT as the minimum and maximum 'time' in those 
> arbitrary units that you want a block to take.  Eg. minT = 5000, maxT = 
> 10000.

POV-Ray histograms are normalized so that the brightest pixel is at the 
highest possible value on that image depth. So I don't really know how 
to map pixel values to an actual time unit, as the factor changes with 
each histogram

The exception is CSV histograms, which I should start using instead of 
images... Those have a fixed unit.

 > You could probably come up with a rule of thumb for these based
 > on the total time estimate for the entire image and the number of
 > available processors

I don't really know how many processors will end up "participating". I 
generate way more tiles than computers, then let each computer queue up 
multiple tiles.

> - Consider scan lines and proceed left to right
> [...]

Okay, all this I will read and analyze tomorrow. It's already midnight 
here :)

> It would be interesting to see those division images for different 
> approaches.

 From my current approach:
http://stuff.povaddict.com.ar/division/1/

Numbers are the sum of pixels inside that area. Red rectangles are the 
"slowest" (highest number) of that image. It's that rectangle which gets 
split in the next iteration. Green rectangles are the "fastest" (lowest 
number). I added those colors mainly to notice how much the numbers vary.

There is also histgram.png, the histogram used for those images, and a 
zip with all the images, for your downloading convenience.


Post a reply to this message

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