John,

Using your method (g_timer in the expose callback), I get:

64 fps with the GDK buffer
287 fps with the internal buffer

If I insert the wall clock timer that I had before into the expose event, I
get the same 12:50 FPS difference.

Either way, for some reason I see about a 1 to 5 difference. On the two
machines you tried, you don't see any notable difference.

This machine uses Nvidia FX5200 with the 173 driver, X11R7.4, gtk 2.18.3.

I get the same results with Metacity used in place of Compiz.

When I go back to work on Monday, I will experiment with some other machines
to see what sort of results I get.

Bob


On Wed, Jan 27, 2010 at 9:12 PM, Robert Gibbs <[email protected]> wrote:

> I am running into a severe performance degradation when using the built in
> GtkDrawingArea double buffering to a 1600x1200 window.  The program sets a
> default priority idle handler which calls gtk_widget_queue_draw.  The expose
> event originally would draw about 1000 polygons, but I commented out the
> drawing portion and still saw the same poor performance.  The best
> performance I can get is about 10 frames per second.
>
> If call GTK_WIDGET_UNSET_FLAGS (drawing_area, GTK_DOUBLE_BUFFERED), then
> use my own pixmap for double buffering, the performance goes up to 50 frames
> per second.
>
> Can anyone tell me why the built-in double buffering would yield such poor
> performance?
>
>
>
_______________________________________________
gtk-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/gtk-list

Reply via email to