mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
Reverts https://github.com/flutter/engine/pull/40895. Resolves https://github.com/flutter/flutter/issues/120399 (again). A bunch of frames get pumped on the main thread _without a transaction_ just before unmerging occurs (I don't know why this happens), and so checking the current thread to determine whether we need to present with a transaction or not isn't sufficient. In the prior fix, after the unmerge, the raster thread would hang for one second while waiting for the next drawable to get freed up (happens on the second raster thread frame post-unmerge), and then subsequent presents would just do nothing for a while, but eventually recover. `presentsWithTransaction` works whether the `CATransaction` stack is empty or not, and so the only difference here is that `presentsWithTransaction` is always turned on and `presentDrawable` is always avoided (otherwise it tries to present too early and nothing renders when platform views are present).
[Impeller] iOS/macOS: Only wait for command scheduling prior to present (redux) (flutter/engine#41501)
Description
Flutter makes it easy and fast to build beautiful apps for mobile and beyond
androidapp-frameworkcross-platformdartdart-platformdesktopflutterflutter-packagefuchsiaioslinux-desktopmacosmaterial-designmobilemobile-developmentskiawebweb-frameworkwindows
2.5 GiB
Languages
Dart
75%
C++
16.5%
Objective-C++
2.9%
Java
2.8%
Objective-C
0.7%
Other
1.9%