[gtk-vnc-devel] PATCH: 0/2: Replace gtkglext/opengl rendering with Cairo



As you'll know the current scaling code uses OpenGL/GtkGlExt, while this
works OK in terms of performance, there are unpleasant interactions if
you have a desktop using OpenGL. ie Compiz. Alot of people like to use
Compiz, and this means they're unable to take advantage of our scaling
code in GTK-VNC. To work properly requires X + the driver to support
redirected direct rendering / DRI2.

Speaking to some of the X developers I work with at Red Hat, it seems
while the Intel X driver will soon have this support (on by default for 
Fedora 10), the Radeon driver is a long way off, and the NVidia driver is
not even being thought about. One of our GTK developers then suggested
that I try using Cairo instead of OpenGL, because it can use the Render
extension to ensure that simple 2-d drawing operations will use hardware
acceleration without needing full OpenGL.

This patch series does just that. To make the patch easier to understand
I did it in two parts. First I removed the existing OpenGL/GtkGlExt code,
and then I added the cairo code. In my testing on a Fedora 9 host with the
open source radeon driver the performance when scaling with Cairo is
indistinguishable from that when non-scaled. So it appears to be working
as advertized.

Daniel
-- 
|: Red Hat, Engineering, London   -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org  -o-  http://virt-manager.org  -o-  http://ovirt.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-  F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]