New issue
Advanced search Search tips

Issue 850403 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Aug 17
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Allow user to set the network timeout for the detection of first meaningful paint

Project Member Reported by gyuyoung...@lge.com, Jun 7 2018

Issue description

FirstMeaningfulPaintDetector 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.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Jun 15 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/63abad2a054c893fbc4580df710beab30aded9fb

commit 63abad2a054c893fbc4580df710beab30aded9fb
Author: Gyuyoung Kim <gyuyoung.kim@lge.com>
Date: Fri Jun 15 03:16:55 2018

Introduce a new command-line switch to set the network timeout in FMP

FirstMeaningfulPaintDetector has been using a 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. In such cases,
we need to change the FMP timeout value depending on the environment. To support
it, this CL introduces a new command line switch in order to set a custom timeout
value for the FMP detection.

Bug:  850403 
Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: Id308a72acfc3563384076bbbe19c441d506757ee
Reviewed-on: https://chromium-review.googlesource.com/1090512
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Timothy Dresser <tdresser@chromium.org>
Commit-Queue: Gyuyoung Kim <gyuyoung.kim@lge.com>
Cr-Commit-Position: refs/heads/master@{#567533}
[modify] https://crrev.com/63abad2a054c893fbc4580df710beab30aded9fb/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/63abad2a054c893fbc4580df710beab30aded9fb/content/public/common/content_switches.cc
[modify] https://crrev.com/63abad2a054c893fbc4580df710beab30aded9fb/content/public/common/content_switches.h
[modify] https://crrev.com/63abad2a054c893fbc4580df710beab30aded9fb/content/renderer/render_view_impl.cc
[modify] https://crrev.com/63abad2a054c893fbc4580df710beab30aded9fb/third_party/blink/public/web/web_settings.h
[modify] https://crrev.com/63abad2a054c893fbc4580df710beab30aded9fb/third_party/blink/renderer/core/exported/web_settings_impl.cc
[modify] https://crrev.com/63abad2a054c893fbc4580df710beab30aded9fb/third_party/blink/renderer/core/exported/web_settings_impl.h
[modify] https://crrev.com/63abad2a054c893fbc4580df710beab30aded9fb/third_party/blink/renderer/core/frame/settings.json5
[modify] https://crrev.com/63abad2a054c893fbc4580df710beab30aded9fb/third_party/blink/renderer/core/paint/first_meaningful_paint_detector.cc
[modify] https://crrev.com/63abad2a054c893fbc4580df710beab30aded9fb/third_party/blink/renderer/core/paint/first_meaningful_paint_detector.h

Project Member

Comment 2 by bugdroid1@chromium.org, 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

Components: Speed>Metrics
Labels: Needs-Feedback
Status: Available (was: Untriaged)
@gyuyoung.kim, is there anything left to do here?
Owner: gyuyoung...@lge.com
Status: Fixed (was: Available)
> @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".
Project Member

Comment 7 by bugdroid1@chromium.org, 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