【问题标题】:Draw Vectors to a Bitmap in EaselJS在 EaselJS 中将矢量绘制到位图
【发布时间】:2011-08-19 16:33:05
【问题描述】:

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

我在 EaselJS 中执行此操作时遇到了麻烦,尽管看起来所有部分都已到位。如何创建一个空的 Bitmap() 并将 Container() 的内容绘制到它?

【问题讨论】:

    标签: javascript html canvas easeljs


    【解决方案1】:

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

    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);
    

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

    【讨论】:

      【解决方案2】:

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

      vectorContainer.snapToPixel = true;
      

      查看此demo of cache and snap to pixel settings 以查看实际示例。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-04-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-04
        • 1970-01-01
        相关资源
        最近更新 更多