POV-Ray : Newsgroups : povray.newusers : Should Parsing really take that long? How to speed it up? : Re: Should Parsing really take that long? How to speed it up? Server Time
29 Apr 2024 07:07:52 EDT (-0400)
  Re: Should Parsing really take that long? How to speed it up?  
From: Alain
Date: 5 Dec 2015 11:12:38
Message: <56630cf6$1@news.povray.org>

> On 12/05/2015 02:23 AM, ILM wrote:
>> ...
>>
>> I edited the pov file in a text editor and removed the extra 30.000
>> declare
>> lines. Unfortunately that did not reduce the parsing time.
>>
>> Furthermore I tried the following:
>> - Changed the png file to a 1x1 px file. Parsing now only takes 40
>> seconds.
>> - Changed the png file to a 1x1 px file AND removed the 30.000 declare
>> lines.
>> parsing now takes about 15 seconds.
>>
>> So we found the spot where we have to apply the tweaking.
>>
>> Something I can do by myself: Use smaller PNG file (even they are not
>> really big
>> actually).
>>
>> The big question is: How can we (or better said the developer)
>> optimize the
>> loading of png files. Only removing the declare line has not changed a
>> lot.
>>
>>

> ....
>
> A guess, but wondering if due the finish block being inside the texture
> block of the texture list, whether povray isn't creating many internal
> textures for each face/vertice of the mesh instead of referencing just one.
>
> As for macros, there is documentation at:
> http://www.povray.org/documentation/3.7.0/r3_3.html#r3_3_2_8 for a start.
>
> Bill P.
>
>

There is absolutely nothing wrong with the finish block as it is. In 
fact, it could have been included in the #declare as follow for the 
exact same end result:
#declare cube=texture { image_map { png "povincludes/cube.png"} finish { 
ambient 1 diffuse 1 reflection 0 } }

The real problem is that #declare cube=pigment { image_map { png 
"povincludes/cube.png"} } is repeated 30000 times. It's probably the 
case for all image_map that are used.

As for the parsing time not scalling with multiple cores, it's that the 
parsing is strictly linear and only support a single thread. In 
contrast, the rendering is multi threaded and can use all the available 
cores, up to 256 if I remember correctly.


Alain


Post a reply to this message

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