在 EaselJS 中绘制矢量到位图



我正在开发一个不断绘制数千个向量的EaselJS程序。不用说,在短时间内,性能会下降。为了在 Flash 中解决这个问题,我会在向量后面创建一个位图,并定期将向量绘制到该位图并将它们从显示列表中删除。

我在 EaselJS 中执行此操作时遇到麻烦,尽管似乎所有部分都已到位。如何创建一个空的位图()并将我的容器()的内容绘制到其中?

我认为您可以将所有内容放入容器中并缓存它。

var vectorContainer=new Container;
for (var i = 0;i<numVectors;i++){
  var vector=new Shape();
  //draw whatever vector you want to vector.graphics
  vectorContainer.addChild(vector);
}
vectorContainer.cache(someX,someY,someW,someH);

但是,获取最新的未标记版本,因为当前版本存在错误并且无法正确缓存容器。

我也一直在向量中添加"snapToPixel = true",因为我读过它应该在某些浏览器中有所帮助。因此,在上面的示例代码中,我会在您执行缓存的最后一行之前添加以下行。

vectorContainer.snapToPixel = true;
查看

此缓存和对齐像素设置演示,查看实时示例。

在我的特定浏览器设置中,对齐像素实际上并没有改变性能,但在我阅读文档时,它似乎应该改变。

最新更新