首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >手机Android HTML5硬件加速-画布

手机Android HTML5硬件加速-画布
EN

Stack Overflow用户
提问于 2012-11-07 23:38:49
回答 6查看 4.1K关注 0票数 4

我有个奇怪的问题。当我启用硬件加速时,如果我正在绘制到画布元素,画布上所绘制的任何内容都将重新绘制到页面的顶部。

如果关闭硬件加速,则不会发生此问题。

我只在Android4.1.1上亲自测试过它,但不久前我在一个用户身上注意到了这个问题,我无法复制(他们至少在Android 3+上)。

我不能准确地抓取屏幕截图(不太确定如何在Android上这样做),但我会尝试打破这个过程。

支持硬件accel的

  1. 用户填写通常的详细信息。
  2. 用户滚动到页面底部,在画布元素上绘制签名。
  3. 如果用户忘了页面顶部的内容,滚动到页面顶部
  4. 出现视觉错误时,他们所绘制的签名出现在页面的顶部。

但是,如果没有硬件accel,则不会发生第4步。我应该对HTML5画布做些什么吗?

我不知道我需要在这里传递什么信息--三星、宏达电和谷歌Nexus手机/平板电脑上似乎都有这种情况,所以这是一个一致的错误。

我试着四处搜索,但最后总是得到游戏开发线程或类似的东西。

我真的很想启用硬件Accel,这是唯一的问题--性能的提高真是难以置信。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2012-12-31 17:22:00

安卓系统中复制的HTML5画布问题已经用4.1.1版本解决了,而且在最新的4.2版中还没有解决。

解决方案是,画布上父overflow:hidden元素的none将具有或overflow:scroll。

票数 8
EN

Stack Overflow用户

发布于 2012-11-08 05:20:11

好的,我想出了HACKIEST的解决方案。启动onTouchEnd事件后,必须执行以下操作

代码语言:javascript
复制
1. Append changes to the canvas. It'll double-draw
2. Create a clone of the canvas
3. remove the canvas, re-add it
4. Copy the data from the clone over

然后虫子就消失了。荒唐可笑。

我不得不让它开始工作,在移除硬件accel之后,我注意到jQM是多么笨重

票数 2
EN

Stack Overflow用户

发布于 2013-04-04 11:00:24

我也有同样的问题。在我的例子中,似乎是由jquery移动css引起的。

详细介绍guya添加的内容,转到jquery.mobile.structure.css文件并更改这一行:

..ui内容{边框宽度: 0;溢出:可见;溢出-x:隐藏;填充:15.ui;}

..ui内容{边框宽度: 0;溢出:可见;填充:15.ui;}

删除溢出-x:隐藏属性解决了问题。

资料来源: Github / thomasjbradley /签名垫/问题

编辑:奇怪的是,当画布宽度为256 or或更小时,我注意到问题没有发生。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13280195

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档