Slide 104
Slide 104 text
Appendix
104
C. FLUTTER RENDERING
●
On iOS and macOS, Flutter is loaded into the embedder as a UIViewController or NSViewController,
respectively. The platform embedder creates a FlutterEngine, which serves as a host to the Dart VM and your Flutter runtime, and a
FlutterViewController, which attaches to the FlutterEngine to pass UIKit or Cocoa input events into Flutter and to display frames
rendered by the FlutterEngine using
Metal or OpenGL.
● On Android, Flutter is, by default, loaded into the embedder as an Activity. The view is controlled by a FlutterView, which renders
Flutter content either as a view or a texture, depending on the composition and z-ordering requirements of the Flutter content.
●
On Windows, Flutter is hosted in a traditional Win32 app, and content is
rendered using
ANGLE, a library that translates
OpenGL API calls to the DirectX 11 equivalents.
Efforts are currently underway to also offer a Windows embedder using the UWP app model, as well as to replace ANGLE with a
more
direct path to the GPU via DirectX 12.