但是,需要注意的是,采用WebGL渲染并不意味着总是比Canvas2D要好,因为直接用Canvas2D在内存消耗方面要少一些,所以在某些内存受限的特殊情况下,采用Canvas2D渲染可能反而较好。
要强制使用2D模式渲染,可以在创建Scene或创建对应Layer的时候传入参数。
或
默认的缓冲区大小是1500个顶点数,也就是说如果渲染的元素的顶点数不超过1500,那么它们就会被尽量合并。也有一些情况元素不能被合并,比如:
- 相邻的元素有不同的滤镜
通过修改创建Scene或Layer的参数bufferSize
可以改变缓冲区大小,如果要绘制非常多的图形,可以将bufferSize改大一些,但这样相应要多耗费一些内存。
注意有些特殊滤镜即使是相同也是不能够合并的,包括、drop-shadow
和。
seal
生效的时候,原子元素的属性将失效,由group的属性替代。
当我们用group构建组合图形的时候,这种特殊方式能够大大提升渲染性能。
SpriteJS Next有一个特殊的元素Cloud,它能够以某个元素为模板,大批量绘制该元素。当我们要绘制特别大量的相同的元素(比如粒子)时,用这样的方式性能最佳。