Double-buffer automático Dentro de las entrañas de GTK+ case GDK_EXPOSE: if (GTK_WIDGET_DOUBLE_BUFFERED (widget)) { gdk_window_begin_paint_region (event->window, event->region); gtk_widget_send_expose (widget, event); gdk_window_end_paint (event->window); } else gtk_widget_send_expose (widget, event); break; Se crea un buffer temporal automáticamente gdk_window_begin_paint_region() crea un pixmap temporal y lo limpia por nosotros gdk_window_end_paint() pinta el pixmap a la ventana y lo destruye