Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: remove unecessary dom re-calc in grid render (#1632)
While looking at some perf snapshots I noticed calls to updateCanvasScale on every grid render had a ~0.25-0.5ms perf cost (including table ticks). Mostly due to touching the dom with the set width/set height calls triggering a recalculate style call and the getScale call. While insignificant, it is also unnecessary unless size actually changes. Making it conditional improves perf on most re-renders. I used parseFloat in case grid somehow ends up with fractional pixel if set outside of our control (which shouldn't happen, but you never know with plugins). Before: ![image](https://github.com/deephaven/web-client-ui/assets/1576283/2d24c2b7-cc32-409d-aa7c-4020a263cbee) After: ![image](https://github.com/deephaven/web-client-ui/assets/1576283/b2fe80ce-354a-47d1-a788-6abb071c462d) updateCanvasScale is now gone from the perf profile entirely on a normal grid render. Tested re-sizeing panels, and window with table both shown and hidden still resizes grid correctly.
- Loading branch information