POV-Ray : Newsgroups : povray.general : Tracking down slow renders : Re: Tracking down slow renders Server Time
21 Jun 2024 09:11:35 EDT (-0400)
  Re: Tracking down slow renders  
From: Chris R
Date: 29 Jun 2023 09:35:00
Message: <web.649d87a05485baa964326bc25cc1b6e@news.povray.org>
William F Pokorny <ano### [at] anonymousorg> wrote:
....
> 1) If you have any transparency - and IIRC - since v3.7 rays transit
> through transparent surfaces, with an ior of 1.0, without increasing the
> max_trace count. This was done to avoid part of the old problem of black
> pixels on hitting max_trace_level.
>
> What I've had happen, very occasionally since, is some smallish number
> of rays skimming a 'numerically bumpy' surface. The rays end up
> transiting in an out of the shape a large number of times. Alain taught
> me the trick of changing the ior to something like 1.0005 so those
> transitions through transparency count again toward the max_trace_level.
>
>
> 2) With isosurfaces, using 'all_intersections' (really a max of 10) when
> you don't need them 'all' can be expensive. I usually start with
> max_trace at 2. Sometimes I cheat down to 1, if the object is simple,
> opaque and I don't see artefacts.
>
> There is too the quality level. If of the radiosity, subsurface and
> media features all you use is radiosity, you can drop from 9 (=10 & =11)
> to 8 and check performance without radiosity. Dropping to 7 cuts out
> reflection, refraction and transparency(a). Plus, you can use start/end
> row start/end column settings to render only in regions running slow for
> performance testing.
>
> Bill P.
>

I got access to a nice, big Linux box with 64 cores and tried rendering the
scene again, using the smaller block sizes and reduced max_trace_level.  It
chugged along pretty steadily for about 48 hours, and then with 128 pixels left
(out of a 1920x1080 image), its been stuck for an additional 72 hours with no
sign of progress.

The camera in the scene is at a very low angle above a wooden table with a bumpy
surface.  The table top is encased in a varnish object that is transparent and
has its own bumpy quality as well.  The two blocks that are stuck appear to be
on this surface and may be where some of the lights in the room are causing
specular highlights.

I'm using v3.8, and I have gotten into the habit of always using material{}
instead of texture{} for my objects so I don't forget to assign an ior when
using fresnel at the finish level and for reflection.  I'll have to look more
closely at the code to make sure I didn't miss any and leave them with the
default 1.0 ior, but I know for sure the varnish has an ior assigned from a
table of ior values.

I may end up shifting the camera location slightly and see if that eliminates
the problem spots, but I'd be interest in trying to figure out whether I'm just
hitting some threshold edge condition where an algorithm is just never
terminating.  Could I be hitting a loop where the threshold condition cannot be
met due to floating point precision problems?


-- Chris R.


Post a reply to this message

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