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

Reply via email to