【问题标题】:Poor mouseEvent performance in Firefox on LinuxLinux 上 Firefox 中的 mouseEvent 性能不佳
【发布时间】:2014-05-23 06:32:17
【问题描述】:

我正在尝试创建一个跨浏览器的高性能 SVG 绘图应用程序。

我目前的实现基于codepen, right here.

在 Google Chrome 上,性能非常完美。然而,在 Firefox 上,触发 mouseevents 时存在问题。

我之前制作的另一个绘图应用程序是使用 HTML5 画布制作的。你可以看到类似的糟糕性能here.这两个应用程序的性能是相同的,所以我可以从逻辑上得出结论,它既不是 SVG 也不是 html 的画布减慢了 Firefox,我也没有使用任何外部库,它是纯 js。

我在我的 PC 上运行 Ubuntu,在 Windows 上运行的 Firefox 上没有这些性能问题。有什么办法可以在 JavaScript 中解决这个问题,或者这是一个错误。

注意:我听说 Firefox 从预装的 ubuntu 包中遇到了一些性能问题,我删除了它们,所以不是这样。

【问题讨论】:

    标签: javascript html performance firefox svg


    【解决方案1】:

    这是系统特定的错误/错误/性能问题,或者您没有安装最新的 Firefox。我使用 nvidia-331 版本 331.38 图形驱动程序运行 Ubuntu 14.04 64 位。

    这两个应用程序在 Google Chrome(包括所有开发渠道)和 Firefox 29 中运行时没有明显延迟。您可能需要检查您的 Firefox 版本并可能进行更新:

    $firefox  --version
    Mozilla Firefox 29.0
    

    如果没有显示版本 29,您需要更新以确保这不仅仅适用于您的版本。推荐通过 ppa 安装:

    sudo apt-add-repository ppa:ubuntu-mozilla-security/ppa
    sudo apt-get update
    sudo apt-get install firefox
    

    这应该安装最新版本的 Firefox。您还应该确保您拥有适合您的显卡的最佳驱动程序;开源一次并不总是最好的选择。

    【讨论】:

    • 我有 Ubuntu 14.04 64 位,我检查了我的 Firefox 版本,命令行不起作用,所以我只是在浏览器本身中检查了我的 Firefox 版本,它是 29.0。的确,我没有最新的显卡驱动程序,但既然它在 Chrome 上完美运行,但在 Firefox 上却不行,为什么会出现问题呢?之前尝试过安装官方的Linux AMD驱动,但是失败得很惨。
    • 您可以尝试关闭硬件加速,这会导致某些硬件的延迟和性能下降。转到首选项 -> 高级 -> 常规并取消选中“可用时使用硬件加速”...
    • 谢谢你的建议,但是没有用,我关闭了硬件加速,卡顿还在。此外,为了描述延迟,在最初的约 4-5 秒内绘图非常流畅,然后开始变得有点波涛汹涌。 10 秒或更长时间后,它完全无法使用。好像有什么东西让 Firefox 的速度大大减慢了。
    • 所以...我做了一些测试,结果发现 Firefox 只使用了你 CPU 的一个核心,而 Google Chrome 使用了所有核心。在处理图形时,多核处理通常是相当关键的。我确实发现在绘画一段时间后出现了延迟,并且应用程序在一段时间后变得无法使用(在 Firefox 中)。 bugzilla.mozilla.org/show_bug.cgi?id=392073 (bugzilla)...虽然不知道它在 Windows 上工作的原因,但我也没有找到解决您问题的方法。
    猜你喜欢
    • 2013-01-07
    • 2014-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多