我正在制作一款拥有大量图形/代码的多人Flash游戏。
我遇到了一些性能问题,例如我的天气影响。
就像我想知道是否更好地使用位图图形或者只是在大型资源重型游戏中使用“矢量”(在fla中绘制的flash图像格式)图形? 虽然不担心预加载时间,但只是担心游戏时间的游戏性能
答案 0 :(得分:5)
Flash渲染原生Shape / Sprite / MovieClip非常适合于一些简单的简单动画,但是如果你有很多或复杂的动画同时出现,它很快就会碰壁。
在您确定渲染是瓶颈(分析是您的朋友)的情况下,您可以通过在游戏中将Bitmap创建为“视图”并使用BitmapData的copyPixels函数进行blit来获得更快的性能每帧都将动画帧的BitmapData表示到该视图中。
在我的最新游戏中,我正是这样做的,正是出于这个原因。我正在使用所需的MovieClip,逐步浏览它们的帧并缓存每个帧的bitmapData表示,方法是使用BitmapData的draw()方法在加载时渲染帧(这有点慢),然后使用copyPixels绘制它们运行时的视图(超快)。
当然没有什么是免费的,所以在这种情况下你必须注意你正在为内存空间交换CPU周期,如果你有很多长动画,那么你的应用程序内存使用量会迅速飙升。
答案 1 :(得分:0)
我不认为对“位图或矢量”有一个通用的答案......这一切都取决于游戏的具体情况和许多其他变量......也许你可以将其缩小到更具体的问题,可以提出一些想法。
目前我建议您检查有关Flash Player内部的信息,具体说明它如何呈现图形和向量...然后进行一些测试基准测试一些情况(大图形与大型矢量等等)这样您就可以更好地了解在何处以及如何优化您的应用程序。
答案 2 :(得分:0)
直接回答你的问题在很大程度上取决于具体情况。但是,我最近遇到了BirdEye AS3图形库,它可能是迭代的。根据演示,这是非常高效的。您可能想要使用它,或至少从中学习。
更新:这是一个Flex库,如果您直接使用Flash,可能不会感兴趣。