这是indexloc提供的服务,不要输入任何密码
Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: flutter/engine
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: c5fc179cf0b3
Choose a base ref
...
head repository: flutter/engine
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 726a137e3f99
Choose a head ref
  • 1 commit
  • 8 files changed
  • 1 contributor

Commits on Dec 16, 2023

  1. Add FlutterMetalLayer as optional alternative to CAMetalLayer (#48226)

    This PR implements `FlutterMetalLayer`, a drop-in (as far as Flutter is
    concerned) replacement for `CAMetalLayer`. The biggest difference is
    that `FlutterMetalLayer` can present frames from background thread
    within a `CATransaction`.
    
    `FlutterMetalLayer` is disabled by default. To opt-in, add the following
    item to `Info.plist`:
    
    ```xml
            <key>FLTUseFlutterMetalLayer</key>
    	<true/>
    ```
    
    The performance seems quite good, consistent 120hz on iPhone 13 Pro.
    
    Benefits
    - presenting with transaction from background thread, which, down the
    line, would allow for platform views without thread merging.
    - fine control over how the surface is displayed - we can display single
    surface on multiple `CALayers`, each showing different part, allowing
    for performant implementation of unobstructed platform views.
     
    Drawbacks
    - this not being a metal layer makes working with metal instrument tools
    more awkward
    knopp authored Dec 16, 2023
    Configuration menu
    Copy the full SHA
    726a137 View commit details
    Browse the repository at this point in the history
Loading