[Webkit-unassigned] [Bug 84149] New: [GTK] Disable double buffering on WebKitWebView to fix flickering

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Apr 17 06:42:27 PDT 2012


https://bugs.webkit.org/show_bug.cgi?id=84149

           Summary: [GTK] Disable double buffering on WebKitWebView to fix
                    flickering
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: Unspecified
        OS/Version: Unspecified
            Status: UNCONFIRMED
          Severity: Normal
          Priority: P2
         Component: WebKit Gtk
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: carlosg at gnome.org


WebKitWebView disables GTK+ double buffering as it already has its own backing store, as worthwhile as it is, it unfortunately brings in other side effects in how non-double-buffered widgets are rendered, from the docs of gdk_window_flush():

  "For Gtk widgets that don't use double buffering this will be called automatically before sending the expose event"

This means that all drawing commands up to the WebKitWebView parent GdkWindow are flushed to the X server before rendering the view itself, this may translate into flickering of the parent window background. GTK+ unfortunately has no means to let WebKit claim ownership on the backing buffer, nor to hand a surface to act as the backing buffer for a widget, so this has to be enabled back so all contents are composited before getting to the front store.

I'm going to attach a patch to remove the gtk_widget_set_double_buffered() call from wk1, as for wk2 the flickering is reportedly non visible, but I think the same issue may lie there, just better hidden.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list