This moves data retrieval from data rows into data pages. I noticed a bunch of time was spent negotiating data retrieval inside each <DataRowContents />, so this improves that by making it happen in one (or, if the user is on a boundary, two) places instead of 30+. This net about a 30% boost over the original 'new page' render time.
I also moved the DOM structure to be based on DataPages that are in layers and moved as a group instead of inidivudally. This net an additional 15% improvement over the original 'new page' time.
Some small weekend tweaks.
This moves data retrieval from data rows into data pages. I noticed a bunch of time was spent negotiating data retrieval inside each
<DataRowContents />
, so this improves that by making it happen in one (or, if the user is on a boundary, two) places instead of 30+. This net about a 30% boost over the original 'new page' render time.I also moved the DOM structure to be based on DataPages that are in layers and moved as a group instead of inidivudally. This net an additional 15% improvement over the original 'new page' time.
Cost to render a new page before:
after: