在使用HTML5画布和KineticJS的Android Webview上,平移、缩放性能差

在使用HTML5画布和KineticJS的Android Webview上,平移、缩放性能差,android,html5-canvas,android-webview,kineticjs,android-browser,Android,Html5 Canvas,Android Webview,Kineticjs,Android Browser,我们的移动web应用程序包括一个交互式设计器,我们使用HTML5 canvas和Kinetic.js实现了该设计器。我们正在尝试在画布上动态渲染大约353个对象,其中178个是文本,其余是直线和矩形 在平移或缩放操作期间,画布将失去响应。这一行为似乎只在android设备上出现,因为同样的行为在IOS上表现得异常出色。我们还通过浏览器直接尝试了相同的应用程序,并注意到android浏览器和chrome上存在类似的无响应行为。Firefox的反应相对灵敏 我们尝试了以下链接中提供的选项,但问题仍然

我们的移动web应用程序包括一个交互式设计器,我们使用HTML5 canvasKinetic.js实现了该设计器。我们正在尝试在画布上动态渲染大约353个对象,其中178个是文本,其余是直线和矩形

在平移或缩放操作期间,画布将失去响应。这一行为似乎只在android设备上出现,因为同样的行为在IOS上表现得异常出色。我们还通过浏览器直接尝试了相同的应用程序,并注意到android浏览器和chrome上存在类似的无响应行为。Firefox的反应相对灵敏

我们尝试了以下链接中提供的选项,但问题仍然存在(即多个画布层) 1) (二)

链接中指定的方法看起来很有希望,但我们可能无法使用,因为我们的设计器将包含相当多的用户交互(如拖放绘图部分)

我在这里也发现了另一个问题,引用了一个类似的问题

是否有任何其他可能的解决方案/修复程序来提高此性能,请提供帮助


编辑:我们在以下设备上测试了我们的应用程序1)三星Note 800(安卓4.1.2)2)三星Tab 2(安卓4.1.2)3)华硕Transformer Pad TF300TG(安卓4.2.1)和4)Nexus 7(安卓4.3).

在拖放之前,您肯定需要立即将舞台缓存为图像,因为如果您尝试在画布中非常快速地渲染数百个文本元素(本机画布或KineticJS),性能会很慢,尤其是在Android上。在拖动端,您可以使用destroy()销毁缓存的图像。

Hi,您的问题解决了吗?我甚至还有一个关于KineticJS+Android WebView=>的问题,因为某种原因,在华硕TF300TG上绘图时出现了一些小故障。不在Nexus7上。没有在其他设备上测试。没有Sochka,我还没有找到解决方案。我也尝试过通过纯画布javascript api呈现对象,令人惊讶的是,它在chrome和firefox上运行得非常好。webview上的性能仅略有提高。我尝试了预渲染(没有动力学),但当缩放超过一定程度时,文本和线条开始像素化。仍在努力寻找解决方案:(可能对某些人有帮助:有几个性能提示。还包括android提示。Eric肯定会尝试。我们最初尝试过对图像进行预渲染,但由于缩放超过某个点会导致文本和线条模糊(由于插值),因此停止研究此问题).我确实找到了一些关于防止插值的链接-我们将进一步研究。