javascript - 安卓平板电脑 : Very poor Browser performance for HTML5 canvas

标签 javascript android html performance canvas

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

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

最佳答案

好的,我在 chrome 标志 (chrome://flags) 中试了一下,最终可以启用 2d Canvas 渲染,默认情况下我的 GPU (Mali 400 MP) 似乎无法正确支持。在标记所有 2d canvas 东西后,它最终可以工作并且 2d canvas 现在加速了,至少对于 Chrome 是这样。

关于javascript - 安卓平板电脑 : Very poor Browser performance for HTML5 canvas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35779039/

相关文章:

javascript - 除非刷新页面,否则 jQuery Ajax 点击不起作用

javascript - HTML5 Canvas 覆盖在网页之上?

android - 使用 okHttp 从 URL 获取文本时出现逻辑错误

Android 启动画面,不透明背景不起作用

html - <small> 标签使段落高度变大

html - float 元素超出页脚

javascript - axios 库中的超时功能不起作用

android - 在 Android 中创建选项菜单

javascript - Bootstrap 3 - 折叠时自定义导航栏相对于品牌/ Logo 的位置

javascript - 多个select元素在同一个页面时,如何获取正确的selectedIndex?