On Jan 10, 2008 4:26 PM, Tapani Pälli <[EMAIL PROTECTED]> wrote: > Hello; > > ext Bin Chen wrote: > > Hello, > > > > I am running GTK+ in a singal machine, the machine is slow so I want > > make GTK+ use XSHM extension to accelerate the drawing speed. > > > > By taking a look at both GTK+ source code and the MIT-SHM paper, my > > conclusion is : > > > > 1) The XSHM can only support XImage and Pixmap. > > > It is supporting the creation of XImage structure in shared memory and > 'transferring' it to X-server to be used as a pixmap. > > > 2) The GTK+ engine update the image using XCopyArea, so its impossible > > to accelerate the entire process. > > > > I am thinking a case, we do all the rendering process in GTK+ > > side(such as use pango to render text, use other library to render > > image), the transfer the rendered image to XServer using XSHM, then > > draw this Image to the window. > > > > > > SHM extension is made to 'accelerate' data transfer between X client and > server when they reside on same machine. When data is on server end, it > can be used and manipulated via Xlib commands such as XCopyArea and the > operation is done on server side. Operation performance depends on the > X-server driver implementation. > > > Will this work? > > > > Your usecase is valid, but are you facing some performance issues with > current implementation? Have you profiled where the time is actually > spent? You might want to create these buffers (images) beforehand and > then transfer them to server. See also XRender API for rendering and > manipulating buffers on server-side. > I am not doing very detailed profiling against this, but by comparing the frame rate in my player against using pure framebuffer implementation. The performance difference is large. If not using shared memory to transfer the decoded image data, obviously the performance can't be good in slow machine.
The GTK+ can draw pixbuf and image to the drawable, is there any existing method for me to choose to force the low level gdk to use SHM extension? Thanks. Bin _______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list