|
|
DescriptionSkip geometry mapping when source and destination spaces are equal
This patch skips geometry mapping when it would be a no-op which
avoids an expensive mapping through the identity matrix.
Performance test results:
appending-text: 7.5% improvement
paint-offset-changes: 8.2% improvement
Speeds up prePaint by ~14% on https://www.w3.org/TR/html5/single-page.html:
before: Last FrameView::prePaint is ~210ms
after: Last FrameView::prePaint is ~180ms
BUG=678597
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Review-Url: https://codereview.chromium.org/2621483002
Cr-Commit-Position: refs/heads/master@{#442186}
Committed: https://chromium.googlesource.com/chromium/src/+/4a496bb8248a82782841ecee92df37d3db00bb29
Patch Set 1 #
Messages
Total messages: 18 (11 generated)
Description was changed from ========== Skip geometry mapping when source and destination spaces are equal This patch skips geometry mapping when it would be a no-op which avoids an expensive mapping through the identity matrix. Performance test results: appending-text: 7.5% improvement paint-offset-changes: 8.2% improvement Speeds up prePaint by ~14% on https://www.w3.org/TR/html5/single-page.html: before: Last FrameView::prePaint is ~210ms after: Last FrameView::prePaint is ~180ms ========== to ========== Skip geometry mapping when source and destination spaces are equal This patch skips geometry mapping when it would be a no-op which avoids an expensive mapping through the identity matrix. Performance test results: appending-text: 7.5% improvement paint-offset-changes: 8.2% improvement Speeds up prePaint by ~14% on https://www.w3.org/TR/html5/single-page.html: before: Last FrameView::prePaint is ~210ms after: Last FrameView::prePaint is ~180ms CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 ==========
Description was changed from ========== Skip geometry mapping when source and destination spaces are equal This patch skips geometry mapping when it would be a no-op which avoids an expensive mapping through the identity matrix. Performance test results: appending-text: 7.5% improvement paint-offset-changes: 8.2% improvement Speeds up prePaint by ~14% on https://www.w3.org/TR/html5/single-page.html: before: Last FrameView::prePaint is ~210ms after: Last FrameView::prePaint is ~180ms CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 ========== to ========== Skip geometry mapping when source and destination spaces are equal This patch skips geometry mapping when it would be a no-op which avoids an expensive mapping through the identity matrix. Performance test results: appending-text: 7.5% improvement paint-offset-changes: 8.2% improvement Speeds up prePaint by ~14% on https://www.w3.org/TR/html5/single-page.html: before: Last FrameView::prePaint is ~210ms after: Last FrameView::prePaint is ~180ms CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 ==========
The CQ bit was checked by pdr@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
pdr@chromium.org changed reviewers: + chrishtr@chromium.org, xianzhanzhu@chromium.org
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
This CL isn't in my incoming review list. Found it when searching your another CL. lgtm. I also tried a similar change locally (just uploaded as https://codereview.chromium.org/2619163002) for crbug.com/678597, but the result was not as good as yours. On Linux the result was not stable. On Android, the result was stabler, but not as good as expected (paint-offset-changes.html): non-spinvalidation: 310ms, original spinvalidation: 410ms, spinvalidation with the CL: 390ms. Let's land this to see what will happen on bots.
The CQ bit was checked by wangxianzhu@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Description was changed from ========== Skip geometry mapping when source and destination spaces are equal This patch skips geometry mapping when it would be a no-op which avoids an expensive mapping through the identity matrix. Performance test results: appending-text: 7.5% improvement paint-offset-changes: 8.2% improvement Speeds up prePaint by ~14% on https://www.w3.org/TR/html5/single-page.html: before: Last FrameView::prePaint is ~210ms after: Last FrameView::prePaint is ~180ms CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 ========== to ========== Skip geometry mapping when source and destination spaces are equal This patch skips geometry mapping when it would be a no-op which avoids an expensive mapping through the identity matrix. Performance test results: appending-text: 7.5% improvement paint-offset-changes: 8.2% improvement Speeds up prePaint by ~14% on https://www.w3.org/TR/html5/single-page.html: before: Last FrameView::prePaint is ~210ms after: Last FrameView::prePaint is ~180ms BUG=678597 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 ==========
CQ is committing da patch. Bot data: {"patchset_id": 1, "attempt_start_ts": 1483920013997360, "parent_rev": "ac83e63737f7e2cfc0cc382a3c9f03bafeabf526", "commit_rev": "4a496bb8248a82782841ecee92df37d3db00bb29"}
Message was sent while issue was closed.
Description was changed from ========== Skip geometry mapping when source and destination spaces are equal This patch skips geometry mapping when it would be a no-op which avoids an expensive mapping through the identity matrix. Performance test results: appending-text: 7.5% improvement paint-offset-changes: 8.2% improvement Speeds up prePaint by ~14% on https://www.w3.org/TR/html5/single-page.html: before: Last FrameView::prePaint is ~210ms after: Last FrameView::prePaint is ~180ms BUG=678597 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 ========== to ========== Skip geometry mapping when source and destination spaces are equal This patch skips geometry mapping when it would be a no-op which avoids an expensive mapping through the identity matrix. Performance test results: appending-text: 7.5% improvement paint-offset-changes: 8.2% improvement Speeds up prePaint by ~14% on https://www.w3.org/TR/html5/single-page.html: before: Last FrameView::prePaint is ~210ms after: Last FrameView::prePaint is ~180ms BUG=678597 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Review-Url: https://codereview.chromium.org/2621483002 Cr-Commit-Position: refs/heads/master@{#442186} Committed: https://chromium.googlesource.com/chromium/src/+/4a496bb8248a82782841ecee92df... ==========
Message was sent while issue was closed.
Committed patchset #1 (id:1) as https://chromium.googlesource.com/chromium/src/+/4a496bb8248a82782841ecee92df...
Message was sent while issue was closed.
On 2017/01/08 at 23:54:09, wangxianzhu wrote: > This CL isn't in my incoming review list. Found it when searching your another CL. lgtm. > > I also tried a similar change locally (just uploaded as https://codereview.chromium.org/2619163002) for crbug.com/678597, but the result was not as good as yours. On Linux the result was not stable. On Android, the result was stabler, but not as good as expected (paint-offset-changes.html): non-spinvalidation: 310ms, original spinvalidation: 410ms, spinvalidation with the CL: 390ms. > > Let's land this to see what will happen on bots. I found this looking at https://www.w3.org/TR/html5/single-page.html and only later found it helped address 678597, sorry about stepping on your bug. There's still a lot of room to go though, because paint invalidation is still significantly slower on https://www.w3.org/TR/html5/single-page.html with spinvalidation. I'll file a bug so we can track this.
Message was sent while issue was closed.
On 2017/01/09 at 17:29:12, pdr. wrote: > On 2017/01/08 at 23:54:09, wangxianzhu wrote: > > This CL isn't in my incoming review list. Found it when searching your another CL. lgtm. > > > > I also tried a similar change locally (just uploaded as https://codereview.chromium.org/2619163002) for crbug.com/678597, but the result was not as good as yours. On Linux the result was not stable. On Android, the result was stabler, but not as good as expected (paint-offset-changes.html): non-spinvalidation: 310ms, original spinvalidation: 410ms, spinvalidation with the CL: 390ms. > > > > Let's land this to see what will happen on bots. > > I found this looking at https://www.w3.org/TR/html5/single-page.html and only later found it helped address 678597, sorry about stepping on your bug. There's still a lot of room to go though, because paint invalidation is still significantly slower on https://www.w3.org/TR/html5/single-page.html with spinvalidation. I'll file a bug so we can track this. Oh, also, there are still some no-op maps in GeometryMapper that we could remove. I just got the ones that I could prove helped paint invalidation on the html5 spec.
Message was sent while issue was closed.
As expected, this ended up as an 11.8% win on paint-offset-changes with spinvalidation: https://chromeperf.appspot.com/report?sid=1582db6af4d16ebc1512dc9fe06ccde60cc... |