[Bf-committers] x- and y-parts

Brecht Van Lommel brecht at blender.org
Fri Jun 26 14:03:34 CEST 2009


Hi,

On Fri, 2009-06-26 at 07:53 -0400, Yves Poissant wrote:
> From: "Jeroen Bakker" <j.bakker at atmind.nl>
> 
> > Or do I mis something?
> 
> Memory access coherence. It is probably not relevent to the discussion 
> because Blender rendering architecture is not designed to maximize memory 
> access coherence and even though the render seems to be processed as tiles, 
> every pixels needs to be completely shaded before shading the next. But for 
> the sake of covering all angles, when rendering in tiles, small tiles, it is 
> possible to design the rendering architecture to maximize memory access 
> coherence.

The original parts were there for Panorama render, it gets more accurate
as you use more X-parts, only later that got extended to threads.

Next to memory coherence, memory usage is also lower with smaller tiles
(render passes, a-buffer, caches, ..). The ideal tile size is a bit
difficult to determine, but what would be an improvement is to define it
in pixels. Note also that threads == number of tiles is suboptimal for
load balancing, not all threads will finish at the same time due to
varying difficulty of certain parts of the scene to render, smaller
tiles help here.

I think generally something like 32x32 tile size + automatically even
smaller ones for large number of threads compared to image size, would
probably work well.

Brecht.



More information about the Bf-committers mailing list