Summary: | [Qt] Preparation for tiling support | ||
---|---|---|---|
Product: | WebKit | Reporter: | Kenneth Rohde Christiansen <kenneth> |
Component: | WebKit Qt | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED DUPLICATE | ||
Severity: | Normal | CC: | benjamin, commit-queue, girish, hausmann, joseph.ligman, koivisto, laszlo.gombos, luiz, skyul, tonikitoo, webkit.review.bot, xhiloh |
Priority: | P3 | Keywords: | Qt |
Version: | 528+ (Nightly build) | ||
Hardware: | PC | ||
OS: | All | ||
Bug Depends on: | |||
Bug Blocks: | 31552 | ||
Attachments: |
Description
Kenneth Rohde Christiansen
2009-12-03 09:38:05 PST
Created attachment 44249 [details]
Split out the renderPrivate method to two, one for absolute coords, and one relative to the viewport
style-queue ran check-webkit-style on attachment 44249 [details] without any errors.
Created attachment 44251 [details]
Receive invalidate events for areas changed outside the viewport, if ScrollView::setPaintsEntireContents is true
style-queue ran check-webkit-style on attachment 44251 [details] without any errors.
Created attachment 44253 [details]
Add tiling to QGraphicsWebView
Comment on attachment 44251 [details]
Receive invalidate events for areas changed outside the viewport, if ScrollView::setPaintsEntireContents is true
We might want to do this at the frame level instead, removing r?
Benjamin did a simple test (can you upload it Benjamin?) that automatically scrolls on offline webpages. Here are the preliminary results: QWebView (not tiles, xcopyregion): RESULT : Test::benchWebView():"simplest painting": 2.1 msec per iteration (total: 35, iterations: 16) RESULT : Test::benchWebView():"slashdot page": 16 msec per iteration (total: 33, iterations: 2) RESULT : Test::benchWebView():"amazon book page": 12 msec per iteration (total: 24, iterations: 2) RESULT : Test::benchWebView():"wikipedia Qt page": 12 msec per iteration (total: 24, iterations: 2) QGraphicsWebView (no tiling, should fall back to x copy region as it uses GraphicsView infrastructure for scrolling): RESULT : Test::benchGraphicsWebView():"simplest painting": 8.8 msec per iteration (total: 71, iterations: 8) RESULT : Test::benchGraphicsWebView():"slashdot page": 100 msec per iteration (total: 100, iterations: 1) RESULT : Test::benchGraphicsWebView():"amazon book page": 88 msec per iteration (total: 88, iterations: 1) RESULT : Test::benchGraphicsWebView():"wikipedia Qt page": 137 msec per iteration (total: 137, iterations: 1) QGraphicsWebView (with my above tiling patch): RESULT : Test::benchGraphicsWebView():"simplest painting": 2.6 msec per iteration (total: 42, iterations: 16) RESULT : Test::benchGraphicsWebView():"slashdot page": 1.2 msec per iteration (total: 41, iterations: 32) RESULT : Test::benchGraphicsWebView():"amazon book page": 0.71 msec per iteration (total: 23, iterations: 32) RESULT : Test::benchGraphicsWebView():"wikipedia Qt page": 0.84 msec per iteration (total: 27, iterations: 32) Looks good, r=me Comment on attachment 44249 [details] Split out the renderPrivate method to two, one for absolute coords, and one relative to the viewport Clearing flags on attachment: 44249 Committed r51698: <http://trac.webkit.org/changeset/51698> All reviewed patches have been landed. Closing bug. Reopening, as the bug report has uncommitted patches who are not yet up for review. Created attachment 44395 [details]
Basic benchmark for the scrolling support
Basic benchmark used for testing the tiling support on real use cases.
A proper benchmark needs to be created for the integration in the source.
Created attachment 44396 [details]
Offscreen rendering of the mainframe at the QWebFrame level
This patch render the frame offscreen on a pixmap and always paint the pixmap in paint event.
The advantage of storing the pixmap at the frame level are:
- improve the speed of graphics web view && qweb view
- we can avoid completely GraphicsContext in some cases
- we can have support for multi-frame
This is preliminary work, not meant to be integrated. It does not yet integrate the work of Kenneth
Created attachment 44870 [details]
Slides from a presentation about the work
The work for this is going on here: http://gitorious.org/~akoivisto/webkit/anttis-webkit/commits/tile-cache Work is now proceeding in 35146 as far as I can see. *** This bug has been marked as a duplicate of bug 35146 *** |