0

我有一个 1024 x 768 的 PNG 文件。除此之外,我还有其他较小的 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 文件放入其中是否暗示?

4

2 回答 2

1

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

如果可能的话,最好的办法是确保您使用 GPU 加速来进行简单优化。如果您需要更高的性能,更好的是利用 Flash Player 11 的原生 3D 支持。即使不做实际的 3D,您也可以使用像 starling (http://gamua.com/starling/) 这样的 2D 框架,它仍然可以利用 3D 支持,从而为您提供更好的性能。

于 2012-07-18T19:18:08.257 回答
0

实际上恰恰相反。考虑 :

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

现在想想你想做什么。您想移动图像,而数据块绝对没有变化。显而易见的答案是PNG。

现在关于优化。我相信您在此任务中的优化空间非常小,除非您考虑对结果进行blitting 和缓存

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

于 2012-07-18T19:10:33.223 回答