Closed fedarko closed 7 years ago
Tried a small test with component 1 of shakya. not impressed; i didn't notice much if any of a speedup. granted, i tried this using
cy.style().selector('edge').style('curve-style', 'bezier').update();
so maybe initializing edges as bezier is faster?
Update: initializing edges as beziers from the start didn't really help much. Probably a tiny speedup, but nothing I noticed.
I guess I could come back to this later, but for now I think my time would be better spent on other things (even focusing on optimizing other parts of the viewer).
Yeah, I tried all the different spline types in GraphViz. With the Velvet E. coli assembly graph, all* spline types resulted in an identical node layout, just with different edges. So it looks like the spline type doesn't have an impact on the actual layout.
(The polyline/line spline options are sort of interesting, and might be worth looking into as possible alternatives for the default splines. However, right now they're functionally equivalent to the default splines.)
*I wasn't able to get "curved" splines working, since those use a different .xdot format than the other edge types. They're also not really what we want, I think.
Actually, hold up. consider the outputorder graphviz property; try it with edgesfirst and see what happens.
Didn't look like edgesfirst or nodesfirst (with or without polylines, with or without using segments instead of unbundled-bezier in Cytoscape.js) made much of a difference for removing a badbezier edge on the Velvet salmonella assembly graph. (Trying "ortho" made pygraphviz angry at me.)
Re-closing, then.
What this would do is allow us to, say, make all edges straight lines where possible.
And what this would do is facilitate the use of simple bezier edges in Cytoscape.js instead of complicated unbundled bezier edges.
Which could improve performance a decent amount; do some testing with the shakya dataset and see how performance changes with all haystack/bezier edges instead of unbundled beziers, and see if it looks like it'd be worth implementing this