POV-Ray : Newsgroups : povray.general : Scene optimization : Re: Scene optimization Server Time
31 Jul 2024 12:20:25 EDT (-0400)
  Re: Scene optimization  
From: Alain
Date: 14 Mar 2007 20:42:23
Message: <45f8a47f$1@news.povray.org>
Anthony D. Baye nous apporta ses lumieres en ce 13-03-2007 21:29:
> I'm currently working on several large scenes, at least one of which 
> rewuires radiosity.  I'd like to remove all the light sources from the 
> scene, and light it purely with radiosity, but it contains candle 
> objects which use a filtering media that only looks right with light 
> sources.

> The end result is a scene with five seperate light sources that may look 
> nice when rendered, but has a maximum render speed of 1:06:00 per line.

> Can anybody provide me with some tips and hints on optimizing textures, 
> lighting schemes, and other scene settings for faster render times 
> without compromizing image quality?

> Any advice would be greatly appreciated.


> ADB
In the radiosity section, do you change error_bound? To what extent? When you 
push it down, the rendering time increase. It also requires a higher count to 
prevent splotshiness, resulting in still longer renders. One of the main reason 
to use small error_bound is to produce sharper and deeper shadows.
You can try lowering pretrace_end. At the cost of more pretrace time, it may 
allows you to use more relaxed settings elsewhere, resulting in globaly faster 
renders.
Do you have "normals on" in the radiosity block? Normal computation in radiosity 
is very computationaly heavy. If you can do without, remove normals on.
Do you have large difference/intersection where you remove 100's small pieces 
from a large base object? You may try diferencing a blob instead of many spheres 
and cylinders. You may also try using merge to combine all the pieces that you 
remove. That way, you only test 2 bounding box instead of one for each components.
If you use area_light, also use adaptive 0. If this give artefacts, try adaptive 
1 (need light array at least 5*5 to be benefical) or 2 (min of 9*9). When using 
adaptive, it's best to use powers of 2 +1 to get the best efficiency.
Do you use media? The default sampling method is method 3. When using that, 
using intervals larger than 1 is a speed killer. Stay with intervals 1 and 
increase samples. samples 10 interval 5 is way slower than samples 100. I've 
done the tests.
If you have an isosurface that looks like it can be simulated with a blob, try 
using a blob to get a similar shape.
If you have an isosurface with some very large max_gradient, Using the log, 
square root or cube root of the function may allows you to reduce max_gradient 
to a more reasonable range, speeding up it's rendering.
Many reflection or refractions? Lots of total internal reflections? Try 
increasing adc_bailout. In some cases, the visual impact is negligeale, but the 
resulting speed up very interesting. The default is 1/256, depending on the 
scane, you may get by with as much as 1/100 or even 1/64 without to much 
negative impact!
Any glossy object? phong and specular don't work with radiosity. You can get a 
similar effect using a small amount of blured reflection, but it will increase 
the rendering time.
Filtering and scattering media never react to radiosity, they need actual 
lights. Emissive media can illuminate radiosity if you use "media on" in the 
radiosity block.
Simple textures can't be optimised, they are as simple as can be. Layered ones 
can be worked upon. You need some test scene with some simple objects to receive 
your test textures. Start with your layered texture on one object. Now, on 
another object in the same scene, try to emulate the complex texture with a 
simpler one. Once you find a suitable, simpler texture, copy it to your real scene.
Using blured reflections? Do you have any object with blured reflection 
reflecting in another surface also using blured reflection? High quality blured 
reflection can have as many as 256 components, resulting in 256 reflected rays 
for each pixel. If it reflect another such surface, you end up with as many as 
65536 rays to evaluate! Duplicating those objects and having the original with 
the blured reflection and "no_reflection"(don't show in reflection) and a copy 
with normal reflection and "no_image" (visible only in reflections) can help 
aleviate the problem.
In some cases, using light_group can significatively improve your rendering time.

-- 
Alain
-------------------------------------------------
'I had to hit him -- he was starting to make sense.'


Post a reply to this message

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