Sunny-Lau / dirty-room

GNU General Public License v3.0
0 stars 0 forks source link

FE: Roster Performance Issue #50

Open sync-by-unito[bot] opened 4 years ago

sync-by-unito[bot] commented 4 years ago

I checked current structure of roster and found some things you should fix for better perfomance:

  1. We use AutoSizer component for react-virtualized List component, would be better if AutoSizer would be removed. AutoSizer receives children as function, so each time it will be rerendered.
  2. Current data flow for MembersContainer is bad. The best way would be to update attendeesSelector to return only sorted attendees IDs. For now it returns big object with all attendee properties. So you can pass attendeeId to ContactItemContainer and receive all props from redux state inside.
  3. UserPicture component produces a lot of cascading update (I found it in profiler). I am not sure how to fix this, but this issue can produce lags for large meetings.

initial PR fix: https://github.com/esna/spaces-front/pull/3366