Bug 100702 - [chromium] Defer commits between page unload and first invalidation in threaded compositing mode
Summary: [chromium] Defer commits between page unload and first invalidation in thread...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: James Robinson
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-10-29 15:02 PDT by James Robinson
Modified: 2012-10-29 16:49 PDT (History)
5 users (show)

See Also:


Attachments
Patch (6.12 KB, patch)
2012-10-29 15:13 PDT, James Robinson
enne: review+
webkit.review.bot: commit-queue-
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description James Robinson 2012-10-29 15:02:30 PDT
[chromium] Defer commits between page unload and first invalidation in threaded compositing mode
Comment 1 James Robinson 2012-10-29 15:13:28 PDT
Created attachment 171320 [details]
Patch
Comment 2 James Robinson 2012-10-29 15:59:02 PDT
FYI - I'm still validating the performance + correctness.  Sadly this is not something we have great test coverage for.
Comment 3 James Robinson 2012-10-29 16:13:22 PDT
Seems to do the trick.  Perf #s from my linux box (where slower-than-average texture upload speeds are having a disproportionately bad impact on threaded mode perf), all average of 3 runs:

moz software: 6014
moz FCM: 6295 (4.7% slower than software)
moz FCM threaded unpatched: 7535 (25.3% slower than software)
moz FCM threaded with this patch: 6359 (5.7% slower than software)

intl1 software: 27035
intl1 FCM: 28458 (5.3% slower than software)
intl1 FCM threaded unpatched: 41045 (51.8% slower than software)
intl1 FCM threaded with this patch: 29382 (8.7% slower than software)
Comment 4 Adrienne Walker 2012-10-29 16:17:23 PDT
Comment on attachment 171320 [details]
Patch

R=me.  I wish we had better test coverage too, but this looks good to me.
Comment 5 WebKit Review Bot 2012-10-29 16:18:16 PDT
Comment on attachment 171320 [details]
Patch

Attachment 171320 [details] did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/14627302

New failing tests:
http/tests/inspector/appcache/appcache-iframe-manifests.html
http/tests/inspector/network/cached-resource-destroyed-too-big-discarded.html
http/tests/inspector/indexeddb/database-data.html
http/tests/inspector/network/har-content.html
http/tests/inspector/appcache/appcache-manifest-with-non-existing-file.html
http/tests/inspector/filesystem/delete-entry.html
http/tests/inspector/network/network-disable-cache-xhrs.html
http/tests/appcache/crash-when-navigating-away-then-back.html
http/tests/inspector-enabled/injected-script-discard.html
http/tests/inspector/network/network-initiator-from-console.html
http/tests/inspector/indexeddb/database-structure.html
http/tests/inspector/appcache/appcache-swap.html
http/tests/inspector/indexeddb/resources-panel.html
http/tests/inspector/filesystem/request-file-content.html
http/tests/inspector/network/network-cachedresources-with-same-urls.html
http/tests/inspector/network/async-xhr-json-mime-type.html
http/tests/inspector/network/network-disable-cache-memory.html
http/tests/inspector/network/network-iframe-load-and-delete.html
http/tests/inspector/filesystem/request-metadata.html
http/tests/inspector/filesystem/request-directory-content.html
http/tests/inspector/network/network-content-replacement-xhr.html
http/tests/inspector/network/network-image-404.html
http/tests/inspector/filesystem/directory-tree.html
http/tests/inspector/indexeddb/database-names.html
http/tests/inspector/network/network-disabling-check-no-memory-leak.html
http/tests/inspector/network/cached-resource-destroyed-moved-to-storage.html
http/tests/inspector/network/image-as-text-loading-data-url.html
http/tests/inspector/network/network-empty-xhr.html
http/tests/inspector/network/network-cyrillic-xhr.html
http/tests/inspector/filesystem/request-filesystem-root.html
Comment 6 James Robinson 2012-10-29 16:28:22 PDT
(In reply to comment #5)
> (From update of attachment 171320 [details])
> Attachment 171320 [details] did not pass chromium-ews (chromium-xvfb):
> Output: http://queues.webkit.org/results/14627302
> 
> New failing tests:
> http/tests/inspector/appcache/appcache-iframe-manifests.html
> http/tests/inspector/network/cached-resource-destroyed-too-big-discarded.html
> http/tests/inspector/indexeddb/database-data.html
> http/tests/inspector/network/har-content.html
> http/tests/inspector/appcache/appcache-manifest-with-non-existing-file.html
> http/tests/inspector/filesystem/delete-entry.html
> http/tests/inspector/network/network-disable-cache-xhrs.html
> http/tests/appcache/crash-when-navigating-away-then-back.html
> http/tests/inspector-enabled/injected-script-discard.html
> http/tests/inspector/network/network-initiator-from-console.html
> http/tests/inspector/indexeddb/database-structure.html
> http/tests/inspector/appcache/appcache-swap.html
> http/tests/inspector/indexeddb/resources-panel.html
> http/tests/inspector/filesystem/request-file-content.html
> http/tests/inspector/network/network-cachedresources-with-same-urls.html
> http/tests/inspector/network/async-xhr-json-mime-type.html
> http/tests/inspector/network/network-disable-cache-memory.html
> http/tests/inspector/network/network-iframe-load-and-delete.html
> http/tests/inspector/filesystem/request-metadata.html
> http/tests/inspector/filesystem/request-directory-content.html
> http/tests/inspector/network/network-content-replacement-xhr.html
> http/tests/inspector/network/network-image-404.html
> http/tests/inspector/filesystem/directory-tree.html
> http/tests/inspector/indexeddb/database-names.html
> http/tests/inspector/network/network-disabling-check-no-memory-leak.html
> http/tests/inspector/network/cached-resource-destroyed-moved-to-storage.html
> http/tests/inspector/network/image-as-text-loading-data-url.html
> http/tests/inspector/network/network-empty-xhr.html
> http/tests/inspector/network/network-cyrillic-xhr.html
> http/tests/inspector/filesystem/request-filesystem-root.html

Ran these locally and they passed, highly unlikely the failure is related.
Comment 7 James Robinson 2012-10-29 16:28:47 PDT
Comment on attachment 171320 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=171320&action=review

> Source/WebKit/chromium/src/WebViewImpl.cpp:3835
> +    if (m_layerTreeViewCommitsDeferred) {

oh snap, i'm not initializing this member variable. whoops
Comment 8 James Robinson 2012-10-29 16:49:10 PDT
Committed r132862: <http://trac.webkit.org/changeset/132862>