Skip to content
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

UI Performance #47

Open
mfburnett opened this issue Jul 21, 2015 · 4 comments
Open

UI Performance #47

mfburnett opened this issue Jul 21, 2015 · 4 comments

Comments

@mfburnett
Copy link

My friends and I have been playing around with spigo, and so far it's been great. One thing we’ve noticed is that for higher node visualizations, performance becomes a major problem. For migrations/9, I was unable to even use the graph as the frame rate became less than 5 per second.

After timelineing the graph and looking at the styles, I was able to conclude that paint times were the largest contributor of poor performance. After diving deeper, I would suggest that instead of manipulating positioning on the nodes and tool-tips, I would manipulate it using transforms so it renders in its own layer. http://www.html5rocks.com/en/tutorials/speed/high-performance-animations/

You might want to look into debouncing the scroll events with requestAnimationFrame, so you’re not doing too much scripting into one frame (16ms).

After that, you could try to reduce the amount of nodes on the screen with some kind of clustering, as this would ease rendering performance as well. You could do cool things with clicking to see subnodes to still be able to show all the nodes if you wanted to.

@mfburnett mfburnett changed the title Repaints like positioning/color of nodes causing rendering issues with lots of nodes UI Performance Jul 21, 2015
@adrianco
Copy link
Owner

Thanks Mackensie, much appreciated. I'll let Kurtis figure out how to incorporate this advice.

@kkemple
Copy link
Collaborator

kkemple commented Jul 23, 2015

@mfburnett great advice! 👍

big fan of transforms over js postitioning, investigating that with D3 force layouts

We are also going to incorporate clustering and that alone should help with node count and repaints, was considering using react and native svg and then just trying to utilize d3 layouts without d3 rendering, any thoughts on this approach?

@hubayirp
Copy link

D3 for math and React got rendering works..
On Thu, Jul 23, 2015 at 10:55 AM Kurtis Kemple notifications@github.com
wrote:

@mfburnett https://github.com/mfburnett great advice! [image: 👍]

big fan of transforms over js postitioning, investigating that with D3
force layouts

We are also going to incorporate clustering and that alone should help
with node count and repaints, was considering using react and native svg
and then just trying to utilize d3 layouts without d3 rendering, any
thoughts on this approach?


Reply to this email directly or view it on GitHub
#47 (comment).

@mfburnett
Copy link
Author

@kkemple agree on the decision to cluster - pulling in my friend @jaxgeller who has a lot more experience with react than me to weigh in with thoughts on your approach

@kkemple kkemple removed their assignment Apr 19, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants