POV-Ray : Newsgroups : povray.general : From <1 second Rendertime to >1 hr just by adding AA 0.3 Server Time
2 May 2024 14:14:52 EDT (-0400)
  From <1 second Rendertime to >1 hr just by adding AA 0.3 (Message 1 to 10 of 11)  
Goto Latest 10 Messages Next 1 Messages >>>
From: Theogott
Subject: From <1 second Rendertime to >1 hr just by adding AA 0.3
Date: 3 Jan 2016 17:10:00
Message: <web.56899c167fdda09eadb2e4f80@news.povray.org>
This is a funny thing. We all know that AA takes time. But sooo much?

The scene below renders <1 Second here, without AA.
If i turn on AA 0.3, it renders ... forever ... ~1 hr.

/////////////////////////////////////////////
//
//     ~~ [ Diblob ] ~~
//        version 1 out of 1
//
//  by Michael Scharrer
//  https://mscharrer.net
//
// CC-BY-4.0 license
// https://creativecommons.org/licenses/by/4.0/
//
/////////////////////////////////////////////

#version 3.6;

global_settings { max_trace_level 12} //should be 12

camera{
 right x*image_width/image_height
 location <0,-5,0>
 look_at <0,0,0>
}

light_source{
 <0,-10,0>
 color 1
}


union{
 blob{
  sphere{
   <-1,0,0> 1.5 2
   pigment{
    checker
    rgb 0
    rgb .2
    scale 0.25
   }
   finish{
    reflection <1,1,1.1>
   }
  }
  sphere{
   <1,0,0> 1.5 2
   pigment{
    checker
    rgb 0
    rgb .2
    scale 0.25
   }
   finish{
    reflection <1.1,1,1>
   }
  }
 }
 scale 1.5
}
/*union{
 blob{
  sphere{ <-1,2,0> 1.5 2 }
  sphere{ < 1,2,0> 1.5 2 }
 }
 sphere{
 pigment{ color <1,1,1> }
 finish{ reflection 1 }
 normal{
  bumps 2
 }
}*/


sphere{
 <0,0,0>
 30
 hollow
 pigment{
  color <1,1,1,1>
 }
 finish{
  reflection <.6,.62,.6>
 }
 normal{
  bumps 0.005
 }
}

sphere{
 <0,0,0>
 100
 hollow
 pigment{
  color <0,0,0,0,0.01>
 }
 finish{
  reflection 1
 }
 normal{
  bumps 0.0001
 }
}

plane{
 y 200
 pigment{
  granite
  color_map{
   [0 rgb 0]
   [1 rgb 4]
  }
  scale 50
  turbulence 0.2
 }
 finish{
  ambient 1
  diffuse 0
 }
}


Post a reply to this message

From: Ger
Subject: Re: From <1 second Rendertime to >1 hr just by adding AA 0.3
Date: 3 Jan 2016 19:47:31
Message: <5689c123$1@news.povray.org>
Theogott wrote:

> 
> union{
>  blob{
>   sphere{
>    <-1,0,0> 1.5 2
>    pigment{
>     checker
>     rgb 0
>     rgb .2
>     scale 0.25
>    }
>    finish{
>     reflection <1,1,1.1>
>    }
>   }
>   sphere{
>    <1,0,0> 1.5 2
>    pigment{
>     checker
>     rgb 0
>     rgb .2
>     scale 0.25
>    }
>    finish{
>     reflection <1.1,1,1>
>    }
>   }
>  }
>  scale 1.5
> }
> 

This can be compacted to
 blob{
  sphere{ <-1,0,0> 1.5 2 }
  sphere{  <1,0,0> 1.5 2 }
   pigment{
    checker
    rgb 0
    rgb .2
    scale 0.25
   }
   finish{
    reflection <1,1,1.1>
   }
 scale 1.5
}



> sphere{
>  <0,0,0>
>  100
>  hollow
>  pigment{
>   color <0,0,0,0,0.01>
>  }
>  finish{
>   reflection 1
>  }
>  normal{
>   bumps 0.0001
>  }
> }

This second enveloping sphere is what kills it.
If I take it out it renders, with +A0.01 at 800x450 in under 20 seconds
-- 

Ger


Post a reply to this message

From: clipka
Subject: Re: From <1 second Rendertime to >1 hr just by adding AA 0.3
Date: 3 Jan 2016 20:55:13
Message: <5689d101$1@news.povray.org>
Am 03.01.2016 um 23:09 schrieb Theogott:
> This is a funny thing. We all know that AA takes time. But sooo much?
> 
> The scene below renders <1 Second here, without AA.
> If i turn on AA 0.3, it renders ... forever ... ~1 hr.

Not sure what brutish computer you have at your disposal, but even
without AA I don't see render times anywhere close to 1s here. More like
a bit under 4 minutes with POV-Ray 3.6.

For some reason, POV-Ray 3.7 seems to grind to a halt -- possibly
because its handling of max_trace_level with regards to fully
transparent surfaces is different.


Post a reply to this message

From: Theogott
Subject: Re: From <1 second Rendertime to >1 hr just by adding AA 0.3
Date: 4 Jan 2016 02:00:21
Message: <web.568a174ddf298e78adb2e4f80@news.povray.org>
clipka <ano### [at] anonymousorg> wrote:
> Am 03.01.2016 um 23:09 schrieb Theogott:
> > This is a funny thing. We all know that AA takes time. But sooo much?
> >
> > The scene below renders <1 Second here, without AA.
> > If i turn on AA 0.3, it renders ... forever ... ~1 hr.
>
> Not sure what brutish computer you have at your disposal, but even
> without AA I don't see render times anywhere close to 1s here. More like
> a bit under 4 minutes with POV-Ray 3.6.
>
> For some reason, POV-Ray 3.7 seems to grind to a halt -- possibly
> because its handling of max_trace_level with regards to fully
> transparent surfaces is different.

-----------------------
Parse Warning: Should have at least 2 objects in csg.
Parse Warning: assumed_gamma not specified, so gamma_correction is turned off
for
compatibility with this pre POV-Ray 3.7 scene. See the documentation for more
details.

Parser Statistics

Finite Objects:            3
Infinite Objects:          1
Light Sources:             1
Total:                     5

Parser Time
  Parse Time:       0 hours  0 minutes  0 seconds (0.001 seconds)
              using 1 thread(s) with 0.000 CPU-seconds total
  Bounding Time:    0 hours  0 minutes  0 seconds (0.000 seconds)
              using 1 thread(s) with 0.000 CPU-seconds total

Render Options
  Quality:  5
  Bounding boxes.......On   Bounding threshold: 3
  Antialiasing.........Off

Render Statistics
Image Resolution 800 x 600

Pixels:           480000   Samples:               0   Smpls/Pxl: 0.00
Rays:             480000   Saved:                 0   Max Level: 1/12

Ray->Shape Intersection          Tests       Succeeded  Percentage

Blob                            756184          160540     21.23
Blob Component                  725676          721440     99.42
Blob Bound                     1512368          725676     47.98
Plane                           960000          480000     50.00
Sphere                         1920000         1920000    100.00
Bounding Box                   2880000         2676184     92.92

Roots tested:                399688   eliminated:               105053
Shadow Ray Tests:            480000   Succeeded:                     0

Peak memory used:          47685632 bytes

Render Time:
  Photon Time:      No photons
  Radiosity Time:   No radiosity
  Trace Time:       0 hours  0 minutes  0 seconds (0.275 seconds)
              using 12 thread(s) with 2.335 CPU-seconds total
UberPOV finished
-
CPU time used: kernel 0.14 seconds, user 2.56 seconds, total 2.70 seconds.
Elapsed time 0.93 seconds, CPU vs elapsed time ratio 2.92.
Render averaged 518918.92 PPS (177855.70 PPS CPU time) over 480000 pixels.
----------------------------------------------------------------------------

There seems to be a huge Difference in Rendertime between Uber-POV and POV-Ray.
WHY?


Post a reply to this message

From: Norbert Kern
Subject: Re: From <1 second Rendertime to >1 hr just by adding AA 0.3
Date: 4 Jan 2016 04:10:00
Message: <web.568a3619df298e783a36559d0@news.povray.org>
clipka <ano### [at] anonymousorg> wrote:

> For some reason, POV-Ray 3.7 seems to grind to a halt -- possibly
> because its handling of max_trace_level with regards to fully
> transparent surfaces is different.



This explains many issues I've with old scenes.
Please can you explain it a bit more in depth?

Norbert


Post a reply to this message

From: clipka
Subject: Re: From <1 second Rendertime to >1 hr just by adding AA 0.3
Date: 4 Jan 2016 04:31:47
Message: <568a3c03$1@news.povray.org>
Am 04.01.2016 um 07:55 schrieb Theogott:
> clipka <ano### [at] anonymousorg> wrote:
>> Am 03.01.2016 um 23:09 schrieb Theogott:
>>> This is a funny thing. We all know that AA takes time. But sooo much?
>>>
>>> The scene below renders <1 Second here, without AA.
>>> If i turn on AA 0.3, it renders ... forever ... ~1 hr.
>>
>> Not sure what brutish computer you have at your disposal, but even
>> without AA I don't see render times anywhere close to 1s here. More like
>> a bit under 4 minutes with POV-Ray 3.6.
>>
>> For some reason, POV-Ray 3.7 seems to grind to a halt -- possibly
>> because its handling of max_trace_level with regards to fully
>> transparent surfaces is different.

...

> Render Options
>   Quality:  5

Ah - now THAT does make a difference!

Running with the "+Q5" command-line option, I get 1s render time, too.
But even then activating AA doesn't change the render times drastically.


> UberPOV finished

You didn't mention that fact either.


> There seems to be a huge Difference in Rendertime between Uber-POV and POV-Ray.
> WHY?

Is there? I don't see any. Not with identical command-line settings, at
any rate.


Post a reply to this message

From: clipka
Subject: Re: From <1 second Rendertime to >1 hr just by adding AA 0.3
Date: 4 Jan 2016 04:36:55
Message: <568a3d37@news.povray.org>
Am 04.01.2016 um 10:06 schrieb Norbert Kern:
> clipka <ano### [at] anonymousorg> wrote:
> 
>> For some reason, POV-Ray 3.7 seems to grind to a halt -- possibly
>> because its handling of max_trace_level with regards to fully
>> transparent surfaces is different.
> 
> This explains many issues I've with old scenes.
> Please can you explain it a bit more in depth?

Transparency without refraction doesn't count towards the
max_trace_level anymore.

I begin to wonder whether that was a bad idea though.


Post a reply to this message

From: William F Pokorny
Subject: Re: From <1 second Rendertime to >1 hr just by adding AA 0.3
Date: 4 Jan 2016 09:32:09
Message: <568a8269$1@news.povray.org>
On 01/04/2016 04:36 AM, clipka wrote:
> Am 04.01.2016 um 10:06 schrieb Norbert Kern:
>> clipka <ano### [at] anonymousorg> wrote:
>>
>>> For some reason, POV-Ray 3.7 seems to grind to a halt -- possibly
>>> because its handling of max_trace_level with regards to fully
>>> transparent surfaces is different.
>>
>> This explains many issues I've with old scenes.
>> Please can you explain it a bit more in depth?
>
> Transparency without refraction doesn't count towards the
> max_trace_level anymore.
>
> I begin to wonder whether that was a bad idea though.
>
(I've been looking at old blob problems with the blob.cpp code I 
patched, so jumping on thread as this too is a blob scene.)

In addition to performance the image results are also different 3.6 to 
3.7. See: PrfrmDiff36to37.jpg in povray.binaries.images.

--------------------------- (Left image in PrfrmDiff36to37.jpg)
povray3.6 no AA
Rays:          444152349   Saved:          70439961   Max Level: 12/12
(298 seconds)
--------------------------- (Center image in PrfrmDiff36to37.jpg)
povray3.7StableBlobPatched no AA
Rays:        13058131391   Saved:        2261510214   Max Level: 12/12
15200.163 CPU-seconds total
--------------------------- (Right image in PrfrmDiff36to37.jpg)
povray3.7StableBlobPatched no AA. All reflections*0.5
Rays:          279110752   Saved:         136920694   Max Level: 10/12
370.471 CPU-seconds total
---------------------------

The right result I believe is evidence for the 3.6->3.7 transmission 
change Christoph suspects.

Note that reflections >=1 are being used with transmission ==1 in the 
original code so we are getting light amplification on reflection.

---

I also made 3.6 and 3.7 runs with conserve_energy on and performance & 
results were similar though not identical. See: conserve_energy.jpg in 
povray.binaries.images.

--------------------------- (conserve_energy.jpg)
povray3.7StableBlobPatched no AA conserve_energy in finish blocks
Rays:        13058131391   Saved:        2261510214   Max Level: 12/12
15200.163 CPU-seconds total
---------------------------

The conserve energy result is likely too evidence for the 3.6->3.7 
transmission change.

To echo what Norbert suspects, I too have seen different results 
3.6->3.7 where previous code uses values >1.0 in the finish block 
control elements. I've never quite sorted things enough to really 
understand it. Now thinking the transmission change is a part of it. My 
fix is to rework for ranges<=1 in the finish block.

Question: I think the conserve_energy helps & turns the background dark 
because we cannot both reflect at >=1 and transmit at >=1. In other 
words, we don't see through the r=30 sphere to the plane with the 
granite pigment. Is this understanding correct?

Bill P.


Post a reply to this message

From: William F Pokorny
Subject: Re: From <1 second Rendertime to >1 hr just by adding AA 0.3
Date: 4 Jan 2016 09:41:23
Message: <568a8493$1@news.povray.org>
On 01/04/2016 09:32 AM, William F Pokorny wrote:
> ...
> --------------------------- (conserve_energy.jpg)
> povray3.7StableBlobPatched no AA conserve_energy in finish blocks
> Rays:        13058131391   Saved:        2261510214   Max Level: 12/12
> 15200.163 CPU-seconds total
> ---------------------------
>

Dang. Why is it I only see my mistakes once the post shows up on the 
news group... I pasted the wrong results in the conserve_energy example. 
They were:

--------------------------- (conserve_energy.jpg)
povray3.7StableBlobPatched no AA conserve_energy in finish blocks
Rays:          454713414   Saved:         128774772   Max Level: 12/12
732.143 CPU-seconds total
---------------------------

The time was reasonable in 3.6 and 3.7 using conserve_energy in the 
finish block.

Bill P.


Post a reply to this message

From: clipka
Subject: Re: From <1 second Rendertime to >1 hr just by adding AA 0.3
Date: 4 Jan 2016 10:15:14
Message: <web.568a8c04df298e78ad6fa18f0@news.povray.org>
William F Pokorny <ano### [at] anonymousorg> wrote:

> Question: I think the conserve_energy helps & turns the background dark
> because we cannot both reflect at >=1 and transmit at >=1. In other
> words, we don't see through the r=30 sphere to the plane with the
> granite pigment. Is this understanding correct?


To be precise, conserve_energy ensures that transmission is attenuated in
accordance with variable reflection, so that as effective reflection increases,
the effective transmission decreases accordingly. If transmission is set to 1
and reflection is set to 0 and 1 (min and max, respectively), then the effective
transmission plus effective reflection will be kept constant at 1. (Filter, too,
is subject to the same level of attenuation.)

In mathematical terms, given variable reflection with values REFL_MIN and
REFL_MAX, and transmit and filter set to TRANS and FILTER respectively, the
effective reflection, transmission and filter will be

    REFL_EFF   =   x   * (REFL_MAX - REFL_MIN) + REFL_MIN
    TRANS_EFF  = (1-x) * TRANS
    FILTER_EFF = (1-x) * FILTER

where x depends on the angle at which we are looking at the surface.


You could also say that using conserve_energy makes variable reflection blend
between reflection and transmission/fiter, rather than just varying the
reflection component.


Post a reply to this message

Goto Latest 10 Messages Next 1 Messages >>>

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