|
![](/i/fill.gif) |
Thorsten Froehlich wrote:
> The major problem though is that your scene is just to
> complex to be of much use for saying what could be wrong by just looking
> at it.
>
> Thorsten
OK, here is a much simpler scene which demonstrates a similar speed
difference between 3.6 and 3.7. Both again rendered on a P4 2.8 gHz, no
antialiasing, this time at 512x384.
This scene constructs a number of concentric spheres in the middle of
the scene, with full transmittence, and varying IOR values. Surrounding
the scene is a box with the default checker colors of blue and green.
Ambient light is set to one, to avoid light computations.
This scene demonstrates the devastating effect that refraction has on
the speed of 3.7 versus 3.6. In fact, it seems to be around 8 times
slower! I would venture another guess that reflection could have the
same effect on a scene's rendering speed, but I have not tested for this
yet.
In the beginning of the scene, I list times for various recursion
levels. The first time is for 3.6, the second time for 3.7, and
following them are a ratio of 3.7 to 3.6.
The actual times aren't important, but the ratio of times. I fully
expected multithreading to involve some overhead, making it slightly
slower on a single-processor machine (w/o hyperthreading), but 8x
slower? Something is obviously wrong here.
(I also tested w/ light buffers and vista buffers turned off in 3.6, but
the effect on the ratio was negligible).
...Chambers
--- Cut here ---
#declare recursion = 5;
// Recursion 1: 1s; 4s; 4x
// Recursion 5: 2s; 15s; 7.5x
// Recursion 10: 4s; 29s; 7.25x
// Recursion 20: 9s; 1m 15s (75s); 8.3x
// Recursion 50: 37s; 5m 9s (309s); 8.35x
global_settings {
max_trace_level 256
ambient_light 1.0
}
camera {
location -z*19
look_at 0
}
box {
-20, 20
pigment {checker}
finish {ambient 1}
}
#declare sp = sphere {
0, 8
texture {
pigment {color transmit 1}
}
}
#declare c = 0;
#while (c < recursion)
object {sp interior{ior (recursion+c+1)/(recursion+c)} scale
(recursion-c)/(recursion)}
#declare c = c + 1;
#end
--- Cut here ---
Post a reply to this message
|
![](/i/fill.gif) |