Fintasys/emoji_picker_flutter

[Bug] GoogleFonts.noToColorEmoji performance issue

efalco777 opened this issue · 4 comments

How to reproduce:

  1. Replace initState with in main_custom_font.dart in lib/example of the project with:
@override
  void initState() {
    final fontSize = 24 * (isApple ? 1.2 : 1.0);
    // 1. Define Custom Font & Text Style
    _textStyle = DefaultEmojiTextStyle.copyWith(
      fontFamily: GoogleFonts.notoColorEmoji().fontFamily, // <---- notoColorEmoji instead of notoEmoji
      fontSize: fontSize,
    );

    // 2. Use EmojiTextEditingController
    _controller = EmojiTextEditingController(emojiTextStyle: _textStyle);
    super.initState();
  }
  1. open bottom sheet.

Expected:
App runs same as with other fonts

Actual:
App freezes on scroll, changing emoji tab, emoji picking etc. everythin that may update the sheet causes it to freeze up.

Issue might be related to debug asserts. This functionality is untestable on debug mode. Seems to run ok on profile mode nevermind it also lags, seems to be unrelated to google fonts as i've imported font manually it also simply makes the app unresponsive.

@efalco777 I'm sorry for the performance issues you see with the custom font. I followed the discussion on pro_image_editor thread and unfortunately, I don't have any further suggestions as the author there.
I'm open for suggestions and hoping for impeller improvements soon 🙏

hm21 commented

@efalco777 Flutter just had an update to version 3.24.0 and as we can see in the post here they mention it that they now improved the impeller for better emoji rendering. I recommend you to test it, maybe this issue is resolved now.

I tested it with 3.24.0 but unfortunately the performance is still very bad on iOS. I can't recognize and improvement to previous version.