New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 617143 link

Starred by 8 users

Issue metadata

Status: WontFix
Owner:
Closed: Nov 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug


Show other hotlists

Hotlists containing this issue:
Hotlist-1


Sign in to add a comment

Extremely long time to load page and jump to anchor (24s in Chrome, 1s in Safari)

Reported by alexande...@xamarin.com, Jun 3 2016

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.24 Safari/537.36

Example URL:
https://jenkins.mono-project.com/job/test-mono-mainline-linux/label=debian-8-armel/204/parsed_console/log_content.html#WARNING1

Steps to reproduce the problem:
1. Open the URL
2. It takes 24 seconds to load and jump to the anchor

What is the expected behavior?
It should load *much* faster. Safari takes about 1 second to load the page and jump to the anchor.

What went wrong?
Developer tools show majority of time is spent on "Content download - 24.53 seconds".

This started a few releases back. I noticed it when viewing logs from our Jenkins CI got unusably slow in Chrome while it worked fine in Safari.

Did this work before? Yes one or two stable releases back

Chrome version: 52.0.2743.24  Channel: beta
OS Version: OS X 10.11.5
Flash Version: Shockwave Flash 22.0 r0

I've reproduced on Chrome Canary version 53.0.2757.0 canary (64-bit) too, the net-internals-log.json is from that version.
 
net-internals-log.json
348 KB View Download
Cc: igrigo...@chromium.org
Components: -Internals>Network Blink>Loader
Labels: Needs-Feedback
Status: Untriaged (was: Unconfirmed)
Punting this up for Loader triage - the NetLog (Event 1998) shows a series of 32K reads consistent with IPC'ing 32K chunks over to the renderer. There's periodic stalls, and the stalls seem suggestive of the renderer taking time before issuing another read request.

Would you also be willing to record an Event Trace (see https://www.chromium.org/developers/how-tos/submitting-a-performance-bug or https://www.chromium.org/developers/how-tos/trace-event-profiling-tool/recording-tracing-runs for details) which will help debug this further.
@rsleevi Thanks for looking into it, I attached a trace.

Since the page takes about 23s to load I let the trace capture all of that instead of the recommended 10s from the article, let me know if I should capture a shorter one.

Btw. this is not isolated to my machine, everyone using a Mac+Chrome is hitting this here.
trace_tracing.json.gz
2.6 MB Download
Cc: -igrigo...@chromium.org e...@chromium.org
Components: Blink>Layout
Labels: -Needs-Feedback
Warning to future triagers: I have no idea what I'm doing re: chrome://tracing, but it appears that the stalls (which can last several hundred MS to multiple seconds) appear to be being caused by FrameView::performLayout as part of style/layout calculation. I'm not sure exactly what component this best belongs to, but I'm randomly slapping a Layout label on it and hoping emil would have insight into why Safari does so much better than us for this page.
Cc: kouhei@chromium.org
It looks like these layouts are triggered by the background parser continually sending tokens to the main thread. The page is so big that each additional layout is really expensive.

sendTokensToMainThread should only be getting invoked on
 - end of input
 - script begin
 - script end

My guess is that the bg tokenizer is streaming data as fast as possible and keeps hitting end of input. Adding kouhei@ for further triage, as this could be a parser issue.
FWIW I've tested with Edge and Firefox on Windows too and it's pretty much instantaneous there while Chrome shows the same slow loading as on Mac.
Cc: igrigo...@chromium.org pmeenan@chromium.org

Comment 7 by e...@chromium.org, Jun 9 2016

Cc: drott@chromium.org
This might be due to a combination of long tokens without spaces (which disables a text shaping cache) and Mac Specific AAT fonts (for which text layout is much slower than other fonts).

Comment 8 by e...@chromium.org, Jun 9 2016

Loading the file from disk it takes ~27 seconds for the page to render for me. About 7 seconds of that is layout. Changing the font reduces it to about 5 as does removing the pre-wrap style.

Interesting :) Saving https://jenkins.mono-project.com/job/test-mono-mainline-linux/label=debian-8-armel/204/consoleText to disk (== plain text file without html) and loading it up in Chrome shows the same slow behavior.

Comment 10 by e...@chromium.org, Jun 9 2016

The layout time is mostly spent in shaping (as the cache cannot be used for a majority of the strings). This is especially bad on Mac where AAT shaping is quite slow.

This still does not explain the non-layout time though.
Labels: Needs-Feedback
alexander.koeplinger, could you record a trace with more options enabled (for example, check all categories listed in the left side, as in the screenshot)? 
Screenshot 2016-06-15 at 13.05.52.png
328 KB View Download

Comment 13 by tzik@chromium.org, Jun 15 2016

Cc: tzik@chromium.org
Cc: nhiroki@chromium.org yhirano@chromium.org
Labels: -Needs-Feedback
Owner: tzik@chromium.org
Status: Assigned (was: Untriaged)
Sorry, I thought with enough options we could see the time-taking task in the trace, but it's not true according to nhiroki@'s tracing. Removed Needs-Feedback label.
Regarding #c8:

> Changing the font reduces it to about 5 as does removing the pre-wrap style.

How did you change the font? Would be awesome if I could use this as a workaround in the meantime :)
This is frustratingly slow for me too for similar sized files. I have to download large docs and open them in sublime/whatever nowadays.
Cc: kojii@chromium.org

Comment 18 by e...@chromium.org, Nov 30 2017

Status: WontFix (was: Assigned)
Repro unavailable, unable to reproduce.

Comment 19 by e...@chromium.org, Dec 1 2017

Cc: divya.pa...@techmahindra.com
 Issue 776261  has been merged into this issue.

Sign in to add a comment