• Y
    Adds API for retaining intermediate engine layers (#9461) · 94bb7a7f
    Yegor 提交于
    Add new optional named oldLayer arguments to all push* methods of the SceneBuilder class.
    
    When not null oldLayer signals to the engine that the intent is to update a layer rendered in a previous frame. The engine may optionally use that signal to reuse the resources allocated for that layer in the previous frame. For example, on the Web we can reuse existing DOM nodes and some of their properties and move fewer nodes around the tree.
    
    The return type of each push method has been tightened up. Instead of having all methods return the same EngineLayer type, each method has its own unique layer type, e.g. OffsetEngineLayer. oldLayer parameters match the returned type. This prevents the framework (and other developers using dart:ui directly) from accidentally supplying an engine layer of the wrong type.
    94bb7a7f
compositing.dart 30.3 KB