Re: performance problems double buffering to 1600x1200 window



Pixmap allocation it is.  If I allocate and free the pixmap with each expose event, I get the same slow performance as when I use the built in GDK buffering.

So I guess the lesson is: If you have a large window, and you know you are going to be changing the entire contents of the window, then it is better to handle the buffering yourself.



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]