【问题标题】:Android Tablet: Very poor Browser performance for HTML5 canvasAndroid 平板电脑:HTML5 画布的浏览器性能非常差
【发布时间】:2016-06-17 04:25:07
【问题描述】:

我买了一台新平板电脑(Asus Memo Pad 10,Android 4.2)。我做的第一件事就是尝试运行一个我编写的小型 HTML5 画布游戏。我看到帧速率非常差(3 fps),这很奇怪,因为我妈妈也有同样的 talet,而在她的身上,它以 30 fps 运行。我还买了另一台速度差不多的平板电脑,这款平板电脑的运行速度也达到了约 30 fps,与我的手机相同,它的性能也应该差不多,而且运行良好。所有浏览器都会出现这种情况,我尝试过 chrome、FF 和 Opera,它们都有 3 或 4 fps。除此之外,平板电脑似乎还不错,我尝试了其他游戏,例如运行良好的 Heartstone,我还运行了一个基准测试(pcmark),这给了我这款平板电脑的平均结果。我真的很想知道为什么我的游戏表现如此糟糕。它所做的只是一些基本的 2d 画布渲染。控制台中没有 js 错误。我不使用任何库/框架。 我使用 requestAnimationFrame() 进行渲染。当我改用 setTimeout() 或 setInterval() 时,游戏突然以更高的 fps 运行,但未能以该速度实际渲染,所以它实际上看起来仍然像 3 fps 左右,而循环运行 50 或 60 次秒。当我将“setTimeout”调用放在循环结束时也会发生这种情况。 还有一点需要注意的是:当我使用 chrome 开发工具检查性能时,cpu 似乎处于 90% 空闲状态,这可以解释为什么游戏运行如此缓慢。

有人知道为什么会发生这种情况以及我能做些什么吗?

【问题讨论】:

  • 胡乱猜测:你的华硕没有 GPU 和其他设备有 GPU(或更多内存)吗?
  • 没有。我做了显示正常结果的 3d 标记。但是,与我在应用程序中相比,我在浏览器中时可能会以某种方式禁用 gpu。
  • 更新:我写了一个小测试应用程序 (littlewargame.com/pt)。烤面包机应该以 60 fps 的速度运行,但我的平板电脑只能以 20 帧左右的速度运行,这肯定是错误的。

标签: javascript android html performance canvas


【解决方案1】:

好的,我使用了 chrome 标志 (chrome://flags),最终可以启用 2d 画布渲染,我的 GPU (Mali 400 MP) 默认情况下似乎无法正确支持。在标记所有 2d 画布内容后,它最终可以工作,并且 2d 画布现在被加速,至少对于 Chrome 而言。

【讨论】:

    猜你喜欢
    • 2011-09-28
    • 2011-07-27
    • 1970-01-01
    • 2012-10-12
    • 2012-09-03
    • 2013-02-03
    • 2011-05-10
    • 1970-01-01
    相关资源
    最近更新 更多