RESOLVED DUPLICATE of bug 35146 32122
[Qt] Preparation for tiling support
https://bugs.webkit.org/show_bug.cgi?id=32122
Summary [Qt] Preparation for tiling support
Kenneth Rohde Christiansen
Reported 2009-12-03 09:38:05 PST
Tiling has the ability to improve the scrolling performance and experience for the two Qt web views. We will use this bug to track and discuss this work.
Attachments
Split out the renderPrivate method to two, one for absolute coords, and one relative to the viewport (7.80 KB, patch)
2009-12-03 09:39 PST, Kenneth Rohde Christiansen
no flags
Receive invalidate events for areas changed outside the viewport, if ScrollView::setPaintsEntireContents is true (4.77 KB, patch)
2009-12-03 09:47 PST, Kenneth Rohde Christiansen
no flags
Add tiling to QGraphicsWebView (14.97 KB, patch)
2009-12-03 10:00 PST, Kenneth Rohde Christiansen
no flags
Basic benchmark for the scrolling support (2.27 MB, application/octet-stream)
2009-12-07 03:07 PST, Benjamin Poulain
no flags
Offscreen rendering of the mainframe at the QWebFrame level (9.64 KB, patch)
2009-12-07 03:12 PST, Benjamin Poulain
no flags
Slides from a presentation about the work (328.78 KB, application/pdf)
2009-12-15 05:47 PST, Kenneth Rohde Christiansen
no flags
Kenneth Rohde Christiansen
Comment 1 2009-12-03 09:39:33 PST
Created attachment 44249 [details] Split out the renderPrivate method to two, one for absolute coords, and one relative to the viewport
WebKit Review Bot
Comment 2 2009-12-03 09:39:55 PST
style-queue ran check-webkit-style on attachment 44249 [details] without any errors.
Kenneth Rohde Christiansen
Comment 3 2009-12-03 09:47:35 PST
Created attachment 44251 [details] Receive invalidate events for areas changed outside the viewport, if ScrollView::setPaintsEntireContents is true
WebKit Review Bot
Comment 4 2009-12-03 09:50:33 PST
style-queue ran check-webkit-style on attachment 44251 [details] without any errors.
Kenneth Rohde Christiansen
Comment 5 2009-12-03 10:00:10 PST
Created attachment 44253 [details] Add tiling to QGraphicsWebView
Kenneth Rohde Christiansen
Comment 6 2009-12-03 10:04:04 PST
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?
Kenneth Rohde Christiansen
Comment 7 2009-12-03 10:11:17 PST
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)
Antti Koivisto
Comment 8 2009-12-04 07:42:09 PST
Looks good, r=me
WebKit Commit Bot
Comment 9 2009-12-04 09:43:38 PST
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>
WebKit Commit Bot
Comment 10 2009-12-04 09:43:45 PST
All reviewed patches have been landed. Closing bug.
Kenneth Rohde Christiansen
Comment 11 2009-12-04 09:46:45 PST
Reopening, as the bug report has uncommitted patches who are not yet up for review.
Benjamin Poulain
Comment 12 2009-12-07 03:07:49 PST
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.
Benjamin Poulain
Comment 13 2009-12-07 03:12:29 PST
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
Kenneth Rohde Christiansen
Comment 14 2009-12-15 05:47:11 PST
Created attachment 44870 [details] Slides from a presentation about the work
Antti Koivisto
Comment 15 2009-12-16 06:33:44 PST
Simon Hausmann
Comment 16 2010-03-08 08:15:18 PST
Work is now proceeding in 35146 as far as I can see. *** This bug has been marked as a duplicate of bug 35146 ***
Note You need to log in before you can comment on or make changes to this bug.