The newest Cytoscape.js version as of writing is v3.34.1 (released earlier today), which includes cytoscape/cytoscape.js#3491 :)
However, on my system (and this is a big disclaimer for this issue: on my system, which is like an > 8 year old laptop) I feel that the "corrected" zoom speed as of cytoscape/cytoscape.js#3336 (even after the GCD fix) is too slow, particularly on large graphs. Zooming in on large graphs on my laptop feels sluggish.
I did some testing with the august1 test graph (~28k nodes and ~22k edges). Drawing all of the graph legit feels more responsive when using the older Cytoscape.js version, without cytoscape/cytoscape.js#3336 and the later fixes. It feels noticeably snappier when using the jerkier scrolling.
Some ideas I had for why this might be the case (again, all with the caveat that this is specific to my system):
-
Maybe increasing wheel sensitivity for the new Cytoscape.js version to match the old "jerkiness" would help?
-
The 3336 fix clamps the first few inputs. Is that related? Maybe each input is just slower on a big graph, so the effect of clamping is more pronounced?
-
Maybe slower scrolling means more time spent on the initially-zoomed-out view of the graph, and since that means there is more stuff visible then that means performance is worse?
I verified that increasing the wheel sensitivity up to a really high value of 10 made the UX with the big all-of-aug1 graph (and the new Cytoscape.js version) much nicer -- felt comparable to the old Cytoscape.js version.
So, that all being said... as the Cytoscape.js docs repeatedly say, it is not a good idea to set the wheel sensitivity for everyone based on just one system. If the current wheel sensitivity stuff feels good for most users, then setting it to 10 just to make my life nicer will make everybody else go flying.
We could make the wheel sensitivity configurable, but I don't like that because this should really be done on a system-by-system level, not a every-time-you-run-mgsc-you-change-the-same-option level.
So! I think, for at least the immediate moment (when we are in a hurry to finally get this paper out ...), sticking with the old version of Cytoscape.js makes sense. But eventually it would be best to upgrade to a newer version, and figure out a way to balance things. I am very curious to see how the aug1-all graph "feels" on a normal system (e.g. a macbook or something). I think that will influence how this should go.
(One option we could do is set the wheel sensitivity based on how big the currently-drawn region of the graph is, which would be fun. But I again I am wary of breaking things for everyone, which is what will happen if this is not tested thoroughly enough.)
The newest Cytoscape.js version as of writing is v3.34.1 (released earlier today), which includes cytoscape/cytoscape.js#3491 :)
However, on my system (and this is a big disclaimer for this issue: on my system, which is like an > 8 year old laptop) I feel that the "corrected" zoom speed as of cytoscape/cytoscape.js#3336 (even after the GCD fix) is too slow, particularly on large graphs. Zooming in on large graphs on my laptop feels sluggish.
I did some testing with the august1 test graph (~28k nodes and ~22k edges). Drawing all of the graph legit feels more responsive when using the older Cytoscape.js version, without cytoscape/cytoscape.js#3336 and the later fixes. It feels noticeably snappier when using the jerkier scrolling.
Some ideas I had for why this might be the case (again, all with the caveat that this is specific to my system):
Maybe increasing wheel sensitivity for the new Cytoscape.js version to match the old "jerkiness" would help?
The 3336 fix clamps the first few inputs. Is that related? Maybe each input is just slower on a big graph, so the effect of clamping is more pronounced?
Maybe slower scrolling means more time spent on the initially-zoomed-out view of the graph, and since that means there is more stuff visible then that means performance is worse?
I verified that increasing the wheel sensitivity up to a really high value of 10 made the UX with the big all-of-aug1 graph (and the new Cytoscape.js version) much nicer -- felt comparable to the old Cytoscape.js version.
So, that all being said... as the Cytoscape.js docs repeatedly say, it is not a good idea to set the wheel sensitivity for everyone based on just one system. If the current wheel sensitivity stuff feels good for most users, then setting it to 10 just to make my life nicer will make everybody else go flying.
We could make the wheel sensitivity configurable, but I don't like that because this should really be done on a system-by-system level, not a every-time-you-run-mgsc-you-change-the-same-option level.
So! I think, for at least the immediate moment (when we are in a hurry to finally get this paper out ...), sticking with the old version of Cytoscape.js makes sense. But eventually it would be best to upgrade to a newer version, and figure out a way to balance things. I am very curious to see how the aug1-all graph "feels" on a normal system (e.g. a macbook or something). I think that will influence how this should go.
(One option we could do is set the wheel sensitivity based on how big the currently-drawn region of the graph is, which would be fun. But I again I am wary of breaking things for everyone, which is what will happen if this is not tested thoroughly enough.)