Unfortunately on robust boards, the iOS app / web interface is unusable.
vid: Discord
(see sean dm on discord for invite link to space in question)
Unfortunately on robust boards, the iOS app / web interface is unusable.
vid: Discord
(see sean dm on discord for invite link to space in question)
investigating… root culprit of perf drains here is the history/undo system
released an update that improves perf but still slow in safari
@lucas I’m wondering if you can help me track down the source of slow perf in v large spaces. Here’s a space you can use to import and repro the issue https://cdn.kinopio.club/Rc-VpnuVowIhCR071WXEJ/Inbox.json.zip
I tried the chrome profiler but couldn’t track down the specific slow methods that I should optimize
other slow interactions in this space are
these prob all have their own culprits, but knowing these ones too would help a lot. Most of the time slow perf is caused by over-eager vuex state updates that cause downstream re-computes/re-renders
This is a tough problem.
So far, I have found that ScrollHandler.handleScrollEvents
is pretty slow. It seems like the resulting Vuex state updates cause many components to re-render.
For further tests, I uncommented that line and found that dragging one card causes all cards to re-render. I don’t yet know why this happens, but I guess it should not.
Need to spend more time on this to find out more.
thanks for the tip @lucas! I refactored the client to no longer save scroll position using state and just shipped the update (https://github.com/kinopio-club/kinopio-client/commit/f255bc6e64ecfe10d6747e68651147160cd9bd9b). Things feel snappier, but it’s hard to tell. The big space is still slow overall.
Can you do another dive and find me more slow bits to optimize?
yes!
have an update that I need your feedback on to see if you notice a perf difference. Can you sign in through this beta url and try typing inside your busy space and let me know if there’s a performance difference?
shipped the performance increase. it didn’t turn out to be as dramatic subjectively as it seemed while I was building it. Let me know how it goes.