在flash CPU中设置PNG文件的动画



我有一个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中,我应该将MovieClips的"cacheAsBitmap"设置为true吗?或者,如果我在其中放了一个PNG文件,这是隐含的吗??

CPU的使用很大程度上取决于向量的复杂性。简单矢量的动画效果可能比大位图快,但复杂矢量的动画速度要慢得多——除非cacheAsBitmap对于该复杂矢量为true。您的PNG已经是位图了,所以cacheAsBitmap与它们无关。

如果可能的话,你最好确保使用GPU加速来进行简单的优化。如果你需要更多的性能,最好是利用flash播放器11的原生3d支持。即使不是真正的3D,你也可以使用像starling这样的2D框架(http://gamua.com/starling/)它仍然利用3D支持,为您提供更好的性能。

事实恰恰相反。考虑:

  • PNG/位图图像作为要在屏幕上表示的数据块
  • 矢量图像作为生成要在屏幕上表示的数据块的公式

现在想想你想做什么。你想在数据块绝对不变的情况下移动图像。显而易见的答案是巴布亚新几内亚。

现在关于优化。我相信,在这项任务中,除非您考虑闪电战和缓存结果,否则您的优化空间非常小。

起泡&缓存movieclip只需从内存中读取位图表示(数据块)并重新绘制它,就可以减少读取PNG的开销。但是,除非您当前的方法确实存在一些性能问题,否则我不会考虑麻烦。

最新更新