Bug 39874

Summary: [Qt] Make tiled backing store more configurable
Product: WebKit Reporter: Antti Koivisto <koivisto>
Component: New BugsAssignee: Nobody <webkit-unassigned>
Status: CLOSED FIXED    
Severity: Normal CC: abarth, eric, hausmann, kenneth, ostap73, webkit.review.bot
Priority: P3 Keywords: Qt
Version: 528+ (Nightly build)   
Hardware: PC   
OS: OS X 10.5   
Bug Depends on:    
Bug Blocks: 35784    
Attachments:
Description Flags
trivial webcore patch and qt api using dynamic properties kenneth: review+

Description Antti Koivisto 2010-05-28 06:09:37 PDT
Make tile size, tile creation delay and tiling area dynamically configurable.
Comment 1 Antti Koivisto 2010-05-28 06:13:38 PDT
Created attachment 57321 [details]
trivial webcore patch and qt api using dynamic properties
Comment 2 WebKit Review Bot 2010-05-28 06:16:41 PDT
Attachment 57321 [details] did not pass style-queue:

Failed to run "['WebKitTools/Scripts/check-webkit-style', '--no-squash']" exit_code: 1
WARNING: File exempt from style guide. Skipping: "WebKit/qt/Api/qwebpage.cpp"
WebCore/platform/graphics/TiledBackingStore.h:62:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 1 in 5 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 3 Viatcheslav Ostapenko 2010-05-28 06:23:33 PDT
Cool!
I like it! I need it!
Comment 4 Antti Koivisto 2010-05-28 06:29:13 PDT
http://trac.webkit.org/changeset/60350
Comment 5 WebKit Review Bot 2010-05-28 06:35:36 PDT
http://trac.webkit.org/changeset/60350 might have broken Qt Linux Release minimal
Comment 6 Antti Koivisto 2010-05-28 06:58:55 PDT
..and http://trac.webkit.org/changeset/60352
Comment 7 Simon Hausmann 2010-05-29 14:39:38 PDT
<cherry-pick-for-backport: r60350>
Comment 8 Simon Hausmann 2010-05-29 14:40:10 PDT
<cherry-pick-for-backport: r60352>
Comment 9 Simon Hausmann 2010-05-29 14:45:59 PDT
Revision r60350 cherry-picked into qtwebkit-2.0 with commit a65262d9e153242fcbe8b95a69d6b260abcf0eed
Revision r60352 cherry-picked into qtwebkit-2.0 with commit b9be716cfede8047581969927fc49736fddf4414
Comment 10 Antti Koivisto 2010-06-14 00:39:13 PDT
To configure the backing store, do something along the lines of

webView->page()->setProperty("_q_TiledBackingStoreTileSize", QSize(256, 256));
webView->page()->setProperty("_q_TiledBackingStoreTileCreationDelay", 25);
webView->page()->setProperty("_q_TiledBackingStoreCoverAreaMultiplier", QSizeF(1.5, 1.5));
webView->page()->setProperty("_q_TiledBackingStoreKeepAreaMultiplier", QSizeF(2., 2.5));

for a page. 

The settings above would set tile size to (256, 256) and add 25ms delay between constructing individual tiles. The settings would try to cache an area 1.5x width and 1.5x height of the current viewport (centered to the viewport) with tiles and would drop tiles after they are outside an area 2x the width and 2.5x the height of the viewport.
Comment 11 Kenneth Rohde Christiansen 2010-06-14 06:35:07 PDT
should we document our private api on the wiki?