[Webkit-unassigned] [Bug 70213] New: [GTK] Switch to a backing store approach for painting WebKitWebView
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Sun Oct 16 19:34:11 PDT 2011
https://bugs.webkit.org/show_bug.cgi?id=70213
Summary: [GTK] Switch to a backing store approach for painting
WebKitWebView
Product: WebKit
Version: 528+ (Nightly build)
Platform: Unspecified
OS/Version: Unspecified
Status: NEW
Severity: Normal
Priority: P2
Component: WebKit Gtk
AssignedTo: webkit-unassigned at lists.webkit.org
ReportedBy: mrobinson at webkit.org
CC: xan.lopez at gmail.com, gns at gnome.org, cgarcia at igalia.com
The way that the WebKit1 WebKitWebView operates now is that a draw (expose) event can trigger a relayout. This is bad for several reasons:
1. If an animation is happening, it can cause a relayout during expose. This leads to more layouts than necessary and slower framerates.
2. If plugins move during the relayout, we will call gtk_widget_size_allocate during expose events. This shouldn't happen.
My approach is to add a backing store to the widget itself. We only draw into the backing store when WebCore tells us the contents of the backing store are invalid. This is roughly the approach that WebKit2 takes. This comes with many benefits:
1. Fixed position objects don't jump around while scrolling. This happens on boingboing currently if you scroll down far enough for the right column to become fixed.
2. Scrolling is faster since we no longer have a need to call gdk_window_process_updates during every single scroll. This fixes lag on the twitter stream and the facebook timeline information page.
3. We have greater contorl over what happens during resizing. This code improves opaque resize performance greatly. This is important in Gnome Shell.
4. We can easily switch to the image backend if we want to with only a tiny code changes in WebKit.
--
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