POV-Ray : Newsgroups : povray.general : Playing with 3.7b : Re: Playing with 3.7b Server Time
28 Jul 2024 22:19:18 EDT (-0400)
  Re: Playing with 3.7b  
From: Warp
Date: 19 Jan 2008 17:16:27
Message: <479276bb@news.povray.org>
Christian Froeschlin <chr### [at] chrfrde> wrote:
> o On my P4/2.6Ghz with XP, rendering some random scenes seemed to
>    take at least 2 times longer than with 3.6.1.

  In my 3.2GHz P4 linux box pov3.7beta is faster than pov3.6.1. For example
one test scene with basic CSG at 640x480 +a0.1 +am2 takes 1min 29 seconds
with pov3.6.1 and 48 seconds with pov3.7beta, using 2 threads. The difference
in speed in favor of 3.7beta is remarkable.

  I think there was some compiler issue with the Windows version, explaining
the opposite effect there.

>    After setting the
>    thread count from default value of 2

  The thread count has no default in the Windows version. It's calculated
from the number of cores. (Hyperthreading causes programs to see two
cores.)

> to 1, this improved but still
>    took at least 1.4 times longer than with 3.6.1 (even with sse2).

  I see the opposite effect here. Rendering with one thread makes the
rendering slightly slower than with two threads. (The exact amount depends
a lot on the scene.)

  There's really no reason why rendering with more threads than cores
would be slower than rendering with one single thread. The OS makes
approximately the same amount of work in either case and there's practically
no overhead. There might be some issues with caches, but I haven't noticed
it at least here.

  On the contrary, rendering with multiple threads may even lead to
slightly faster renderings even with one single core because of time
not being wasted in I/O. (Of course in the case of POV-Ray the difference
is minuscule because it performs so little I/O compared to the amount of
CPU work.)

  It might be a compiler issue.

>    Actually I wonder if the default thread count shouldn't be 1,

  There's no default thread count in the Windows version. It makes as
many threads as cores (and hyperthreading makes it look like there
are two).

>    to make the default behavior mostly like 3.6.x. Many people will
>    not yet have a dual-core at home, and even those who do might be
>    used to having the system operational while rendering in the
>    background.

  On the contrary. Those who do have multicore CPUs expect POV-Ray to
use full capacity and would get puzzled if it doesn't (especially since
pov3.7 is advertised to be able to). Heck, some people are puzzled by
this with pov3.6 which does not support multithreading (ever seen those
posts like "povray is only using 50% of the CPU, how can I make it use
100%?")

> o I know about the #version directive, but is there some built-in
>    define to test the engine version

  There's a builtin variable named 'version'.

-- 
                                                          - Warp


Post a reply to this message

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