gpt4 book ai didi

performance - Ipad 上的 SVG 性能不佳

转载 作者:行者123 更新时间:2023-12-01 06:39:55 26 4
gpt4 key购买 nike

我正在使用 D3.js 渲染 3000 个 SVG 圆圈。 D3.js 效果很好,但您需要使用鼠标移动它们。在我的 Safari 桌面上效果很好,但是,当我在 Ipad 上渲染它们时……嗯,从 15 FPS 下降到 2/1 FPS。

如果我只渲染 500 圈……钢很差。有什么办法可以提高性能吗?

我正在使用这个移动它们:

var diff = this.lastClientX - getD3MousePosition().X;
if(isNumber(diff)){
this.XLines.forEach(function(line){
line.attr("x1",parseFloat(line.attr("x1")) - diff);
line.attr("x2",parseFloat(line.attr("x2")) - diff);
})
}
this.lastClientX = getD3MousePosition().X;
  • Diff 只是获得最后一次鼠标移动的变量。
  • getD3MousePosition() 为您提供 mouseX 和 mouseY 位置。
  • this.Xlines 具有对每个 SVG 圆圈的 jquery 引用,一旦渲染它们就从 D£.js 收集。

  • 基本上,我想在 Ipad 上以流畅的方式移动 3000 个 SVG 圆圈。

    谢谢!

    最佳答案

    尝试 CSS3 转换。您可以使用 CSS3 转换来转换点,而不是更改 SVG 位置属性。这在 iPad 上可能会更流畅。

    如果这还不够好:您可以尝试使用 HTML5 Canvas 而不是 SVG 以获得更好的渲染性能。 D3 支持 Canvas 进行渲染。

    关于performance - Ipad 上的 SVG 性能不佳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11802481/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com