POV-Ray : Newsgroups : povray.unix : POV-Ray speed under Linux : POV-Ray speed under Linux Server Time
28 Jul 2024 14:20:02 EDT (-0400)
  POV-Ray speed under Linux  
From: Adrien Beau
Date: 28 May 2001 06:10:45
Message: <3B122437.35EF8E07@sycomore.fr>
Hi everybody!

Several days ago, in the French POV-Ray newsgroup,
Martin Depardieu, a newcommer to Linux, complained
that he found the Linux POV-Ray version much slower
than its Windows counterpart.

I spent some time investigating the problem, and
the immediate conclusion is that it is true.
I then tried to compile POV-Ray for a better speed,
with some results, but not that great.

I did some measures ; I admit more should be done,
but I lacked time. They are at the bottom of this
message.

After doing that, I spent a lot of time trying to
figure better arguments to give to the C compiler.

However, I did most of my tests with skyvase.pov,
and it later appeared (of course!) that various gcc
arguments provide more or less speedup depending on
the scene being rendered! Doh!

Anyway, it seems that the following arguments work
the best (for me... ie on a Pentium-III).

There are few of them, but I also played with
-fomit-frame-pointer, -ffast-math (yes, removing
it seemed to give a speed increase), -mno-fancy-math-387
and -malign-double. Problem is, I should retest
them on other scenes than skyvase.pov.

	-O3 -fforce-addr -march=pentiumpro -c -ansi
	-DCOMPILER...(unchanged) -DPOVLIB...(unchanged)

Here are the results:

* > linux stands for "official pov version"
  > linux-custom is custom compiled with above
    parameters
  > percentages are given relative to the
    windows version

* Hardware: Pentium-III 450 MHz - 384 MB RAM

* OS: Windows 98 SE ; Slackware Linux 7.1
  On both OS, I killed every unneeded task, until
  I was left with only the bare minimum (taskbar,
  etc. for Windows ; bash, etc. for Linux)

* Windows: POV render was set at maximum priority,
  POV GUI was set at minimum priority and put in
  the taskbar

* Linux: nice -n -20 s-povray -I scene.pov +W 1200
         +H 900 +FT +MB3 +A0.3 -D

* So, images were rendered at 1200x900, antialias 0.3
  Under Linux, the +MB3 switch was added (it is in
  the Windows povray.ini). Two renders were done and
  averaged.

* scenes/advanced/skyvase.pov

  windows	 3 min 35 s (215 sec)
  linux		 3 min 58 s (238 sec)  + 11%
  linux-custom	 3 min 37 s (217 sec)  +  1% (yes!)
  
  linux          4 min 10 s (250 sec)  + 16%
  (without +MB3 - see how it helps?)

* scenes/advanced/quilt1.pov

  windows	 9 min 10 s (550 sec)
  linux		10 min 43 s (643 sec)  + 17%
  linux-custom  10 min 17 s (617 sec)  + 12% :-(

* scenes/advanced/chess2.pov

  windows	63 min 27 s (3807 sec)
  linux-custom  68 min 25 s (4105 sec) +  8%


So?

Any ideas? What is your opinion about the compilation
switches? Do you have a better combination? Or a
better compiler?

Any help appreciated.

-- 
Adrien Beau - adr### [at] freefr - http://adrien.beau@free.fr


Post a reply to this message

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