-
Notifications
You must be signed in to change notification settings - Fork 712
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Performance improvements for canvas #1186
Conversation
Wicked! So Snapppppy w/ lower node counts now.
|
Will add dynamic coords precision based on topo size in this PR.
|
Found that edge points are not immutable yet. working on that in this PR. |
@foot I added the precision optimization, as well as making edge points immutable. PTAL |
There might be a bit of a perf regression in the latest HEAD, dragging around the canvas is quite slow, I think it should be able to get away w/ only updating the svg element. |
d78fef1
to
4c553b8
Compare
Add debug.html to show toolbar Perfjankie test runner Playing w/ the pure mixin for perf. improvements * Works well! Smoother zooming/panning when things have settled. * Extract node movement to node-container, make nodes pure Extracted node chart elements into own components Keep control objects immutable while in components Keep layout state objects alive Made other components pure, removed mixin from stateless components Remove font size adjustment from scaling Fix zoomscale Move node transform to node * makes more sense there because the coords are rounded in the container dynamic coords precision based on topology size Make edge points immutable Remove nodes maximum for layout engine Dont send all canvas state down to next component moving layout handling back to nodes-chart.js Omit some props for edges/nodes, dont animate edges on low precision Moved AppStore access out of lower components
Helps a lot for dragging around the canvas.
Fixes #1034