Hey everyone :slightly_smiling_face: I have a ques...
# compose
l
Hey everyone 🙂 I have a question about the rendering of
UiKitView
and
AndroidView
elements in KMP Compose. Are these rendered using the Skia/Skiko layer? If so, is the performance overhead similar as for Flutter?
🚫 1
Hmm, thanks for the emoji response I guess 😄 Anyone else know the nitty gritty about the rendering pipeline?
l
Last I checked, AndroidView gets rendered in memory to a Bitmap, then drawn via Compose. This may have changed, though. UIKitView is an actual iOS view managed by the OS.
r
No AndroidView doesn't get rendered to a Bitmap
☝🏼 1
On Android Compose and Views share the same renderer (the same renderer instance even; as far as the renderer is concerned there are no differences between Views and Compose)
(which is based on Skia)
l
Thanks! This is very interesting indeed. On Android this makes total sense. But on iOS you can still mix and even stack "custom" composables and UiKitViews?
For some more context, we develop a library that uses the underlying platform's Web View component. When used in Flutter we have noticed rendering performance degradation. I have read that this is a known issue with Platform Views in Flutter, and since both KMP and Flutter rely on Skia related technologies it would be nice to know how KMP solves mixed elements on platforms other than Android. As a reference, https://docs.flutter.dev/platform-integration/android/platform-views#performance