Bug 48624 - [Qt] GraphicsLayer: Don't notifySyncRequired() more than necessary
Summary: [Qt] GraphicsLayer: Don't notifySyncRequired() more than necessary
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: QtWebKit Unassigned
URL:
Keywords: Performance, Qt, QtTriaged
Depends on:
Blocks:
 
Reported: 2010-10-29 04:29 PDT by Andreas Kling
Modified: 2010-10-29 06:39 PDT (History)
2 users (show)

See Also:


Attachments
Proposed patch (2.43 KB, patch)
2010-10-29 04:37 PDT, Andreas Kling
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
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>