Hi, Neil Thanks a lot for your information, and in fact I am looking the source code of mutter, and entering clutter from it.
I got a strange problem that when I run mutter(using the default/moblin-netbook/gnome-shell plugins) on my netbook with an ATI graphical card, it will become very very slow. I use the official close driver because the open source driver still could not support the 5* series ATI card. It's so strange that another 3D window manager compiz run very smoothly. And then I start find the reason, after searching and printing some logs in clutter/mutter, I found that the functions _gl_bind_tex_image in the clutter/glx/clutter-glx-texture-pixmap.c will need long time to finish. And after set computing timer function I found that _gl_bind_tex_image will take more that 1 second at most time, and also take less than 60 nanoseconds sometimes. I am confused, why it could take so much time and it is so huge difference. Could you give me some hints about it, and could I do some tests to confirm the root cause? or could you tell me something about glXBindTexImageExt? -- Best Regards, At 2010-09-16 17:51:00,"Neil Roberts" <[email protected]> wrote: >Hi > >danny <[email protected]> wrote: > >> I found that if I run a plain program based clutter, it will not use >> any functions in clutter/glx/clutter-glx-texture-pixmap.c, such as >> clutter_glx_texture_pixmap_update_area(). >> >> So I want to know that which situation these functions will be called, >> and dose the clutter_glx_texture_pixmap_* series functions needs some >> GL/GLX extension? I saw one like GLX_EXT_texture_from_pixmap. > >The clutter_glx_texture_pixmap_* functions are public API. Nothing >internally in Clutter will use them unless your application explicitly >calls those functions. > >The functions are used to efficiently wrap an X11 window or pixmap as a >ClutterTexture which for example would be useful in a compositor. You >may want to take a look at at the source code for Mutter for an example >of how to use it. > >ClutterGLXTexturePixmap will use the GLX_EXT_texture_from_pixmap >extension if it is available but it can fall back to a slow path using >XGetImage with shared memory if not. > >ClutterX11TexturePixmap is an equivalent class which never tries to use >the GLX extension but instead always uses the fallback path. This is >useful for example when writing an app for EGL where GLX is not being >used. However, note that in Clutter 1.4 ClutterGLXTexturePixmap is >effectively deprecated and both classes are now equivalent (so either >class will use the GLX extension if it's available and there's no need >to write your code differently to support a fallback on EGL). > >Regards, >- Neil
_______________________________________________ clutter-app-devel-list mailing list [email protected] http://lists.clutter-project.org/listinfo/clutter-app-devel-list
