Hi François,

We [MikeT, Rick, Yoav, Chris and I] discussed this on the API Owners meeting and there were some things affecting user experience I was concerned about.

Looking at the maximum perceived impact to the user, that would be that the user is putting a tab in the background, but expecting some kind of event in a couple of seconds. If that event depends on the throttled timers, that event could, worst case, with this change be delayed from 10 seconds to 1 minute (or 10 seconds + 1 minute?). Before this change, worst case would be that some event would be delayed from 5 minutes to 6 minutes.

I consider, from a usage perspective, a delay from 5 to 6 minutes (worst case) acceptable if there are other benefits to the delay, but a change from 10 seconds to 1 minute (worst case) seems much more impactful since it would be fivefold increase in waiting time.

Considering that, have you investigated if there is some kind of middle ground where a smaller change would get more or less the same benefit to battery life? Or is there some other more advanced gradual throttling that could make the worst case less bad? Or do you have data that shows that my concern is irrelevant in some way?

/Daniel


On 2022-11-11 17:56, François Doray wrote:
We are experimenting on 1% stable since the beginning of October 2022 (M106+). We are also experimenting on 50% of Canary/Dev/Beta since June 2022. Enabling on 100% of Canary/Dev/Beta for a few milestones sgtm, if we think it will help identifying issues. So far, no bug reports have been routed to me.

Note: Only timers with a "nesting level <https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timer-nesting-level>" greater than 5 are affected. A timer set from the visibilitychange event handler, for example, won't be affected.


On Wed, Nov 9, 2022 at 12:02 PM Philip Jägenstedt <foo...@chromium.org> wrote:

    The potential compat risk of this seems significant, if it means
    that pages can start misbehaving or breaking after 10 seconds in
    the background, which seems common in workflows like logins or
    ecommerce, where you might be flipping back and forth between tabs
    to find passwords, confirm credit card transactions, etc.

    Have there been any bug reports from the beta experiment yet? To
    increase confidence, can we run this experiment at 100% on beta,
    dev and canary for a few milestones before trying it on stable?
    Are there any other ways we can gain insight on the compat risk?

    On Tue, Nov 8, 2022 at 10:10 PM François Doray
    <fdo...@chromium.org> wrote:


                Contact emails

        jiahe.zh...@intel.com, fdo...@chromium.org


                Specification

        https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html


                Design docs


        
https://docs.google.com/document/d/1WFyfKUUxqM7uKxKOGhLiOjyY6T7QRduVcuHN0f6vJkk/edit


                Summary

        Enter Intensive Wake Up Throttling after 10 seconds if the
        page is fully loaded when it becomes hidden. Currently, wake
        ups from JS timers with a nesting level >= 5 are throttled to
        1 per minute after the page has spent 5 minutes in the
        background [1], which is very conservative and was chosen to
        allow a launch of Intensive Wake Up Throttling with minimal
        regression risk. We're now planning to reduce this timeout to
        10 seconds if the page is fully loaded when hidden. [1]
        https://chromestatus.com/feature/4718288976216064



                Blink component

        Blink>Scheduling
        
<https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EScheduling>



                TAG review status

        Not applicable


                Risks


                Interoperability and Compatibility


        /Gecko/: No signal

        /WebKit/: No signal

        /Web developers/: No signals

        /Other signals/: The more conservative version of Intensive
        Wake Up Throttling shipped smoothly to 100% Stable more than 1
        year ago. A few bugs were filed, but in all cases we've been
        able to propose workarounds which made apps more efficient
        (example
        <https://bugs.chromium.org/p/chromium/issues/detail?id=1186569#c16>).


                WebView application risks

        Does this intent deprecate or change behavior of existing
        APIs, such that it has potentially high risk for Android
        WebView-based applications?


        No, this feature will not ship on desktop platforms.



                Debuggability

        This is not a new Web Platform feature.



                Will this feature be supported on all six Blink
                platforms (Windows, Mac, Linux, Chrome OS, Android,
                and Android WebView)?

        No

        This feature will only ship on desktop platforms. On Android,
        the system severely limits resource consumption in background
        renderers, which makes this feature unnecessary.



                Is this feature fully tested by web-platform-tests
                
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?

        Yes


                Flag name

        quick-intensive-throttling-after-loading


                Requires code in //chrome?

        False


                Tracking bug

        https://bugs.chromium.org/p/chromium/issues/detail?id=1324656


                Estimated milestones

        DevTrial on desktop

        Enabled by default on desktop   104

        109


                Anticipated spec changes

        Open questions about a feature may be a source of future web
        compat or interop issues. Please list open issues (e.g. links
        to known github issues in the project for the feature
        specification) whose resolution may introduce web
        compat/interop risk (e.g., changing to naming or structure of
        the API in a non-backward-compatible way).



                Link to entry on the Chrome Platform Status

        https://chromestatus.com/feature/5580139453743104

        *Additional context*
        *
        *
        The 1% stable experiment shows that this feature reduces
        Chrome's CPU usage and extends battery life, as desired. We
        plan to enable it by default in M109.

        The 1% stable experiment is still ramping up, so we would like
        to keep experimenting in M108, to get small confidence
        intervals for all our metrics on all desktop platforms.
-- You received this message because you are subscribed to the
        Google Groups "blink-dev" group.
        To unsubscribe from this group and stop receiving emails from
        it, send an email to blink-dev+unsubscr...@chromium.org.
        To view this discussion on the web visit
        
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAGD3t5EGWuOZgo1k5XExKpnjsRM9nacEeFMyiXkEOwW%3DkOqRUQ%40mail.gmail.com
        
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAGD3t5EGWuOZgo1k5XExKpnjsRM9nacEeFMyiXkEOwW%3DkOqRUQ%40mail.gmail.com?utm_medium=email&utm_source=footer>.

--
You received this message because you are subscribed to the Google Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscr...@chromium.org. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAGD3t5Fy3FRsxTwde26%3DincDr7PR%2Bz4VKowfikMkPgSxxLhScA%40mail.gmail.com <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAGD3t5Fy3FRsxTwde26%3DincDr7PR%2Bz4VKowfikMkPgSxxLhScA%40mail.gmail.com?utm_medium=email&utm_source=footer>.

--
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/5e54c5cf-72be-500f-c3d3-a1cf00514447%40gmail.com.

Reply via email to