Allow user to set the network timeout for the detection of first meaningful paint |
||||
Issue descriptionFirstMeaningfulPaintDetector has been using the hardcoded timeout value (0.5 seconds) to limit the time of checking the first meaningful paint. However, there are various devices and network bandwidths that Chromium should work. For example, if web platform uses the signal of FMP to dismiss a splash screen, the timeout value can cause some issues on a low-end device with poor network bandwidth. In such cases, it may help us to change the FMP timeout value depends on the environment.
,
Aug 7
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/208565993af870c86cff06c27dbc67066694bf61 commit 208565993af870c86cff06c27dbc67066694bf61 Author: Kunihiko Sakamoto <ksakamoto@chromium.org> Date: Tue Aug 07 03:15:17 2018 FMPDetector: Use network quiet signal from IdlenessDetector This patch removes the network-{0,2}-quiet detection logic from FirstMeaningfulPaintDetector. After this patch, these signals are notified from IdlenessDetector. IdlenessDetector excludes task processing time from the network-quiet time window, so this would fix the issue that FirstMeaningfulPaint is reported too soon on CPU-heavy pages. This patch also renames "fmp-network-quiet-timeout" command-line switch to "network-quiet-timeout". It now controls the network-quiet window of IdlenessDetector. Bug: 659021 , 850403 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I008762a128f2d6243ed50af316a97350bccbea5a Reviewed-on: https://chromium-review.googlesource.com/1159934 Reviewed-by: Kinuko Yasuda <kinuko@chromium.org> Reviewed-by: Timothy Dresser <tdresser@chromium.org> Reviewed-by: Gyuyoung Kim <gyuyoung.kim@lge.com> Reviewed-by: Andrey Kosyakov <caseq@chromium.org> Commit-Queue: Kunihiko Sakamoto <ksakamoto@chromium.org> Cr-Commit-Position: refs/heads/master@{#581115} [modify] https://crrev.com/208565993af870c86cff06c27dbc67066694bf61/content/browser/renderer_host/render_process_host_impl.cc [modify] https://crrev.com/208565993af870c86cff06c27dbc67066694bf61/content/public/common/content_switches.cc [modify] https://crrev.com/208565993af870c86cff06c27dbc67066694bf61/content/public/common/content_switches.h [modify] https://crrev.com/208565993af870c86cff06c27dbc67066694bf61/content/renderer/render_view_impl.cc [modify] https://crrev.com/208565993af870c86cff06c27dbc67066694bf61/headless/test/data/protocol/emulation/compositor-basic-raf-expected.txt [modify] https://crrev.com/208565993af870c86cff06c27dbc67066694bf61/third_party/blink/public/web/web_settings.h [modify] https://crrev.com/208565993af870c86cff06c27dbc67066694bf61/third_party/blink/renderer/core/dom/document.cc [modify] https://crrev.com/208565993af870c86cff06c27dbc67066694bf61/third_party/blink/renderer/core/exported/web_settings_impl.cc [modify] https://crrev.com/208565993af870c86cff06c27dbc67066694bf61/third_party/blink/renderer/core/exported/web_settings_impl.h [modify] https://crrev.com/208565993af870c86cff06c27dbc67066694bf61/third_party/blink/renderer/core/frame/settings.json5 [modify] https://crrev.com/208565993af870c86cff06c27dbc67066694bf61/third_party/blink/renderer/core/loader/frame_fetch_context.cc [modify] https://crrev.com/208565993af870c86cff06c27dbc67066694bf61/third_party/blink/renderer/core/loader/idleness_detector.cc [modify] https://crrev.com/208565993af870c86cff06c27dbc67066694bf61/third_party/blink/renderer/core/loader/idleness_detector.h [modify] https://crrev.com/208565993af870c86cff06c27dbc67066694bf61/third_party/blink/renderer/core/paint/first_meaningful_paint_detector.cc [modify] https://crrev.com/208565993af870c86cff06c27dbc67066694bf61/third_party/blink/renderer/core/paint/first_meaningful_paint_detector.h [modify] https://crrev.com/208565993af870c86cff06c27dbc67066694bf61/third_party/blink/renderer/core/paint/first_meaningful_paint_detector_test.cc [modify] https://crrev.com/208565993af870c86cff06c27dbc67066694bf61/third_party/blink/renderer/core/paint/paint_timing.cc
,
Aug 7
,
Aug 10
@gyuyoung.kim, is there anything left to do here?
,
Aug 17
,
Aug 17
> @gyuyoung.kim, is there anything left to do here? I think this issue was fixed by my CL. So I change the status with "Fixed".
,
Sep 26
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/28b16872181066d84bf26e0610a8c8f2bfa5c9c5 commit 28b16872181066d84bf26e0610a8c8f2bfa5c9c5 Author: Gyuyoung Kim <gyuyoung.kim@lge.com> Date: Wed Sep 26 00:14:20 2018 FMPDetector: Remove unused timout constants kNetwork0QuietWindowTimeout and kNetwork2QuietWindowTimeout constants have not used anywhere since "FMPDetector: Use network quiet signal from IdlenessDetector" commit. This CL removes them and all uses in FirstMeaningfulPaintDetector. Bug: 659021 , 850403 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I48c3349d208818ceb8d3cde18fdd7177e310b788 Reviewed-on: https://chromium-review.googlesource.com/1237896 Reviewed-by: Kunihiko Sakamoto <ksakamoto@chromium.org> Reviewed-by: Timothy Dresser <tdresser@chromium.org> Reviewed-by: Chris Harrelson <chrishtr@chromium.org> Commit-Queue: Gyuyoung Kim <gyuyoung.kim@lge.com> Cr-Commit-Position: refs/heads/master@{#594154} [modify] https://crrev.com/28b16872181066d84bf26e0610a8c8f2bfa5c9c5/third_party/blink/renderer/core/paint/first_meaningful_paint_detector.cc [modify] https://crrev.com/28b16872181066d84bf26e0610a8c8f2bfa5c9c5/third_party/blink/renderer/core/paint/first_meaningful_paint_detector.h [modify] https://crrev.com/28b16872181066d84bf26e0610a8c8f2bfa5c9c5/third_party/blink/renderer/core/paint/first_meaningful_paint_detector_test.cc |
||||
►
Sign in to add a comment |
||||
Comment 1 by bugdroid1@chromium.org
, Jun 15 2018