Linux with XFree86 4.x (pre) and DRI!!!
Dieter Nützel
nuetzel at kogs1.informatik.uni-hamburg.de
Fri Nov 26 08:08:50 EST 1999
Hello,
please let me introduce my 'first benchmarks" on AMD Athlon 500 with the
'new' XFree86 4.x (currently 3.9.16 snapshot) and Direct Rendering
Infrastructure (DRI), Precision Insight Inc.
http://www.precisioninsight.com/ and Voodoo3 3000 AGP.
The first technical demonstration implementation was done for 3DLabs
GMX2000 and was shown on SIGGRAPH '99.
Now, the first prerelease for the 3dfx Banshee/Voodoo3 is out and can be
greped here: http://www.3dfxgamers.com/view.asp?IOID=1024
Yes, for the time being only 16 bit z-buffer and 16 bpp color depth is
supported due to hardware limitations, but this would be solved in the
first quarter of 2000 with Voodoo4/5 family (Voodoo5 6000 AGP: max.
1.32~1.47 Gigapixels/sec!).
http://www.3dfx.com/
System was:
AMD Athlon 500
MSI MS-6167 Rev. 1.0B mobo with AMD Irongate Rev. C4
256 MB PC100 SDRAM, 8 ns
Voodoo3 3000 AGP
Adaptec AHA-2940UW
IBM DDRS-34560UW
Linux 2.2.14pre6
Glibc-2.1.2
pgcc-2.95.2
VTK nightly taken on 24.11.1999
VTK Simple Sphere Benchmark 2.0
- Robert Riviere (results)
Robert.Riviere at sophia.inria.fr
www.inria.fr/caiman/personnel/Robert.Riviere/vtk/sphere-bench.html
- Sebastien Barre (script)
Sebastien.Barre at utc.fr
www.hds.utc.fr/~barre/vtk/sphere-bench.html
Find the best sphere resolutions for your card, launch *bench
combinations* and send us your results (copy the session with <Control
/>) along with a complete description of your system (VTK/OS version,
hardware description).
System :
- i686 running Linux 2.2.14pre6
- Tcl/Tk 8.0.5
- Mesa (visual is truecolor/truecolor/16)
Defaults :
WARNING : $active_camera GetClippingRange was 2.44347 4.52015 , should
be 0.348564 17.4282
- VTK : wrong, please report us your values...
- Rotation limit, increment, number : (300 by 30) x 3
- Sphere opacity (if transparency activated) : 0.3
- Sphere radius and small radius (if small_sphere activated) : 0.8,
0.5
- Combinations : [small_sphere] [] [stripper] [transparency]
[wireframe] [texture] [texture, transparency]
NOTE : the 512x512 and above sphere resolutions are *really* high, use
them carefully, as it might hang your system for a while.
IMPORTANT : move the camera a little to interact with the sphere before
playing with this bench...
------- BENCH COMBINATIONS -------
Benching for sphere resolutions : 32, 64, 128, 256
Setting(s) : window is 400 x 400, sphere radius is 0.5
Option(s) : [small_sphere]
32x32 : 223.9 kpolys/s
64x64 : 287.4 kpolys/s
128x128 : 302.9 kpolys/s
256x256 : 309.3 kpolys/s
Benching for sphere resolutions : 32, 64, 128, 256
Setting(s) : window is 400 x 400, sphere radius is 0.8
32x32 : 241.1 kpolys/s
64x64 : 287.9 kpolys/s
128x128 : 305.3 kpolys/s
256x256 : 309.3 kpolys/s
Benching for sphere resolutions : 32, 64, 128, 256
Setting(s) : window is 400 x 400, sphere radius is 0.8
Option(s) : [stripper]
32x32 : 318.4 kpolys/s
64x64 : 412.1 kpolys/s
128x128 : 442.4 kpolys/s
256x256 : 459.2 kpolys/s
Benching for sphere resolutions : 32, 64, 128, 256
Setting(s) : window is 400 x 400, sphere radius is 0.8
Option(s) : [transparency]
32x32 : 240.9 kpolys/s
64x64 : 287.9 kpolys/s
128x128 : 305.3 kpolys/s
256x256 : 308.9 kpolys/s
Benching for sphere resolutions : 32, 64, 128, 256
Setting(s) : window is 400 x 400, sphere radius is 0.8
Option(s) : [wireframe]
32x32 : 120.9 kpolys/s
64x64 : 130.4 kpolys/s
128x128 : 135.1 kpolys/s
256x256 : 136.1 kpolys/s
Benching for sphere resolutions : 32, 64, 128, 256
Setting(s) : window is 400 x 400, sphere radius is 0.8
Option(s) : [texture]
32x32 : 217.5 kpolys/s
64x64 : 253.1 kpolys/s
128x128 : 273.7 kpolys/s
256x256 : 279.3 kpolys/s
Benching for sphere resolutions : 32, 64, 128, 256
Setting(s) : window is 400 x 400, sphere radius is 0.8
Option(s) : [texture, transparency]
32x32 : 218.0 kpolys/s
64x64 : 259.2 kpolys/s
128x128 : 274.0 kpolys/s
256x256 : 279.0 kpolys/s
Best results, summary :
- i686 running Linux 2.2.14pre6
- Tcl/Tk 8.0.5
- Mesa (visual is truecolor/truecolor/16)
- window was 400 x 400
1) 256x256 : 459.2 kpolys/s : [stripper]
2) 256x256 : 309.3 kpolys/s : []
3) 256x256 : 309.3 kpolys/s : [small_sphere]
4) 256x256 : 308.9 kpolys/s : [transparency]
5) 256x256 : 279.3 kpolys/s : [texture]
6) 256x256 : 279.0 kpolys/s : [texture, transparency]
7) 256x256 : 136.1 kpolys/s : [wireframe]
------- DONE (in 192 sec.) -------
*******************************************************************************
------- BENCH COMBINATIONS -------
Benching for sphere resolutions : 512
Setting(s) : window is 400 x 400, sphere radius is 0.5
Option(s) : [small_sphere]
512x512 : 310.5 kpolys/s
Benching for sphere resolutions : 512
Setting(s) : window is 400 x 400, sphere radius is 0.8
512x512 : 311.0 kpolys/s
Benching for sphere resolutions : 512
Setting(s) : window is 400 x 400, sphere radius is 0.8
Option(s) : [stripper]
512x512 : 513.0 kpolys/s
Benching for sphere resolutions : 512
Setting(s) : window is 400 x 400, sphere radius is 0.8
Option(s) : [transparency]
512x512 : 311.1 kpolys/s
Benching for sphere resolutions : 512
Setting(s) : window is 400 x 400, sphere radius is 0.8
Option(s) : [wireframe]
512x512 : 136.2 kpolys/s
Benching for sphere resolutions : 512
Setting(s) : window is 400 x 400, sphere radius is 0.8
Option(s) : [texture]
512x512 : 280.2 kpolys/s
Benching for sphere resolutions : 512
Setting(s) : window is 400 x 400, sphere radius is 0.8
Option(s) : [texture, transparency]
512x512 : 280.1 kpolys/s
Best results, summary :
- i686 running Linux 2.2.14pre6
- Tcl/Tk 8.0.5
- Mesa (visual is truecolor/truecolor/16)
- window was 400 x 400
1) 512x512 : 513.0 kpolys/s : [stripper]
2) 512x512 : 311.1 kpolys/s : [transparency]
3) 512x512 : 311.0 kpolys/s : []
4) 512x512 : 310.5 kpolys/s : [small_sphere]
5) 512x512 : 280.2 kpolys/s : [texture]
6) 512x512 : 280.1 kpolys/s : [texture, transparency]
7) 512x512 : 136.2 kpolys/s : [wireframe]
------- DONE (in 572 sec.) -------
*******************************************************************************
Memory footprint during/after the 512x512 test:
5:22am up 7:35, 0 users, load average: 0.03, 0.05, 0.01
72 processes: 71 sleeping, 1 running, 0 zombie, 0 stopped
CPU states: 0.5% user, 0.9% system, 0.0% nice, 98.4% idle
Mem: 258092K av, 254968K used, 3124K free, 17464K shrd, 5240K buff
Swap: 200772K av, 39560K used, 161212K free 19424K
cached
PID USER PRI NI SIZE RSS SHARE STAT LIB %CPU %MEM TIME
COMMAND
787 nuetzel 15 15 263M 257M 2796 S N 0 0.0 102.1 12:40 vtk
256 root 15 0 57036 51M 1688 S 0 0.5 20.5 2:35 X
1069 nuetzel 13 0 7640 7640 4052 S 0 0.0 2.9 0:05
xemacs
283 root 0 0 2084 1264 952 S 0 0.0 0.4 0:02
kpanel
258 root 0 0 2148 1240 892 S 0 0.0 0.4 0:08 kwm
361 root 0 0 2304 1240 760 S 0 0.0 0.4 0:09
kpager
363 root 0 0 2244 1136 692 S 0 0.0 0.4 0:01
konsole
1070 nuetzel 18 0 1032 1032 828 R 0 0.7 0.3 0:00 top
359 root 3 0 1752 832 400 S 0 0.1 0.3 0:55
xperfmon++
452 nuetzel 10 0 940 712 428 S 0 0.0 0.2 0:00 tcsh
[snip]
What does the above warning mean?
Could that be fixed? Mesa?
Second, with the new MesaCVS/3.2 and DRI I have to fix the below stuff.
c++ -O6 -mpentiumpro -march=pentiumpro -malign-double
-mstack-align-double -pipe -fomit-frame-pointer -funroll-loops -fPIC
-DVTK_USE_PTHREADS -D_HP_NO_FAST_MACROS -DHAVE_LIMITS_H -DHAVE_UNISTD_H
-I. -I. -I./../graphics -DVTK_USE_GRAPHICS -I./../imaging
-DVTK_USE_IMAGING
-I./../patented -DVTK_USE_PATENTED -I./../contrib -DVTK_USE_CONTRIB
-DVTK_USE_OGLR -I/usr/X11R6/include -I./../common -c
vtkOpenGLVolumeTextureMapper2D.cxx -o vtkOpenGLVolumeTextureMapper2D.o
vtkOpenGLVolumeTextureMapper2D.cxx: In method `void
vtkOpenGLVolumeTextureMapper2D::Render(vtkRenderer *, vtkVolume *)':
vtkOpenGLVolumeTextureMapper2D.cxx:127: conversion from `int' to `enum
GLenum'
vtkOpenGLVolumeTextureMapper2D.cxx:137: conversion from `int' to `enum
GLenum'
vtkOpenGLVolumeTextureMapper2D.cxx:159: conversion from `int' to `enum
GLenum'
make[1]: *** [vtkOpenGLVolumeTextureMapper2D.o] Error 1
make[1]: Leaving directory `/usr/local/vtk/vtk/graphics'
make: *** [build_graphics] Error 2
162.440u 4.750s 3:48.43 73.1% 0+0k 0+0io 45925pf+0w
SunWave1>diff graphics/vtkOpenGLVolumeTextureMapper2D.cxx
graphics/vtkOpenGLVolumeTextureMapper2D.cxx~
127c127
< glEnable((GLenum)(GL_CLIP_PLANE0+i));
---
> glEnable(GL_CLIP_PLANE0+i);
137c137
< glClipPlane((GLenum)(GL_CLIP_PLANE0+i),planeEquation);
---
> glClipPlane(GL_CLIP_PLANE0+i,planeEquation);
159c159
< glDisable((GLenum)(GL_CLIP_PLANE0+i));
---
> glDisable(GL_CLIP_PLANE0+i);
*******************************************************************************
This fix is needed for the 'new' Glibc-2.1.2 (since 2.1pre) system
library which can be found on most modern Linux distributions (RH
6.0/6.1, S.u.S.E. 6.2, Debian, Slackware...).
c++ -O6 -mpentiumpro -march=pentiumpro -malign-double
-mstack-align-double -pipe -fomit-frame-pointer -funroll-loops -fPIC
-DVTK_USE_PTHREADS -D_HP_NO_FAST_MACROS -DHAVE_LIMITS_H -DHAVE_UNISTD_H
-I. -I. -I./../graphics -DVTK_USE_GRAPHICS -I./../imaging
-DVTK_USE_IMAGING
-I./../patented -DVTK_USE_PATENTED -I./../contrib -DVTK_USE_CONTRIB
-DVTK_USE_OGLR -I/usr/X11R6/include -I./../../common -I./..
-I./../../patented -I./../../imaging -c Hanoi.cxx
-o Hanoi.o
Hanoi.cxx: In function `int main(int, char **)':
Hanoi.cxx:142: implicit declaration of function `int getopt(...)'
make: *** [Hanoi.o] Error 1
45.790u 1.740s 0:47.71 99.6% 0+0k 0+0io 13799pf+0w
SunWave1>diff Hanoi.cxx Hanoi.cxx~
26d25
< #include <getopt.h>
Maybe it should be something like:
#ifdef (__LINUX__ && __GLIBC__ >= 2.1)
#include <getopt.h>
#endif
(from memory:-)
*******************************************************************************
Third:
Have anyone of you some experience with VTK on Linux SMP?
How does it perform?
I will put my fingers on it as soon SMP mobos for the Athlon came out.
Regards and many thanks for your great VTK!
-Dieter
BTW
Please switch to a newer Linux distro on your testing machine.
I did/do some kernel device driver hacking for the above stuff.
--
Dieter Nützel
Graduate Student, Computer Science
University of Hamburg
Department of Computer Science
Cognitive Systems Group
Vogt-Kölln-Straße 30
D-22527 Hamburg, Germany
email: nuetzel at kogs.informatik.uni-hamburg.de
@home: dieter.nuetzel at myokay.net
-----------------------------------------------------------------------------
This is the private VTK discussion list. Please keep messages on-topic.
Check the FAQ at: <http://www.automatrix.com/cgi-bin/vtkfaq>
To UNSUBSCRIBE, send message body containing "unsubscribe vtkusers" to
<majordomo at gsao.med.ge.com>. For help, send message body containing
"info vtkusers" to the same address. Live long and prosper.
-----------------------------------------------------------------------------
More information about the vtkusers
mailing list