Thanks Scott! I'm excited to see this moving forward and hopeful that
providing more modern scheduling primitives to sophisticated websites and
frameworks will help some of them create a more consistently good user
experience.

Rick

On Fri, Oct 28, 2022 at 5:57 PM Scott Haseley <shase...@chromium.org> wrote:

> Contact emailsshase...@chromium.org
>
> Explainer
> https://github.com/WICG/scheduling-apis/blob/main/explainers/yield-and-continuation.md
>
> Specification
>
> Summary
>
> Provides a method for yielding control to the browser, which can be used
> to break up long tasks. Awaiting the promise returned by scheduler.yield()
> causes the current task to yield, continuing in a new browser task. This
> can be used to improve responsiveness issues caused by long tasks.
> Continuations are prioritized to mitigate performance problems of existing
> alternatives.
>
>
> Blink componentBlink>Scheduling>APIs
> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EScheduling%3EAPIs>
>
> Motivation
>
> Long tasks (JavaScript) can lead to poor responsiveness by blocking the
> main thread from handling inputs or delaying the resulting UI update.
> Developers can mitigate this by decreasing task lengths, either by doing
> less work or by breaking up long tasks. Scheduling a continuation using
> current APIs typically has poor ergonomics because intuitively one wants to
> pause/resume the current task, not schedule a new task. It can also incur a
> performance penalty if arbitrary JavaScript runs between yield and
> continuation. scheduler.yield() is an ergonomic API for breaking up long
> tasks that mitigates performance issues of existing methods. Developers can
> await scheduler.yield() to break up long tasks, giving the UA an
> opportunity to run higher priority work, e.g. input. scheduler.yield()
> continuations are prioritized over tasks of the same priority or similar
> task sources, which helps mitigate the performance penalty of yielding.
>
>
> Initial public proposal
>
> TAG review
>
> TAG review statusPending
>
> Risks
>
>
> Interoperability and Compatibility
>
>
>
> *Gecko*: No signal
>
> *WebKit*: No signal
>
> *Web developers*: No signals
>
> *Other signals*:
>
> 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?
>
>
>
> Debuggability
>
>
>
> Is this feature fully tested by web-platform-tests
> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
> ?No
>
> Flag name
>
> Requires code in //chrome?False
>
> Tracking bughttps://bugs.chromium.org/p/chromium/issues/detail?id=979020
>
> Estimated milestones
>
> No milestones specified
>
>
> Link to entry on the Chrome Platform Status
> https://chromestatus.com/feature/6266249336586240
>
> This intent message was generated by Chrome Platform Status
> <https://chromestatus.com/>.
>
> --
> 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/CAKXGoJ1SBQP-ABM3%2BsDtKzUZiPoSCWqW2mLOjMrUfFBx4TomSw%40mail.gmail.com
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAKXGoJ1SBQP-ABM3%2BsDtKzUZiPoSCWqW2mLOjMrUfFBx4TomSw%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/CAFUtAY8PifiWnfMSuTy19NL7EkZqfGwxy-%2Bq0-fp%3DDnsLY5Gbw%40mail.gmail.com.

Reply via email to