Re: performance problems double buffering to 1600x1200 window

Just want to report the results of running the included example.c benchmark on 7 different machines:

ATI w/open source driver - no speedup
Nvidia w/open source driver - no speedup
Old Nvidia FX5200 w/closed source driver - 5X speedup
New Nvidia w/closed source driver - 10X speedup

I did not try it with Intel graphics hardware.

Conclusion: self implemented GdkPixmap helps only when the X server can use certain optimizations from the graphics card.

On Wed, Jan 27, 2010 at 9:12 PM, Robert Gibbs <gibbsrc gmail com> 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?


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