例如,通过设置stage.draggable(true)
我们可以使舞台可拖动。
默认情况下,它是连续运动,这意味着每次鼠标在舞台上进行拖动时,都会调用拖动事件。这导致我的应用程序出现滞后,可能是因为在每次拖动事件之后需要重绘大量形状。
因此,有什么方法可以控制拖动事件的计时?还是可以在每个拖动事件之间设置一个小的时间间隔?
否,在Konva
中,您无法控制调用拖动事件的时间。
[Konva
正在更新位置并在每个dragmove
事件上触发mousemove/touchmove
事件。
但不会立即绘制。可以使用requestAnimationFrame尽快绘制。
如果您希望完全控制拖动,则可以手动实施。就像(1)监听mousedown/touchstart
事件,(2)在mousemove/touchmove
上移动节点,以及(3)在mouseup/touchend
上停止拖动。
在最佳情况下,您需要找到优化图纸的方法。通常,缓存可以大大提高绘图性能。您可以在dragstart
上缓存,并在dragend
上清除缓存。
有关更多性能提示,请看这里:https://konvajs.org/docs/performance/All_Performance_Tips.html