• Ian Hickson's avatar
    [H] Move the splitting of licenses to an isolate (#14160) · a29d723c
    Ian Hickson authored
    * Move the splitting of licenses to an isolate
    
    This improves (from horrific to terrible) the performance of the
    license screen. It also introduces a feature in the foundation layer
    to make using isolates for one-off computations easier.
    
    The real problem that remains with this, though, is that transfering
    data between isolates is a stop-the-world operation and can take an
    absurd amount of time (far more than a few milliseconds), so we still
    skip frames.
    
    More work thus remains to be done.
    
    * - Add profile instrumentation to the isolate compute() method
    - Add profile instrumentation to the LicensePage
    - Add profile instrumentation to the scheduleTask method
    - Make scheduleTask support returning a value
    - Make the license page builder logic use scheduled tasks so that it doesn't blow the frame budget
    a29d723c
foundation.dart 1.49 KB