POV-Ray : Newsgroups : povray.general : Tracking down slow renders : Re: Tracking down slow renders Server Time
18 Jun 2024 22:06:06 EDT (-0400)
  Re: Tracking down slow renders  
From: Alain Martel
Date: 5 May 2023 19:07:55
Message: <64558c4b$1@news.povray.org>
Le 2023-05-05 à 11:56, Chris R a écrit :
> I have found in a few of my last projects that while doing a high-quality
> render, (0 threshold anti-aliasing, hefty radiosity settings, etc.), that about
> 98-99% of the scene is rendered in a reasonable amount of time, and then it
> seems as if no progress is ever made again.  The one I am rendering now
> completed 98% in about 4 hours, but in the past 15 hours, with 10 patches
> remaining to render, it has made no progress whatsoever.
> 
> This particular scene only has 2 light sources, a sunlight source as a 3x3 area
> light, and one other light source also 3x3.  Most of the scene consists of
> isosurfaces, usually some sort of block whose edges and faces have been
> perturbed to give them texture.  The finishes are all fresnel, and there is a
> tiny bit of reflection added in.  (A previous scene with this problem completed
> 98% in less than a day, and then made no progress for another week before I gave
> up.)
> 
> Lowering the radiosity settings or the anti-aliasing settings allows the
> rendering to finish, but at reduced quality.
> 
> Is there any way to turn additional debugging output to see where the render
> engine is spending its time?  What I'm afraid of is that some interaction
> between anti-aliasing, radiosity, and reflection is causing an infinite loop
> measuring against thresholds.
> 
> Also, can someone verify that the rendering rate in the status bar (for Windows
> at least), is just total pixels rendered/total time?  Is there any way to get a
> rendering rate over the past N minutes instead?  For most scenes, once the
> render settles down, the rate gives me a good estimate of the time to complete,
> but in these long renders its not even close.
> 
> -- Chris R.
> 
> 
Some ideas. Some things to try.

If it's inter reflection, then, lowering max_trace_level could help.
Alternatively, slightly increasing adc_bailout may help.

Can you do with a reduced recursion level for your radiosity ?

Don't use a threshold of zero for the antialiasing. Instead, use a small 
value. Maybe something like 1/256, 1/768 or even 1/1500.

For your radiosity, try pretrace_end 0.00125 or 0.000625.
You may need to set minimum_reuse to a similar value.
pretrace_end 0.000625
minimum_reuse 0.00062

I've found that using the two value version for count often help improve 
the quality without increasing the render time. Could allow you to use a 
lower count value without sacrificing the quality.
count 8000, 100001

Use the importance feature. Give a lower importance to bigger objects.
#default{radiosity{importance 250/8000}}

Some small object, especially if used as a light source :
... radiosity{importance 1}...
Some big object :
... radiosity{importance 100/8000}...

If you find a pathological object, try duplicating it.
One will have the option no_reflection no_radiosity and the full texture.
The other will have a simplified texture, and maybe even a slightly 
simplified geometry, and no_image. For an isosurface, that could be 
halving the weight of the surface perturbation, or reducing it's frequency.

This can even be done for all objects in the scene.


Post a reply to this message

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