我一直在开发一个使用Fabric JS的免费手绘图应用程序,以及一些自定义画笔类。然而,当我现在在iPad上进行测试时,某些专门喷涂的刷子例如变得超重,并且在仅仅4-5次之后几乎没有响应。
无论我的项目代码如何,都可以通过在iPad的Safari中打开官方演示来观察问题:Fabric JS Official Demo
我对其他画笔和图案的平滑行为非常满意。但是,在我甚至可以考虑发布应用程序之前,必须以某种方式修复此问题,因为这会对可用性产生非常不利的影响。
这是否与内存管理或喷涂创建太多对象实例有关?我可以进行一些更改,使其至少更快一些吗?
另一方面的注意事项是,我已经阅读了kangax(官方Fabric JS开发人员)的注意事项,如果不需要交互,Fabric会有静态画布的概念。我不确定这是不是使用自由绘图模式(拖放模式等),但我只是想在这里提一下,我根本不需要退出绘图模式。请告诉我解决此问题的好方法,特别是针对iOS设备。
答案 0 :(得分:0)
如下所示:https://github.com/kangax/fabric.js/wiki/Optimizing-performance
您可以使用 object.selectable = false &删除选择侦听器。同时删除选择 canvas.selection = false ,这将提高性能。
此外,你可以尝试 canvas.renderOnAddRemove = false ,因为你的喷雾是一组很多物体。
让我们知道它是否值得。