Make all views opaque for better scrolling
- 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
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