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

Daniel P. Berrange wrote:
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.

You rock! Let's do this. Even if it's slower than OpenGL, it's so much nicer.


Anthony Liguori


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