Performance Paperjs:仅绘制更改的项目

Performance Paperjs:仅绘制更改的项目,performance,paperjs,Performance,Paperjs,我正在做一个项目,在这个项目中,经常有成千上万的项目被纸画出来。这是非常缓慢的,因为paperjs正在重新绘制每个项目,即使它们没有更改。有没有办法避免这种情况 我已经找到了解决问题的方法,但是它似乎不再被维护,并且有一些问题没有正确地清除项目 只是想知道是否有一个“合适的”内置paperjs解决方案我还没有找到,或者我只需要做我自己的叉子 要创建我正在使用的项目,请执行以下操作: new Path.Rectangle(start, values.blockSize); 然后再改变它的颜色 因

我正在做一个项目,在这个项目中,经常有成千上万的项目被纸画出来。这是非常缓慢的,因为paperjs正在重新绘制每个项目,即使它们没有更改。有没有办法避免这种情况

我已经找到了解决问题的方法,但是它似乎不再被维护,并且有一些问题没有正确地清除项目

只是想知道是否有一个“合适的”内置paperjs解决方案我还没有找到,或者我只需要做我自己的叉子

要创建我正在使用的项目,请执行以下操作:

new Path.Rectangle(start, values.blockSize);
然后再改变它的颜色

因此,您可以看到它在高网格大小下的速度有多慢


谢谢,我想我的叉子可以帮你。我应该提供文件的。是我解释我更改了什么以及它是如何工作的线程(应该可以将这些更改与最新的paper.js合并)


还有两个示例:(渐进淡出)和(单击并按空格键查看差异)。代码在绘图目录中,但我不确定您是否能看到它。

我想我的fork可以帮助您。我应该提供文件的。是我解释我更改了什么以及它是如何工作的线程(应该可以将这些更改与最新的paper.js合并)


还有两个示例:(渐进淡出)和(单击并按空格键查看差异)。代码在drawings目录中,但我不确定您是否能看到它。

谢谢-我已经尝试过了,它几乎就在那里,只是在清除项目方面有问题,而且已经过时。我可能会用你的叉子来做我自己的叉子,来修复这个bug,然后使用它。是的,如果你理解我在线程中所做的修改的话。问我你是否需要什么(我很高兴你能使用这个功能,我认为它很重要)。谢谢@arthur.sw。您是否计划在pull请求中提交对paper.js的持久性更改?作者并不真的想实现这些功能:“但我厌倦了添加淡入淡出效果,因为我希望这个库与后端无关,因此我只能添加一些稍后也可以在SVG/WebGL中轻松添加的内容。”也许我们应该再问一下,是否有很多用户对它感兴趣。在Paper.js中有SVG后端的计划,但目前还没有确定的消息。据推测,SVG负责那些只更新场景中已更改部分的图形优化。我认为正确的方法是看看我们是否可以修改Paper.js来更新场景中发生变化的部分。我知道这是一项艰巨的任务,但这是这里最合适的解决方案。谢谢-我已经尝试过了,它几乎在那里,只是结算项目有问题,加上过时。我可能会用你的叉子来做我自己的叉子,来修复这个bug,然后使用它。是的,如果你理解我在线程中所做的修改的话。问我你是否需要什么(我很高兴你能使用这个功能,我认为它很重要)。谢谢@arthur.sw。您是否计划在pull请求中提交对paper.js的持久性更改?作者并不真的想实现这些功能:“但我厌倦了添加淡入淡出效果,因为我希望这个库与后端无关,因此我只能添加一些稍后也可以在SVG/WebGL中轻松添加的内容。”也许我们应该再问一下,是否有很多用户对它感兴趣。在Paper.js中有SVG后端的计划,但目前还没有确定的消息。据推测,SVG负责那些只更新场景中已更改部分的图形优化。我认为正确的方法是看看我们是否可以修改Paper.js来更新场景中发生变化的部分。我知道这是一项艰巨的任务,但这是最恰当的解决方案。