我有一个PNG文件1024 x 768.除此之外,我还有其他较小的PNG文件,可以通过ENTER_FRAME处理程序“滑入”(仅沿着x和y移动)?
我只是想知道,动画PNGS需要比基本矢量形状更多的CPU吗?有什么我可以做的来优化我的动画吗?
它实际上就像:
private function onEnterFrame(e:Event):void {
myPng.x += speed; // and so on
}
另外,如果我将PNG放在MovieClip中,我应该将MovieClip“cacheAsBitmap”设置为true还是如果我将PNG文件放入其中就暗示了?
答案 0 :(得分:1)
CPU使用率很大程度上取决于向量的复杂性。简单矢量可能比大位图更快地生成动画,但复杂矢量的动画要慢得多 - 除非cacheAsBitmap对于该复杂矢量为真。你的PNG已经是位图,所以cacheAsBitmap与它们无关。
您最好选择轻松优化,以确保您尽可能使用GPU加速。如果你需要更高的性能,那就更好了,就是利用flash player 11的本机3d支持。即使不进行实际3D操作,您也可以使用像starling(http://gamua.com/starling/)这样的2D框架,它仍然可以利用3D支持,为您提供更好的性能。
答案 1 :(得分:0)
实际上恰恰相反。考虑一下:
现在想想你想做什么。您想要移动图像,绝对不会改变数据块。明显的答案是PNG。
现在关于优化。除非您考虑blitting and caching结果,否则我相信您在此任务中的优化空间非常小。
Blitting&缓存movieclip只是从内存中读取位图表示(数据块)并重新绘制它,从而减少了读取PNG的开销。但除非你的当前方法确实存在一些性能问题,否则我不会考虑麻烦。