我刚才正在重写我的代码,感觉慢了很多。以前它几乎是即时的,现在我的动画需要 4 秒才能对鼠标悬停做出反应。
我尝试删除过渡并且没有更改不透明度,但它仍然很慢。
虽然它更具可读性。- -;
我唯一做的就是将大型函数拆分为更小的更合乎逻辑的函数,并重新排序分组并使用新的选择。什么会导致如此巨大的速度差异?我的数据集也不大……16kb。
编辑:我还拆分了我庞大的整体链。
edit2:我对我的代码做了一些修改,似乎切换到 nodeGroup.append("path") 导致它比 svg.append("path") 慢得多。不过,关于这一点的不雅点是,当整个组已经转换时,我必须在使用 svg 时将绘制的路径转换到中间。任何人都可以发表一些见解和 group.append vs svg.append 吗?
编辑3:此外,我在重绘之前使用 opacity:0 隐藏我的所有路径线,这导致它变得越来越慢,因为这些线从未被删除。切换到 remove();