Html5 canvas 关于性能,将ColorFilter永久应用于Bitmap.image 我有一张背景图片很大的画布/舞台 我有一个在舞台上画画的形状 我已使用shape.cacheCanvas将AlphaMaskFilter应用于背景图像

Html5 canvas 关于性能,将ColorFilter永久应用于Bitmap.image 我有一张背景图片很大的画布/舞台 我有一个在舞台上画画的形状 我已使用shape.cacheCanvas将AlphaMaskFilter应用于背景图像,html5-canvas,easeljs,createjs,Html5 Canvas,Easeljs,Createjs,这个很好用。我的位图只显示在我绘制形状的地方,包括斯托克斯而不仅仅是填充。好的 现在我需要有一个特定颜色的背景纹理-目前它是一个PNG,颜色都是白色和alpha,所以它提供了一个像粉笔一样的粗糙纹理 现在我使用AlphaMaskFilter应用颜色过滤器,将图像设置为红色或任何颜色。 一切正常,但现在性能显著下降。但是为什么呢 我认为位图数据会在缓存中使用更改的颜色值,那么为什么会影响性能呢 如何永久应用颜色过滤器或以其他方式对图像着色,使其与原始未着色图像在性能方面相同?是否对勾号应用过滤器?

这个很好用。我的位图只显示在我绘制形状的地方,包括斯托克斯而不仅仅是填充。好的

现在我需要有一个特定颜色的背景纹理-目前它是一个PNG,颜色都是白色和alpha,所以它提供了一个像粉笔一样的粗糙纹理

现在我使用AlphaMaskFilter应用颜色过滤器,将图像设置为红色或任何颜色。 一切正常,但现在性能显著下降。但是为什么呢

我认为位图数据会在缓存中使用更改的颜色值,那么为什么会影响性能呢


如何永久应用颜色过滤器或以其他方式对图像着色,使其与原始未着色图像在性能方面相同?

是否对勾号应用过滤器?如果只应用一次,不会导致性能问题,但如果更改某些内容并再次使用缓存重新应用,则可能会立即减慢速度。问题是我在stagemousemove上绘制了一个笔划作为掩码。我必须使用:shape.updateCache0,0100;bmp.updateCache0,0100;使用过滤器缩放位图,以查看生长的遮罩的任何结果。奇怪的是,如果我更新100x100或500x500像素,它似乎没有什么区别。是的,不断更新过滤器是非常昂贵的。GitHub中的最新版本0.8.0以前是下一个版本,到今天为止,它的性能有了一些惊人的提高,并且过滤器运行速度大大加快。如果您使用的是0.7.1或更早版本,更新可能会给您带来更好的体验。谢谢!我去看看。但我仍然认为我应该能够以某种方式更改图像数据,使其具有一个位图数组,并从中创建easeljs位图。那么颜色对进一步的计算应该没有影响。只需要多使用一些内存。如果在加载图像时应用一次筛选器,然后将其缓存,则后续绘图将使用缓存版本,这对性能来说是很好的。如果每次勾选都调用updateCache,则每次都会重新绘制缓存。查看GitHub上的filters_动画示例,它展示了这种方法。