badoo / badoo/Chatto

Make all views opaque for better scrolling

Open
#191 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Swift
Stars
4.6k
Forks
588
PR merge metrics
No merged PRs in 30d

Description

Hello!
In issue #54 said that, if we want to use only one bubble style (without no color configuration), we need to provide our own custom style with opaque images.
So, if i just set `backgroundColor` property, to `bubbleView` and it's subviews it won't remove blended layers? And how can i deal with rectangular edges? As far as i know setting `cornerRadius` property only make scrolling performance worse?
I added a time label and status label (with spin animation) inside bubble view, and i'm getting serious frame dropping, so that's why i wanna try to remove blended layers. Also, i want to use only one color scheme, without any bubble color external configuration.

P.S. Also, I noticed some strange behavior - when I open chat first time i see some frame dropping when I scroll to top, but after, when i scroll up and down, scrolling is much better. So, as i understand `Chatto` caches each message `layout`, but when i pop back to previous screen `NSCache` variable cleans out, what is the best way to save bubble layouts to remove such behavior?

Many thanks for any reply!

Contributor guide

Open the contributing guide

Research direction

The issue names issue #54, bubbleView and its subviews, time and status labels, and NSCache-backed message layouts; start by reading #54 and profiling the first and later scrolls. Determine whether opaque views and persistent layout caching address the reported frame drops, then validate scrolling behavior and rectangular edges.

Written by the indexing model from the issue text.

Assessment

Tech stack
ios, swift
Domain
mobile-dev, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.