我们的移动 Web 应用程序包括一个交互式设计器,我们使用HTML5 画布和Kinetic.js实现了它。我们试图在画布上动态渲染大约353个对象,其中 178 个是文本,其余的是线条和矩形。
在平移或缩放操作期间,画布变得无响应。似乎这种行为只在android设备上表现出来,因为在 IOS 上同样工作得非常好。我们还直接通过浏览器尝试了相同的应用程序,并注意到在 android 浏览器和 chrome 上存在类似的无响应行为。Firefox 比较敏感。
我们确实尝试了以下链接中提供的选项,但问题仍然存在(即多个画布层) 1) kineticjs 性能缓慢 2) HTML5 Canvas 在某些移动浏览器中的性能问题。
链接KineticJS - 使用 Stage.draggable 移动 4000 个图块中指定的方法, 如何在 dragstart 之前缓存整个图层并将其还原回 dragend?看起来很有希望,但我们可能无法做到这一点,因为我们的设计器将包含相当多的用户交互(如拖放绘图部分)。
我也确实在这里找到了另一个问题,引用了一个类似的问题https://stackoverflow.com/questions/18853952/kinectic-js-performance-on-android-4-1-devices-special-pan-and-zoom-is-unre
是否有任何其他可能的解决方案/修复来提高此性能,请提供帮助。
编辑:我们在以下设备上测试了我们的应用程序 1) Samsung Note 800 (Android 4.1.2) 2) Samsung Tab 2 (Android 4.1.2) 3) ASUS Transformer Pad TF300TG (Android 4.2.1) 和 4) Nexus 7 (安卓 4.3)。