我是画架js的新手。当我们使用adobe flash cc将flash / AS3项目转换为HTML5Canvas项目时,动画和动画片段将成为easyljs Movieclip。但是在easeljs中我们可以使用Sprite来显示动画。但是使用movieclip很容易,因为flash会生成它。
我的问题是,在性能方面使用easeljs Sprite而不是easeljs Movieclip是否有任何好处?
答案 0 :(得分:1)
Sprite和MovieClip在EaselJS中完全不同。
MovieClip通常仅用于Flash CC输出,但您可以手动制作它们。理想情况下,Flash可以在有意义时导出Sprite和SpriteSheets - 但是由于Flash时间轴动画的性质,确定何时以及如何导出Sprites / SpriteSheets和MovieClip是非常困难的。
严格说来,Sprites应该表现更好,因为它们对所有帧使用单个(或几个)位图,从而获得GPU的好处。多个大图像(使用不同的精灵,或只是单个精灵,跨越图像的大量帧)可能会在GPU切换纹理时导致性能问题。
还有一个SpriteSheetBuilder class(和example)可以参考,它可以获取Flash CC输出,并生成一个运行时SpriteSheet,为您提供Sprites的性能优势, Flash CC的复杂矢量/图像输出。
希望能在某种程度上解决问题。