Performance Analysis; Optimizing:
The rendering time for the lighting pass is directly proportional to the number of
hitbuffers O(N) - the more hitbuffers that have to be filled, the longer the lighting
The rendering time for the raytracing pass is dependent from the number of hitbuffers
too - the more hits are stored, the more hits must be taken into acount for the
illumination calculation. But because these hits are stored in an octree data structure,
the access time is proportional to the logarithm of the number of hitbuffers O(logN),
which is very much faster than O(N) especially for large numbers!
For this reason, rendering gets faster when more
hitbuffers are used, because the more hits are processed per iteration, the less time
(relative) will be used for the raytracing pass.
As you can see, very low hitbuffer sizes significantly
pushes down the performance of the renderer. For example: Having the same CPU and MHz, a computer
with 512MB RAM is almost twice as fast as one with 32MB just because it can use 5000 hitbuffers
instead of 200.
So if your computer has lots of memory, don't waste time by using too small hitbuffers. But
of course don't use more memory than you physically have - swapping slows down the computer
Some test renderings have proven that the number of diffuse
light distribution rays has no influence on the visual quality of the final rendered image. On the
other hand, values of 3 or 4 DiffShots per Diffuse-Hit take 2-3 times longer to render as using only 1.
Therefore, I have removed the DiffShots Option from the settings dialog with release 0.41
and it is fixed to 1 now. Future versions will also select the appropriate HitBuffer Size
automatically depending on free physical memory.
I don't like to specify many settings, preferences and
configurations before I can get a good image rendered in acceptable time. I don't want to tell the
renderer where I expect caustics, or which mirrors act as a light bouncer. I simply want to build the
scene, select a resolution and click 'Start'. All other things should be calculated and optimized
automatically by the renderer.
That's the final destination for the rendering settings dialog. But as long as WinOSi is
still under development and optimization, some settings will have to be configured by