我正在开发一个带有kinetic的网络应用程序。我有不同的'视图'每个视图包含几个层。每个图层都包含图像/组/形状,但主要是图像。
当显示视图时,另一个视图将被隐藏(显然),并且显示的视图被构建(图像被创建并添加到指定的图层),如果还没有完成,以防止在开始时大量绘图网络应用程序
+查看
| +层
| | +形状
| | + ..
| +层
| + ...
...
随着我的项目的增长,我注意到在视图之间切换时滞后。所以我的搜索begon ...
我认为'也许大量的图像会导致画布滞后',所以我用不需要在画布上的图像替换了放在DOM中的图像(带背景的div)。
使用这两种方法都会导致moueUp事件导致200ms的延迟!这个方法的动力学参考代码:
Kinetic.DD._endDrag = function (evt){ ... }
没有在导致视图更改的被点击对象上设置拖动事件
当看到完整的动力学测试用例时,还有另一个事件; mouseMove导致300ms滞后!在kintec中对代码的引用指向了我的部分:
that.content.addEventListener
inside
_bindContentEvents: function ()
评论说:
/**
* begin listening for events by adding event handlers
* to the container
*/
这些功能内部会发生什么?没什么,它只是空闲......这可以通过在更改视图时创建配置文件来证明。 95%的CPU时间用于空闲......
我陷入困境我怎样才能摆脱这种滞后,这让我的网络很快! (这是在桌面上,它需要在移动设备(标签)上执行,以及!!