Performance regression in some specific cases with rendering HTML/scrolling/animations
Reported by
insensi...@gmail.com,
Feb 22 2018
|
|||||||||||||||||||
Issue descriptionUserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.167 Safari/537.36 Steps to reproduce the problem: 1. Open file "test.html" in Chrome 65 beta 2. (Optional) Start performance monitor in Dev Tools 3. Try to scroll several times area with texts or several times hover texts 4. Notice that scroll is not smooth and hover background appears with delays 5. Stop performance recording and look at Dev tools timeline: it is filled with long "Update layer tree records" What is the expected behavior? Smooth scroll/hover "animation", almost empty timeline in Dev Tools What went wrong? Perfomance delays, non-smooth scroll/animations Did this work before? Yes Chrome 64 stable and previous versions Chrome version: 65.0.3325.88 Channel: beta OS Version: 10.0 Flash Version: This issue appears in our product in Chrome 65 beta. This causes some pages to be almost unresponsive and this is blocker for our users
,
Feb 22 2018
,
Feb 23 2018
Unable to reproduce the issue on chrome reported version 65.0.3325.88 using windows-10 with steps mentioned below: 1) Launched chrome reported version, dragged and dropped the test.html file provided in comment#0 2) Opened Devtools > Performance tab and clicked on start 3) Scrolled and hovered the many times over the text field, observed smooth scrolling and hovered background appears without any delays 4) clicked on stop performance recording and observed smooth scrolling and hovering, didn't observed "Update layer tree records" @Reporter: Please find the attached screen cast for your reference and let us know if we missed anything in reproducing this issue. Try to test this issue by creating new person with no apps and extensions in it and le tus know if the issue still persists. Thanks!
,
Feb 26 2018
I am also experiencing this issue. Here are screencasts in stable and beta versions.
,
Feb 26 2018
@viswa.karala@chromium.org, thank you for feedback. I did some investigations and found that you tried to reproduce this issue in different Chrome version that I have. My Chrome version string displayed on "chrome://version" is "65.0.3325.88 (Official Build) beta (64-bit)", please look a the attached screen shot. Version displayed on your screen cast does not contain 'beta' string and looks like stable (strange, 65 stable is not published yet?..) I installed my Chrome 65 beta version from official site at "https://www.google.com/chrome/browser/beta.html". The problem is here, so now i am not sure - will this problem also persist in Stable or not..
,
Feb 26 2018
Thank you for providing more feedback. Adding the requester to the cc list. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Feb 26 2018
Able to reproduce in Chrome 65 and 66. Bisect info: 521694 (good) - 521706 (bad) https://chromium.googlesource.com/chromium/src/+log/ac47dc85..bcb8fea0?pretty=fuller Suspecting r521704 = a3ce2d3110a3f9177a41935daadd43ede72db553 = https://crrev.com/c/793973 by yigu@chromium.org "Round the scroll offset synced back to main thread instead of flooring" Landed in 65.0.3286.0 Confirmed by disabling the suspected CL and observing the bug is gone: chrome --disable-blink-features=CompositeOpaqueFixedPosition
,
Feb 27 2018
,
Feb 27 2018
M65 Stable promotion is coming VERY soon next week. Your bug is labelled as Stable ReleaseBlock, pls make sure to land the fix and request a merge into the release branch ASAP. Thank you.
,
Feb 27 2018
,
Feb 27 2018
Tested the issue on chrome reported version 65.0.3325.88 using windows-10 with steps mentioned below: 1) Launched chrome reported version, dragged and dropped the test.html file provided in comment#0 2) Opened Devtools > Performance tab and clicked on start 3) Scrolled and hovered the many times over the text field, observed smooth scrolling and hovered background appears without any delays 4) clicked on stop performance recording and observed observed "Update layer tree records" in performance tab Observations: Tested the issue on Stable 64.0.3282.186 and Latest chrome 66.0.3355.0, seen the same behaviour, even checked the issue on M60(60.0.3072.0) and observed the "Update layer tree" under performance tab. Removing the Needs-Bisect label as per C#8 and attaching the screencast of chrome version# 60.0.3072.0 for reference. Thanks!
,
Feb 27 2018
,
Feb 27 2018
Will disable the feature mentioned in #8 to unblock the release and merge it back to M65 once the patch is eligible. Patch is up for review: https://chromium-review.googlesource.com/c/chromium/src/+/939585
,
Feb 27 2018
This bug requires manual review: We are only 6 days from stable. Please contact the milestone owner if you have questions. Owners: cmasso@(Android), cmasso@(iOS), bhthompson@(ChromeOS), govind@(Desktop) For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Feb 27 2018
,
Feb 27 2018
Please merge this as soon as possible.
,
Feb 27 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/69246b8974a267061fe1c1beab52bbcb17b474a7 commit 69246b8974a267061fe1c1beab52bbcb17b474a7 Author: Yi Gu <yigu@chromium.org> Date: Tue Feb 27 21:47:34 2018 Disable runtime feature CompositeOpaqueFixedPosition The feature caused performance regression on low dpi devices when a fix positioned element contains too many children. Temporarily disble it to unblock Stable release. Will address it through https://crbug.com/816937. Bug: 814673 Change-Id: I6f0fea7d6b61f572b4d8da4e54c34d63cc5bc2f1 Reviewed-on: https://chromium-review.googlesource.com/939585 Commit-Queue: Yi Gu <yigu@chromium.org> Reviewed-by: Robert Flack <flackr@chromium.org> Reviewed-by: Scott Violet <sky@chromium.org> Cr-Commit-Position: refs/heads/master@{#539552} [modify] https://crrev.com/69246b8974a267061fe1c1beab52bbcb17b474a7/content/child/runtime_features.cc [modify] https://crrev.com/69246b8974a267061fe1c1beab52bbcb17b474a7/content/public/common/content_features.cc
,
Feb 27 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2214abb76685540cad140deffc5ebde1d56ca129 commit 2214abb76685540cad140deffc5ebde1d56ca129 Author: Yi Gu <yigu@chromium.org> Date: Tue Feb 27 21:53:38 2018 Disable runtime feature CompositeOpaqueFixedPosition The feature caused performance regression on low dpi devices when a fix positioned element contains too many children. Temporarily disble it to unblock Stable release. Will address it through https://crbug.com/816937. Bug: 814673 Change-Id: I6f0fea7d6b61f572b4d8da4e54c34d63cc5bc2f1 Reviewed-on: https://chromium-review.googlesource.com/939585 Commit-Queue: Yi Gu <yigu@chromium.org> Reviewed-by: Robert Flack <flackr@chromium.org> Reviewed-by: Scott Violet <sky@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#539552}(cherry picked from commit fc95fed8a9e4cadd5842241b0bb93a9991ff0021) Reviewed-on: https://chromium-review.googlesource.com/939653 Reviewed-by: Stephen McGruer <smcgruer@chromium.org> Cr-Commit-Position: refs/branch-heads/3325@{#612} Cr-Branched-From: bc084a8b5afa3744a74927344e304c02ae54189f-refs/heads/master@{#530369} [modify] https://crrev.com/2214abb76685540cad140deffc5ebde1d56ca129/content/child/runtime_features.cc [modify] https://crrev.com/2214abb76685540cad140deffc5ebde1d56ca129/content/public/common/content_features.cc
,
Feb 27 2018
Can this be marked as fixed if nothing is pending?
,
Feb 27 2018
,
Feb 27 2018
Though we should file a follow-on bug to fix the performance issue and re-enable the feature.
,
Feb 27 2018
re #22, the bug will be tracked and handled via issue 816937.
,
Feb 28 2018
As per comment#3 we are unable to reproduce the issue on chrome reported version and as per comemnt#12 we have tested this issue on chrome able to see the "Update layer tree" entries in Devtools > Performance tab. Tested the issue on latest chrome version 66.0.3357.0 using Ubuntu 14.04 with steps mentioned below: 1) Launched chrome reported version, dragged and dropped the test.html file provided in comment#0 2) Opened Devtools > Performance tab and clicked on start 3) Scrolled and hovered the many times over the text field, observed smooth scrolling and hovered background appears without any delays 4) clicked on stop performance recording and observed observed "Update layer tree records" in performance tab @yigu: Please check the attached screencast and please let us know the excepted behaviour and help in verifying the fix. Thanks!
,
Feb 28 2018
As per comment#3 we are unable to reproduce the issue on chrome reported version and as per comemnt#12 we have tested this issue on chrome able to see the "Update layer tree" entries in Devtools > Performance tab. Tested the issue on chrome version 65.0.3325.106 using Mac 10.12.6 with steps mentioned below: 1) Launched chrome reported version, dragged and dropped the test.html file provided in comment#0 2) Opened Devtools > Performance tab and clicked on start 3) Scrolled and hovered the many times over the text field, observed smooth scrolling and hovered background appears without any delays 4) clicked on stop performance recording and observed observed "Update layer tree records" in performance tab @yigu: Please check the attached screencast and please let us know the excepted behaviour and help in verifying the fix. Thanks!
,
Feb 28 2018
FWIW I don't see any improvement in the official Canary 66.0.3357.0 which is based on r539659 so it should include the fix in #c18. However, if I disable the feature manually, the bug is gone: chrome --disable-blink-features=CompositeOpaqueFixedPosition
,
Feb 28 2018
re #26, there was a piece missing from the previous patch which fixed the hovering issue. Will fix it right away to completely disable the feature.
,
Feb 28 2018
This bug requires manual review: We are only 5 days from stable. Please contact the milestone owner if you have questions. Owners: cmasso@(Android), cmasso@(iOS), bhthompson@(ChromeOS), govind@(Desktop) For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Feb 28 2018
yigu@, could you pls point the cl you're requesting merge for based on comment #27?
,
Feb 28 2018
,
Feb 28 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5770b54a09c563cf56d7d2aaf7cdda80c59e1be1 commit 5770b54a09c563cf56d7d2aaf7cdda80c59e1be1 Author: Yi Gu <yigu@chromium.org> Date: Wed Feb 28 15:45:59 2018 Disable runtime feature CompositeOpaqueFixedPosition This patch fixed the missing part from the previous patch https://crrev.com/c/939585 to completely disable the feature. Bug: 814673 Change-Id: Id14a32351d6153221aabf36dec506533ad07b437 Reviewed-on: https://chromium-review.googlesource.com/941262 Commit-Queue: Yi Gu <yigu@chromium.org> Reviewed-by: Jeremy Roman <jbroman@chromium.org> Reviewed-by: Robert Flack <flackr@chromium.org> Cr-Commit-Position: refs/heads/master@{#539830} [modify] https://crrev.com/5770b54a09c563cf56d7d2aaf7cdda80c59e1be1/third_party/WebKit/Source/platform/runtime_enabled_features.json5
,
Feb 28 2018
This bug needs both the CLs from #18 and #31 to be fixed. Waiting for merge approval for the following patch which is cherry picked from #31. https://chromium-review.googlesource.com/c/chromium/src/+/941402
,
Feb 28 2018
Please merge this as soon as possible.
,
Feb 28 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e1bdf2f50853a0b1cf7fa6ed99634e54badc8b0f commit e1bdf2f50853a0b1cf7fa6ed99634e54badc8b0f Author: Yi Gu <yigu@chromium.org> Date: Wed Feb 28 17:02:21 2018 Disable runtime feature CompositeOpaqueFixedPosition This patch fixed the missing part from the previous patch https://crrev.com/c/939585 to completely disable the feature. Bug: 814673 Change-Id: Id14a32351d6153221aabf36dec506533ad07b437 Reviewed-on: https://chromium-review.googlesource.com/941262 Commit-Queue: Yi Gu <yigu@chromium.org> Reviewed-by: Jeremy Roman <jbroman@chromium.org> Reviewed-by: Robert Flack <flackr@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#539830}(cherry picked from commit 5770b54a09c563cf56d7d2aaf7cdda80c59e1be1) Reviewed-on: https://chromium-review.googlesource.com/941402 Cr-Commit-Position: refs/branch-heads/3325@{#624} Cr-Branched-From: bc084a8b5afa3744a74927344e304c02ae54189f-refs/heads/master@{#530369} [modify] https://crrev.com/e1bdf2f50853a0b1cf7fa6ed99634e54badc8b0f/third_party/WebKit/Source/platform/runtime_enabled_features.json5
,
Feb 28 2018
,
Mar 1 2018
As per comment #3, #12, #24, #25, the issue is not reproducible at TE end. yigu@ Request you to please check the issue on the latest Canary 66.0.3358.0 and help us in verifying the fix. Thanks..
,
Mar 1 2018
re #36, confirm that the issue cannot be reproduced on Canary 66.0.3358.0.
,
Mar 6 2018
As per comment #36, the issue is not reproducible at TE end. yigu@ Request you to please check the issue on the latest stable 65.0.3325.146 and help us in verifying the fix. Thanks!
,
Mar 6 2018
The fix has been verified on Linux, Win and Mac on the latest stable 65.0.3325.146. |
|||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||
Comment 1 by dtapu...@chromium.org
, Feb 22 2018