由于我的移动网络应用程序存在一些严重的性能问题,我想提供我的解决方案并要求提供进一步的提示&保持KineticJS性能的技巧,特别是在移动设备上...
就我而言,在桌面浏览器上,一切似乎都很好,但应用程序崩溃了移动设备及其浏览器。过了一会儿,我发现浏览器的高度和宽度(或更好:视口)远远高于原始设备分辨率。要解决此问题,我只需在index.html
中添加以下行:
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
所以我很高兴听到,如果你们中的任何人发现其他一些方法可以保持性能提升,或者在使用KineticJS时有任何特殊的性能杀手可以避免。
答案 0 :(得分:3)
我也刚刚开始使用KineticJS,但一直在大量使用它,因为我们正在构建一个画布Web应用程序。我发现影响性能的是:
你在一个图层上绘制的形状越多,一切就越慢。
你应用的补间/动画越多,一切都越慢。
这些事情非常明显,所以我将更详细地解释我们为解决这个问题所采取的措施。
如果要绘制10,000个形状,则在1层上绘制它们会比绘制10层并在每层添加1,000个形状要慢。但是绘制20层并且每层添加500个形状比最后一层慢。
不知何故,你必须尝试不同的方法,看看哪一种影响较小。
另一件事。避免操纵不必要的物体。例如,如果您有10个组,每个组有100个形状。一次只能看到一个组,您将在组中应用补间;而不是懒惰并为所有组应用补间,将一些工作放入其中,然后将补间应用于该一个可见组。
也鼓励形状缓存。
除了这些事情,我没有其他想法。我正在处理这一切。这对我来说很新鲜。但是我看到没有人发表任何评论所以我想把2美分放在游泳池里。