Bug 48624

Summary: [Qt] GraphicsLayer: Don't notifySyncRequired() more than necessary
Product: WebKit Reporter: Andreas Kling <kling>
Component: Layout and RenderingAssignee: QtWebKit Unassigned <webkit-qt-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: ariya.hidayat, noam
Priority: P2 Keywords: Performance, Qt, QtTriaged
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Attachments:
Description Flags
Proposed patch none

Description Andreas Kling 2010-10-29 04:29:05 PDT
If there's already a notifySyncRequired() queued, we should only update the ChangeMask.

We currently queue a call (using QMetaMethod::invoke) every time notifyChange() is called. This is expensive, and also makes GraphicsLayerQt expensive to destroy (since all posted method invocation events have to be ripped out of the event queue.)
Comment 1 Andreas Kling 2010-10-29 04:37:14 PDT
Created attachment 72314 [details]
Proposed patch

4% speedup on <http://ariya.github.com/clock.htm>
Comment 2 Andreas Kling 2010-10-29 06:39:43 PDT
Committed r70868: <http://trac.webkit.org/changeset/70868>