[PD] [Gem] performance issues on linux/ubuntu/fglrx

Roman Haefeli reduzierer at yahoo.de
Sun Oct 15 21:09:58 CEST 2006


hi all

i encountered an issue with gem-performance on linux, at least on my
ubuntu-system with fglrx-drivers. it seemed to me that when doing some
stuff with gem, it takes more cpu than one would expect according to the
measurements of fgl_glxgears. of course this is not a serious way of
doing a comparison. that is, why i made a (attached) patch, that does
exactly the same thing twice, on the left side using gem, on the right
side using 3dp. on my computer, the gem-side uses about 30%, which seems
a lot for such a simple patch, whereas with 3dp no additional cpu-load
is recognizable. also, i don't have any  performance problems with gem
on windows (the same patch uses 10x less cpu on windows than on ubuntu).

the specs:
ubuntu dapper
xorg 7.0.0 with fglrx-driver
pd-0.40.0 
gem: cvs-checkout from 2 months ago 

(i am not able to compile it right now:  

...
g++ -c -g -O2 -fPIC -freg-struct-return -O3 -falign-loops=16
-funroll-loops -ffast-math -mmmx  -I/usr/include/ffmpeg
-I/usr/include/lqt   -I/usr/include/lqt   -I/usr/include/avifile-0.7
-I/usr/include/freetype2   -I..  -I/usr/include/FTGL
-I/usr/include/freetype2  GemEvent.cpp -o GemEvent.o
/usr/local/include/GL/glext.h:3129: error: ‘uint’ has not been declared
/usr/local/include/GL/glext.h:3323: error: ‘boolean’ has not been
declared
/usr/local/include/GL/glext.h:3337: error: expected initializer before
‘extern’
make[1]: *** [GemBase.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory
`/home/roman/pd-cvs/gridflow-0.8.4/Gem/src/Base'
make: *** [Base] Error 2


)


i have no clue, if:
-it is an issue of gem
-it is an issue of fglrx (though it works fine with 3dp)
-i just should live with that.
-more info is needed to track this down.

any hints appreciated.

cheers 
roman


-------------- next part --------------
#N canvas 627 178 930 557 10;
#X obj 40 134 gemwin;
#X msg 62 104 0 \, destroy;
#X obj 42 183 gemhead;
#X obj 42 233 rotateXYZ;
#X obj 42 321 t a a a;
#X obj 86 343 separator;
#X obj 64 407 separator;
#X obj 42 470 separator;
#X obj 132 267 gemhead;
#X obj 132 312 world_light;
#X obj 132 289 rotateXYZ -45 -45 0;
#X obj 132 170 gemmouse;
#X obj 86 363 translateXYZ 0 0 -2;
#X obj 64 427 translateXYZ 0 2 0;
#X obj 42 490 translateXYZ 2 0 0;
#X obj 42 511 cube 0.6;
#X obj 65 447 cube 0.6;
#X obj 86 383 cube 0.6;
#X obj 523 150 3dp_windowcontext;
#X obj 672 124 metro 20;
#X obj 523 176 3dp_push;
#X obj 523 243 3dp_mouserotate;
#X obj 574 320 3dp_draw cube 1;
#X obj 657 216 3dp_view transxyz -4 3 4;
#X obj 523 268 3dp_push;
#X obj 523 346 3dp_push;
#X obj 523 423 3dp_push;
#X obj 574 294 3dp_view transx 2;
#X obj 574 372 3dp_view transy 2;
#X obj 574 449 3dp_view transz 2;
#X obj 574 398 3dp_draw cube 1;
#X obj 574 475 3dp_draw cube 1;
#X obj 523 504 3dp_draw dodeca 1;
#X obj 657 238 3dp_light;
#X msg 523 121 dim 640 480;
#X msg 617 122 close;
#X msg 40 74 dimen 640 480 \, lighting 1 \, create \, 1;
#X obj 40 23 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
;
#X obj 40 52 sel 1 0;
#X obj 92 208 spigot;
#X obj 144 208 spigot;
#X obj 523 54 t f f;
#X obj 523 87 sel 1 0;
#X obj 523 32 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X connect 1 0 0 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 4 0 7 0;
#X connect 4 1 6 0;
#X connect 4 2 5 0;
#X connect 5 0 12 0;
#X connect 6 0 13 0;
#X connect 7 0 14 0;
#X connect 8 0 10 0;
#X connect 10 0 9 0;
#X connect 11 0 40 0;
#X connect 11 1 39 0;
#X connect 11 2 40 1;
#X connect 11 2 39 1;
#X connect 12 0 17 0;
#X connect 13 0 16 0;
#X connect 14 0 15 0;
#X connect 18 0 20 0;
#X connect 18 1 21 1;
#X connect 19 0 18 0;
#X connect 20 0 21 0;
#X connect 20 1 23 0;
#X connect 21 0 24 0;
#X connect 23 0 33 0;
#X connect 24 0 25 0;
#X connect 24 1 27 0;
#X connect 25 0 26 0;
#X connect 25 1 28 0;
#X connect 26 0 32 0;
#X connect 26 1 29 0;
#X connect 27 0 22 0;
#X connect 28 0 30 0;
#X connect 29 0 31 0;
#X connect 34 0 18 0;
#X connect 35 0 18 0;
#X connect 36 0 0 0;
#X connect 37 0 38 0;
#X connect 38 0 36 0;
#X connect 38 1 1 0;
#X connect 39 0 3 1;
#X connect 40 0 3 2;
#X connect 41 0 42 0;
#X connect 41 1 19 0;
#X connect 42 0 34 0;
#X connect 42 1 35 0;
#X connect 43 0 41 0;


More information about the Pd-list mailing list