-
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