TheWidlarzGroup / rn-emoji-keyboard

Super performant, lightweight, fully customizable emoji picker 🚀
https://thewidlarzgroup.github.io/rn-emoji-keyboard/
MIT License
335 stars 63 forks source link

Fix: performance issues #163

Closed mateki0 closed 8 months ago

mateki0 commented 8 months ago

In this PR I add some limitations to the number of rendered emojis to prevent rendering emojis out of view.

Previously when we open a keyboard and it was on first category even emojis from the last one were rendered. That was causing problems not only in the keyboard itself but also on the screen where it was used. There's still a small delay on changing category but it's significantly reduced. However it may be caused by development build so I decided to go with it for now and search for more improvements in the future if needed.

Edit: as you can see from commits I was forced to also fix them in this PR to not break workflows on main after merging this one

closes https://github.com/TheWidlarzGroup/rn-emoji-keyboard/issues/148

jan-kozinski commented 8 months ago

good job 👍 tested on iPhone 15 simulator and Pixel 3a emulator, you can feel the difference on both. Looks much smoother than it used to

mateki0 commented 8 months ago

Nice! There is noticeably better performance. Unfortunately, it introduces an issue with the scroll indicator (screen recording below). Despite this, I think we could merge it and then think about a solution.

RPReplay_Final1705348348.MP4

I saw that too, but I didn't find a nice way to maintain a static size of scrollbar. However i thought that the overall performance is more important than scrollbar which is usually hidden in most applications. Anyway thanks for checks we can merge it (I'm not able to do so)