POV-Ray : Newsgroups : povray.beta-test : Smaller Spheres Server Time
9 Oct 2026 06:22:23 EDT (-0400)
  Smaller Spheres (Message 1 to 19 of 19)  
From: clipka
Subject: Smaller Spheres
Date: 7 Aug 2016 00:21:12
Message: <57a6b738$1@news.povray.org>
Significantly reduced memory footprint of spheres subject to
transformations (translate, rotate, scale, transform):

https://github.com/POV-Ray/povray/releases/tag/v3.7.1-alpha.8730959

Needs plenty of testing, especially with regards to UV mapping and wild
combinations of the various transformation statements.


Post a reply to this message

From: clipka
Subject: Re: Smaller Spheres
Date: 9 Aug 2016 18:13:35
Message: <57aa558f$1@news.povray.org>
Am 07.08.2016 um 06:21 schrieb clipka:
> Significantly reduced memory footprint of spheres subject to
> transformations (translate, rotate, scale, transform):
> 
> https://github.com/POV-Ray/povray/releases/tag/v3.7.1-alpha.8730959
> 
> Needs plenty of testing, especially with regards to UV mapping and wild
> combinations of the various transformation statements.

No takers this time?


Post a reply to this message

From: Stephen
Subject: Re: Smaller Spheres
Date: 9 Aug 2016 18:24:24
Message: <57aa5818$1@news.povray.org>
On 8/9/2016 11:13 PM, clipka wrote:
> Am 07.08.2016 um 06:21 schrieb clipka:
>> Significantly reduced memory footprint of spheres subject to
>> transformations (translate, rotate, scale, transform):
>>
>> https://github.com/POV-Ray/povray/releases/tag/v3.7.1-alpha.8730959
>>
>> Needs plenty of testing, especially with regards to UV mapping and wild
>> combinations of the various transformation statements.
>
> No takers this time?
>


There is a world shortage of Round Toits. :(

-- 

Regards
     Stephen


Post a reply to this message

From: clipka
Subject: Re: Smaller Spheres
Date: 9 Aug 2016 19:02:54
Message: <57aa611e$1@news.povray.org>
Am 10.08.2016 um 00:24 schrieb Stephen:
> On 8/9/2016 11:13 PM, clipka wrote:
>> Am 07.08.2016 um 06:21 schrieb clipka:
>>> Significantly reduced memory footprint of spheres subject to
>>> transformations (translate, rotate, scale, transform):
>>>
>>> https://github.com/POV-Ray/povray/releases/tag/v3.7.1-alpha.8730959
>>>
>>> Needs plenty of testing, especially with regards to UV mapping and wild
>>> combinations of the various transformation statements.
>>
>> No takers this time?
>>
> 
> 
> There is a world shortage of Round Toits. :(

Might be the Brazilians' fault.


Post a reply to this message

From: Stephen
Subject: Re: Smaller Spheres
Date: 9 Aug 2016 19:21:30
Message: <57aa657a$1@news.povray.org>
On 8/10/2016 12:02 AM, clipka wrote:
> Am 10.08.2016 um 00:24 schrieb Stephen:
>> On 8/9/2016 11:13 PM, clipka wrote:
>>> Am 07.08.2016 um 06:21 schrieb clipka:
>>>> Significantly reduced memory footprint of spheres subject to
>>>> transformations (translate, rotate, scale, transform):
>>>>
>>>> https://github.com/POV-Ray/povray/releases/tag/v3.7.1-alpha.8730959
>>>>
>>>> Needs plenty of testing, especially with regards to UV mapping and wild
>>>> combinations of the various transformation statements.
>>>
>>> No takers this time?
>>>
>>
>>
>> There is a world shortage of Round Toits. :(
>
> Might be the Brazilians' fault.
>

[Pulls pants down.]

Nope!  ;)

-- 

Regards
     Stephen


Post a reply to this message

From: Bald Eagle
Subject: Re: Smaller Spheres
Date: 9 Aug 2016 20:40:06
Message: <web.57aa77ddc5ad69015e7df57c0@news.povray.org>
clipka <ano### [at] anonymousorg> wrote:
> Am 07.08.2016 um 06:21 schrieb clipka:
> > Significantly reduced memory footprint of spheres subject to
> > transformations (translate, rotate, scale, transform):

> No takers this time?

I have it downloaded - I just need to "install" it.

I'll get on it in a little while - It's shaped up to be a busy week.
Just had a molar extracted, looking for an apartment, have a wheelchair to pick
up for a disabled friend, etc ....

I'll see what I can dream up and let loose.
I'm sure I can come up with something utilizing a few million spheres.  ;)

And thank you for making that edit to the code - I'm very curious to see the
difference in memory usage.


Post a reply to this message

From: architype
Subject: Re: Smaller Spheres
Date: 9 Aug 2016 23:50:00
Message: <web.57aaa3c4c5ad6901b8fe400c0@news.povray.org>
clipka <ano### [at] anonymousorg> wrote:
> Am 07.08.2016 um 06:21 schrieb clipka:
> > Significantly reduced memory footprint of spheres subject to
> > transformations (translate, rotate, scale, transform):
> >
> > https://github.com/POV-Ray/povray/releases/tag/v3.7.1-alpha.8730959
> >
> > Needs plenty of testing, especially with regards to UV mapping and wild
> > combinations of the various transformation statements.
>
> No takers this time?

Unfortunately I am busy with a big project that is supposed to be finished
within the next 4 weeks...
But I really appreciate all the work you do, so I will see if I can do at least
some small scene.
I can think of some stuff that would be fun to try out... ;)
Here is a first mini scene, rusticated stones. I can post the code, but I cannot
render it with your
new version since my pov-ray dir is in use. (Cranking out animation frames.)
Best wishes, /A

Hmmm, I cannot attach files here... *goes over to blog* ... here is the link:
http://povscriptcode.site123.me/


Post a reply to this message

From: clipka
Subject: Re: Smaller Spheres
Date: 11 Aug 2016 17:46:54
Message: <57acf24e$1@news.povray.org>
Am 07.08.2016 um 06:21 schrieb clipka:
> Significantly reduced memory footprint of spheres subject to
> transformations (translate, rotate, scale, transform):
> 
> https://github.com/POV-Ray/povray/releases/tag/v3.7.1-alpha.8730959
> 
> Needs plenty of testing, especially with regards to UV mapping and wild
> combinations of the various transformation statements.

Found and fixed one bug already, so a new version is waiting to be tested:

https://github.com/POV-Ray/povray/releases/tag/v3.7.1-alpha.8737777


Post a reply to this message

From: architype
Subject: Re: Smaller Spheres
Date: 12 Aug 2016 00:55:00
Message: <web.57ad5650c5ad69016b88bdd50@news.povray.org>
clipka <ano### [at] anonymousorg> wrote:
> Am 07.08.2016 um 06:21 schrieb clipka:
> > Significantly reduced memory footprint of spheres subject to
> > transformations (translate, rotate, scale, transform):
> >
> > https://github.com/POV-Ray/povray/releases/tag/v3.7.1-alpha.8730959
> >
> > Needs plenty of testing, especially with regards to UV mapping and wild
> > combinations of the various transformation statements.
>
> Found and fixed one bug already, so a new version is waiting to be tested:
>
> https://github.com/POV-Ray/povray/releases/tag/v3.7.1-alpha.8737777

I have done a first test; but I need to make a better test scene with
more transformations, more objects and spheres only.
Anyway, there were improvements in memory and parsing.
But also a big improvement in render time. :D
I will make a better test scene and get back to you.
Thanks a lot for the great work!
Best wishes, /A

scene: 2 287 195 objects + 1 light

std ver:

1600x1200
parse time 11.6 sec
bounding time 34.3 sec
rnder time 4m 49s
peak memory used  1 612 890 112 bytes

tst ver:

1600x1200
parse time 9.0 sec
bounding time 33.8 sec
rnder time 3m 31s
peak memory used  1  494 773 760 bytes


Post a reply to this message

From: architype
Subject: Re: Smaller Spheres
Date: 12 Aug 2016 01:40:00
Message: <web.57ad60e3c5ad69016b88bdd50@news.povray.org>
Hmmm I ran the standard version again, this time it took 3m 38s.
But it used 1 847 226 368 bytes. So only a small improvement in
render time, but a significant reduction in memory.
(I am not sure why I got the longer render time for the standard
version, some stuff might have been running in the background?)
I ran the test version again and it is about 1 490 000 000 bytes.
I will write a better test scene and post it as soon as I can.
Best wishes, /A


Post a reply to this message

From: architype
Subject: Re: Smaller Spheres
Date: 12 Aug 2016 02:10:01
Message: <web.57ad678cc5ad69016b88bdd50@news.povray.org>
Ok the new scene...larger resolution on the way.

std

3 851 163 objects
render time 2m 03s
800x600 no AA
peak mem 3 234 549 760 byte
parse 28 s
bounding time 54 s

tst

3 851 163 objects
render time 1m 53s
800x600 no AA
peak mem 2 304 659 456 byte
parse 20.5 s
bounding time 55 s

Best wishes, /A


Post a reply to this message

From: Bald Eagle
Subject: Re: Smaller Spheres
Date: 12 Aug 2016 08:00:01
Message: <web.57adb92dc5ad6901b488d9aa0@news.povray.org>
I could use a slightly more detailed explanation of how to implement this, just
get up and running when the download completes.

I decompress the folder, and then copy which executable to where?

C:Program Files\Pov-Ray\v3.7....


Post a reply to this message

From: architype
Subject: Re: Smaller Spheres
Date: 12 Aug 2016 08:00:01
Message: <web.57adb972c5ad6901718bbba20@news.povray.org>
Ok the 1024x768  AA 0.01 scene...
I added some more transformations to increase parse time and thus
get a more reliable estimate. The test version ran just fine:
5 361 423 objects
render time 4m 58s
peak mem 4 138 655 744 byte
parse 43.9 s
bounding time 90.9 s
but the standard version would not run but crashed...:p
So the improvement in parse time seems correct and consistent but
the memory seem uncertain, or rather in my test it is not verified.
I think it could well be due to my lack of skill/experience with
testing...hopefully someone with more routine can do a better test... ;)

std file

3 851 163 objects
render time 4m 24s
peak mem 2 525 454 336 byte
parse 30.7 s
bounding time 55.4 s

tst file

3 851 163 objects
render time 3m 49s
peak mem 2 312 380 416 byte
parse 22.1 s
bounding time 55.4 s

Best wishes, /A


Post a reply to this message

From: architype
Subject: Re: Smaller Spheres
Date: 12 Aug 2016 08:10:00
Message: <web.57adbc4bc5ad6901718bbba20@news.povray.org>
"Bald Eagle" <cre### [at] netscapenet> wrote:
> I could use a slightly more detailed explanation of how to implement this, just
> get up and running when the download completes.
>
> I decompress the folder, and then copy which executable to where?
>
> C:Program Files\Pov-Ray\v3.7....

I simply opened the bin dir (be sure to back it up) and replaced the main
executable file with clipkas new version. But it was a while since I messed with
this stuff so I could be wrong... /A


Post a reply to this message

From: architype
Subject: Re: Smaller Spheres
Date: 12 Aug 2016 08:20:01
Message: <web.57adbe6ac5ad6901718bbba20@news.povray.org>
"Bald Eagle" <cre### [at] netscapenet> wrote:
> I could use a slightly more detailed explanation of how to implement this, just
> get up and running when the download completes.
>
> I decompress the folder, and then copy which executable to where?
>
> C:Program Files\Pov-Ray\v3.7....

Sry, I forgot, I used the executable in
povray-3.7.1-alpha.8737777-av158-Win64.7z file.  /A


Post a reply to this message

From: clipka
Subject: Re: Smaller Spheres
Date: 12 Aug 2016 11:20:24
Message: <57ade938$1@news.povray.org>
Am 12.08.2016 um 13:56 schrieb architype:
> Ok the 1024x768  AA 0.01 scene...
> I added some more transformations to increase parse time and thus
> get a more reliable estimate. The test version ran just fine:
> 5 361 423 objects
> render time 4m 58s
> peak mem 4 138 655 744 byte
> parse 43.9 s
> bounding time 90.9 s
> but the standard version would not run but crashed...:p
> So the improvement in parse time seems correct and consistent but
> the memory seem uncertain, or rather in my test it is not verified.

I wouldn't be too surprised if the standard version hit a brick wall at
4 GB for one reason or another.

As for the speed increase, I didn't expect any, but it might be a side
effect of the reduced memory footprint, which could be improving cache
efficiency.


Post a reply to this message

From: clipka
Subject: Re: Smaller Spheres
Date: 12 Aug 2016 11:29:27
Message: <57adeb57$1@news.povray.org>
Am 12.08.2016 um 13:55 schrieb Bald Eagle:
> I could use a slightly more detailed explanation of how to implement this, just
> get up and running when the download completes.
> 
> I decompress the folder, and then copy which executable to where?
> 
> C:Program Files\Pov-Ray\v3.7....

Typically the target directory would be `C:\Program Files\POV-Ray\v3.7\bin`.

Make sure to back up the existing `pvengine.exe`, `pvengine64.exe` and
`pvengine32-sse2.exe`, e.g. by moving them into a new subdirectory or
renaming them.

Then copy the corresponding files from the downloaded package.


Post a reply to this message

From: LanuHum
Subject: Re: Smaller Spheres
Date: 12 Aug 2016 13:35:00
Message: <web.57ae084ac5ad69017a3e03fe0@news.povray.org>
In my scene 1000000 spheres.
old: 2113 M
new: 1473 M

Good result! Thanks!


Post a reply to this message

From: Bald Eagle
Subject: Re: Smaller Spheres
Date: 16 Aug 2016 19:20:00
Message: <web.57b39f4dc5ad69015e7df57c0@news.povray.org>
Perhaps someone can try this and think of some improvements.

// random spheres
// for testing new smaller-sphere patch in 3.7.1.etc
// Bald Eagle 2016

#version 3.7;

global_settings {assumed_gamma 1.0}

#include "colors.inc"
#include "textures.inc"
#include "rand.inc"
#include "transforms.inc"

#declare Magnitude = 500;
camera {
 location <Magnitude, Magnitude, -Magnitude>
 look_at  <0, 0, 0>
}


light_source {<20, 50, -100> White shadowless}
//light_source {<0, 5, -1> White shadowless}

#declare R = 5;

//###############################################################

#declare _X = seed (123);
#declare _Y = seed (456);
#declare _Z = seed (789);



/*
// Other stuff to try to implement:
transform { translate { <x, y, z> } }
vtransform (Foo1, MyTransform);
Shear_Trans (X, Y, Z)
Matrix_Trans (X, Y, Z, Something)
Axial_Scale_Trans (Axis, Amt)
Axis_Rotate_Trans (Axis, Angle)
Rotate_Around_Trans(Rotation, Point)
Reorient_Trans(Axis1, Axis2)
Point_At_Trans(YAxis)
Center_Trans(Object, Axis)
Align_Trans(Object, Axis, Pt)
}
*/
#declare Stream = seed (123);

#declare Transforms = 20;
#declare Scale = 0.01;
#declare Radius = 5;

#for (Iteration, 1, 200)

 sphere {<0, 0, 0>, Radius

 #for (T, 1, Transforms)
  #declare Type = int(RRand(1, 3, Stream));
  #declare X = RRand(-90, 90, _X);
  #declare Y = RRand(-90, 90, _Y);
  #declare Z = RRand(-90, 90, _Z);

  #declare XS = RRand(0.5, 2, _X);
  #declare YS = RRand(0.5, 2, _Y);
  #declare ZS = RRand(0.5, 2, _Z);

  #switch (Type)
   #case(1) scale <XS, YS, ZS> #break
   #case(2) rotate <X, Y, Z> #break
   #case(3) translate <X, Y, Z> #break
  #end // end switch
 #end // end for T

  pigment {Blue} }
#end // end for Iteration


Post a reply to this message

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