(re-adding chromium-discuss properly this time, oops)On Mon, Jul 9, 2018 at 12:58 PM Scott Little <scli...@chromium.org> wrote:(re-adding chromium-discuss as CC since the original post has now appeared on the discussion board)I'm not sure what caused the slowdown you saw, or why you saw an improvement by hiding the frame while it loads assets.On Mon, Jul 9, 2018 at 11:43 AM Tommy Williams <webde...@gmail.com> wrote:#enable-lazy-frame-loading is the flag in chrome://flags that allows users to try out the frame-deferral part of lazy load in its current state, such as for debugging. By default, the feature is disabled right now, see code.I'm not sure what you're referring to by "defer iframe assets".On Mon, Jul 9, 2018 at 1:58 PM Tommy Williams <twil...@playwire.com> wrote:Any ideas on what it was?The part that shown light on it for me was (from https://docs.google.com/document/d/1ITh7UqhmfirprVtjEtpfhga5Qyfoh78UkRmW8r3CntM/ ):An iframe will be deferred if it satisfies all of the following:
It's a third-party iframe (i.e. a different origin than the embedding page),
Larger than 4x4 in dimensions,
Not marked as "display:none" nor "visibility:hidden",
Not positioned off-screen using negative x or y coordinates
Which seems a little backwards to me. I am now hiding our iframe while it loads assets (at normal/faster/pre-67 speed). I would think anything visible would be loaded faster.Understand, my terminology may be mixed up with 'lazy load iframes', that is just the thing that popped out to me in the generic change logs.On Mon, Jul 9, 2018 at 1:50 PM, Scott Little <scli...@chromium.org> wrote:FYI, LazyLoad is *not* enabled by default in Chrome 67 or any version of Chrome right now. See the code: https://cs.chromium.org/chromium/src/content/public/common/content_features.cc?q=LazyFrameLoading&sq=package:chromiumI'm glad that you fixed the problem, but LazyLoad wasn't part of the equation here :)On Sat, Jul 7, 2018 at 5:35 AM Tommy Williams <webde...@gmail.com> wrote:Those are in milliseconds. After writing this email and reading the documentation further (https://docs.google.com/document/d/1ITh7UqhmfirprVtjEtpfhga5Qyfoh78UkRmW8r3CntM/edit#heading=h.c7mc4hh4xdhq) I was able to find the issue! The feature is definitely enabled (set to default in chrome 67), it something we have been trying to tackle since first word of it.An iframe will be deferred if it satisfies all of the following:I was able to fix our issue by understanding the 4 rules. I do appreciate the hasty response. I would ask change logs to be a bit more robust, as I am a Chrome (and Google) fanataic, I hate hearing 'Chrome is the new IE' getting thrown around.Live example from one of our publishers:Notice it takes about 10 seconds to load the video assets in the iframe. If you try in chrome 65 or 66, numbers are cut down quite a bit.Thanks again guys! This seems to be the squad that has the answers.-- Tommy WilliamsOn Fri, Jul 6, 2018 at 8:00 PM Tarun Bansal <tba...@google.com> wrote:Scott, thanks for adding to the thread.+1 to whatever Scott said. Having an example webpage would be super-helpful.On Fri, Jul 6, 2018 at 3:53 PM Scott Little <scli...@chromium.org> wrote:LazyLoad could not have caused those slowdowns. LazyLoad is not launched yet, and it's only intended for Android Chrome. LazyLoad is currently still in the implementation phase, with the currently landed code disabled by default behind a flag.I'm not sure what caused the slowdowns that you've seen, but perhaps it could be related to Site Isolation, or maybe related to low priority iframes.Can you explain your numbers? What are they measuring? What are the units (seconds? ms?)? Are these for Chrome desktop users, mobile users, or all of them? Is this an average time, median time, or what?Can you send a link to an example page where the problem happens?I've added tbansal@ to this thread since he might have some more context.
NOTICE: This e-mail, including attachments, is intended for the exclusive use of the person to whom it is addressed and may contain confidential information. Such information also may be legally privileged. If you are not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this e-mail is prohibited. If you received this e-mail in error, please advise the sender by reply e-mail and then delete this e-mail immediately.
I don't know why you're seeing a speedup by hiding your iframe initially, then showing it later. I'd expect it to be the opposite,
Like I said before, LazyLoad could not have caused the slowdowns for 66 and 67 stable users that you mentioned earlier. LazyLoad is not launched yet, and it's only intended for Android Chrome. LazyLoad is currently still in the implementation phase, with the currently landed code disabled by default behind a flag.I don't know why you're seeing a speedup by hiding your iframe initially, then showing it later. I'd expect it to be the opposite, since as I understand it Chrome does actually throttle the rendering of hidden cross-origin frames to some degree.
On Mon, Jul 9, 2018 at 2:07 PM Tommy Williams <webde...@gmail.com> wrote:"Deferred iframes":Referring to the "Blink LazyFrames" design doc I found in your chormium groups:This lists 4 points in which an iframe will be deferred. I'm using the option to display: none the iframe until all assets are loaded, and showing the iframe when ready to go, and our player was that was taking ~14s to boot in chrome 67 stable is loading on our devcdn via charles proxy in around ~4s!
I want to re-iterate that LazyLoad is not launched yet, so it's not affecting anything here, unless you've explicitly enabled "Lazy frame loading" in chrome://flags on your testing devices. Otherwise, if you're seeing a speedup by hiding the frame, then it's completely unrelated to LazyLoad.
"Deferred iframes":Referring to the "Blink LazyFrames" design doc I found in your chormium groups:This lists 4 points in which an iframe will be deferred. I'm using the option to display: none the iframe until all assets are loaded, and showing the iframe when ready to go, and our player was that was taking ~14s to boot in chrome 67 stable is loading on our devcdn via charles proxy in around ~4s!