Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash/AS3性能提示/游戏技巧的好资源_Flash_Actionscript 3 - Fatal编程技术网

Flash/AS3性能提示/游戏技巧的好资源

Flash/AS3性能提示/游戏技巧的好资源,flash,actionscript-3,Flash,Actionscript 3,我正在制作一个多人flash游戏,有很多图形/代码 我有一些性能问题,比如我的天气影响 就像我想知道,在一个资源密集型的大型游戏中,使用位图图形还是仅仅使用“矢量”(fla中绘制的flash图像的格式是什么)图形更好?虽然不担心预加载时间,只担心游戏时间的游戏性能,但我不认为“位图或向量”有一个通用的答案。。。这一切都取决于你比赛的具体情况和许多其他变量。。。也许你可以把范围缩小到更具体的问题上,从而给出一些想法 目前,我建议您检查有关Flash Player内部的信息,特别是关于它如何呈现图形

我正在制作一个多人flash游戏,有很多图形/代码

我有一些性能问题,比如我的天气影响


就像我想知道,在一个资源密集型的大型游戏中,使用位图图形还是仅仅使用“矢量”(fla中绘制的flash图像的格式是什么)图形更好?虽然不担心预加载时间,只担心游戏时间的游戏性能,但我不认为“位图或向量”有一个通用的答案。。。这一切都取决于你比赛的具体情况和许多其他变量。。。也许你可以把范围缩小到更具体的问题上,从而给出一些想法


目前,我建议您检查有关Flash Player内部的信息,特别是关于它如何呈现图形和矢量的信息。。。然后对一些一般情况(大图形与大向量等)进行测试,以便更好地了解优化应用程序的位置和方式。

我认为“位图或向量”没有通用答案。。。这一切都取决于你比赛的具体情况和许多其他变量。。。也许你可以把范围缩小到更具体的问题上,从而给出一些想法


目前,我建议您检查有关Flash Player内部的信息,特别是关于它如何呈现图形和矢量的信息。。。然后对一些一般情况(大图形与大向量等)进行一些测试,以便更好地了解优化应用程序的位置和方式。

Flash rendering native Shape/Sprite/MovieClip适用于少量的simpe动画,但如果同时有许多或复杂的动画,它很快就撞到墙上了

在您确定渲染是瓶颈的情况下(评测是您的朋友),您可以通过在游戏中创建位图作为“视图”,并使用BitmapData的函数将动画帧的BitmapData表示以每帧的形式blit到该视图中,从而获得更快的性能

在我的最新游戏中,我正是出于这个原因这样做的。我正在获取所需的MovieClips,通过使用bitmapData的方法在加载时渲染帧(这有点慢),然后在运行时使用copyPixels在视图中绘制它们(这非常快),逐步遍历它们的帧并缓存每个帧的bitmapData表示


当然,没有什么是免费的,所以你必须注意,在这种情况下,你是在用CPU周期换取内存空间,如果你有很多长动画,你的应用程序内存使用率会很快飙升。

Flash rendering native Shape/Sprite/MovieClip非常适合少量的simpe动画,但是如果你同时有很多复杂的动画,它会很快撞到墙上

在您确定渲染是瓶颈的情况下(评测是您的朋友),您可以通过在游戏中创建位图作为“视图”,并使用BitmapData的函数将动画帧的BitmapData表示以每帧的形式blit到该视图中,从而获得更快的性能

在我的最新游戏中,我正是出于这个原因这样做的。我正在获取所需的MovieClips,通过使用bitmapData的方法在加载时渲染帧(这有点慢),然后在运行时使用copyPixels在视图中绘制它们(这非常快),逐步遍历它们的帧并缓存每个帧的bitmapData表示


当然,没有任何东西是免费的,所以你必须注意,在这种情况下,你是在用CPU周期换取内存空间,如果你有很多长动画,你的应用程序内存使用率会很快飙升。

你的问题的直接答案在很大程度上取决于具体情况。然而,我最近偶然发现了AS3图形库,它可能是iterest的一部分。根据演示,它的性能相当好。你可能想使用它,或者至少从中学习


更新:这是一个Flex库,因此如果您直接使用Flash,可能不感兴趣。

对您的问题的直接回答在很大程度上取决于具体情况。然而,我最近偶然发现了AS3图形库,它可能是iterest的一部分。根据演示,它的性能相当好。你可能想使用它,或者至少从中学习


更新:这是一个Flex库,因此如果您直接使用Flash,可能不感兴趣。

有趣。闪电战是我已经研究过的事情,但还没有弄得我的手脏兮兮的。我读过,他们的结果和你的不一样。他们发现速度相似,但使用blitting时内存使用率要低得多?使用多帧MovieClips而不是Sprites重新进行测试,并将旋转添加到混合中(这是通过在像素blitting设置中预旋转缓存缓冲区来解释的),性能差异会更快地变得明显。他的场景中,所有相同的非旋转/缩放单帧精灵都带有cacheAsBitmap集,本质上是在内部使用像素闪烁。有趣。闪电战是我已经研究过的事情,但还没有弄得我的手脏兮兮的。我读过,他们的结果和你的不一样。他们发现速度相似,但使用blitting时内存使用率要低得多?使用多帧MovieClips而不是Sprites重新进行测试,并将旋转添加到混合中(这是通过在像素blitting设置中预旋转缓存缓冲区来解释的),性能差异会更快地变得明显。他的场景中,所有相同的非旋转/缩放单帧sprite都带有cacheAsBitmap集,本质上是在内部使用像素闪烁。