The overview screen is slow to respond to resizing when there are a lot of sessions loaded. When profiling, the bottleneck centers around ResponsiveContainer, which is the container we are using from recharts:
After trying some things, the only thing that seemed to help was to set width to '0' and defining an aspect ratio on the ResponsiveContainers. Unfortunately, we already have a set height, so this makes the charts not really responsive at all.
Experimenting with the debounce option on ResponsiveContainers didn't make a noticeable difference with upward of 4000 sessions.
Using breakpoints in css to set the widths on dashboard__chartContainer, which contains the ResponsiveContainers, did not help substantially with large numbers of sessions/charts, but improved the experience for small numbers.
This may require some rethinking; perhaps hiding the charts while resizing. Perhaps rolling our own responsive container. Perhaps each chart should be a set size with an option to click on an individual chart for a detailed view.
The overview screen is slow to respond to resizing when there are a lot of sessions loaded. When profiling, the bottleneck centers around
ResponsiveContainer
, which is the container we are using from recharts:After trying some things, the only thing that seemed to help was to set width to '0' and defining an aspect ratio on the
ResponsiveContainer
s. Unfortunately, we already have a set height, so this makes the charts not really responsive at all.Experimenting with the
debounce
option onResponsiveContainer
s didn't make a noticeable difference with upward of 4000 sessions.Using breakpoints in css to set the widths on
dashboard__chartContainer
, which contains theResponsiveContainer
s, did not help substantially with large numbers of sessions/charts, but improved the experience for small numbers.This may require some rethinking; perhaps hiding the charts while resizing. Perhaps rolling our own responsive container. Perhaps each chart should be a set size with an option to click on an individual chart for a detailed view.