POV-Ray : Newsgroups : povray.windows : WinXP & intel P4 only 50% used : Re: WinXP & intel P4 only 50% used Server Time
26 Jun 2024 03:22:06 EDT (-0400)
  Re: WinXP & intel P4 only 50% used  
From: Warp
Date: 2 Nov 2004 16:43:26
Message: <4187ff7e@news.povray.org>
regdo <reg### [at] wanadoofr> wrote:
> Do you mean there is no way for POV to use the whole power of the processor 
> and we have to wait twice the time we should ? Rats !

  Didn't you read what he said?

  P4 is just one processor, not two, and POV-Ray is using (almost) 100% of
its power.
  You will not get basically any advantage by rendering in two threads
because the two threads will mostly be interleaved by the CPU, not run
in parallel.
  That is, in other words: Even if you run two instances of POV-Ray,
each one rendering half of the image, the total rendering time will
not speed up considerable. One instance is already using the maximum
capacity of the CPU.

  Now, P4 has this funny thing called hyperthreading which makes the
processor look like two and can, with some tricks, be used to speed up
a program (almost as if it was run by two true processors). The trick
is to create two threads and run eg. integer math in one (calculated
by the ALU) and floating point math (calculated by the FPU) or MMX math
(calculated by the MMX processor) in the other.
  However, POV-Ray can hardly use this trick even if it wanted to because
most of what it does is floating point math, and there's only one FPU to
do it. And POV-Ray *is* running through the FPU at full power.

  Windows makes it look like it is only using 50% of CPU because P4 is
emulating two CPUs and Windows makes a simple (but basically wrong)
calculation about how much of the two (virtual) processors POV-Ray is
using. POV-Ray cannot use the "other processor" because there's no
other processor. It's just a kind of "virtual" processor (which another
process not needing the FPU could perhaps use).

  So no, if the POV-Ray benchmark is being finished in 30 minutes in
your P4, there's no way it can finish in 15 minutes no matter what you
do. That's not what the "two processors" mean.

-- 
#macro N(D)#if(D>99)cylinder{M()#local D=div(D,104);M().5,2pigment{rgb M()}}
N(D)#end#end#macro M()<mod(D,13)-6mod(div(D,13)8)-3,10>#end blob{
N(11117333955)N(4254934330)N(3900569407)N(7382340)N(3358)N(970)}//  - Warp -


Post a reply to this message

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