Summary: | [Qt] Increase the drawing performance by merging dirty rects. | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Dongseong Hwang <dongseong.hwang> | ||||
Component: | Platform | Assignee: | Nobody <webkit-unassigned> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | CC: | mrobinson, noam, skyul, zoltan | ||||
Priority: | P2 | ||||||
Version: | 528+ (Nightly build) | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Bug Depends on: | |||||||
Bug Blocks: | 90375 | ||||||
Attachments: |
|
Description
Dongseong Hwang
2012-07-12 05:12:36 PDT
Created attachment 151917 [details]
Patch
When parallel image decoders are in use, each image is independently repainted when decoding is finished. This creates a lot by repaint requests. So by merging these repaint requests appropriately, we can improve rendering performance. (In reply to comment #3) > When parallel image decoders are in use, each image is independently repainted when decoding is finished. This creates a lot by repaint requests. So by merging these repaint requests appropriately, we can improve rendering performance. I tested parallel image decoders on http://www.dorothybrowser.com/test/webkitTest/imgdecode/Pinterest.html . QWebFramePrivate called FrameView::paintContents 165 times after parallel image decoders decoded all the images. It took about 120ms. This patch decreases painting time from 120ms to 30ms. Nice improvement! I'd also include the improvement numbers into the changelog, otherwise looks cool! Comment on attachment 151917 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=151917&action=review Awesome! > Source/WebKit/qt/Api/qwebframe.cpp:363 > + const unsigned int cRectThreshold = 10; > + const float cWastedSpaceThreshold = 0.75f; We can do without the c prefix. Committed r122507: <http://trac.webkit.org/changeset/122507> Thanks. I landed the patch after updating the ChangeLog and removing c prefix from constant names. |