Performance 低闪存AS3性能

Performance 低闪存AS3性能,performance,flash,actionscript-3,3d,Performance,Flash,Actionscript 3,3d,我正在使用Alternativa3D 7.8引擎开发一个用AS3编码的游戏,但它没有我希望用它实现的FPS,我试图完全理解为什么。我知道在场景中使用3D对象会对性能造成很大的负担,但我使用的3D对象数量非常有限,而且每个对象都有相对较小的多边形数 我想知道在场景的实际渲染上,是否还有其他类似内存泄漏的原因导致了这种情况 我想找出一种方法来查看性能在代码中的分布情况,看看是否有某些方面导致了这种情况。我通常在我的电脑上只能获得10-15 FPS的速度,如果可能的话,我希望能达到20-24 FPS或

我正在使用Alternativa3D 7.8引擎开发一个用AS3编码的游戏,但它没有我希望用它实现的FPS,我试图完全理解为什么。我知道在场景中使用3D对象会对性能造成很大的负担,但我使用的3D对象数量非常有限,而且每个对象都有相对较小的多边形数

我想知道在场景的实际渲染上,是否还有其他类似内存泄漏的原因导致了这种情况


我想找出一种方法来查看性能在代码中的分布情况,看看是否有某些方面导致了这种情况。我通常在我的电脑上只能获得10-15 FPS的速度,如果可能的话,我希望能达到20-24 FPS或更高的速度。

我不认为这个问题应该被否决,尽管它有点宽泛。OP询问AS3应用程序的一般性能提示

的确,我们不能在没有看到他的代码的情况下给他具体的指示,但我们仍然可以为他提供更一般的提示/技巧。这里有一些分析,非常笼统:

我不认为你的性能问题一定与你的3D有关,尽管它们可能会。游戏世界出现在屏幕上的那一刻,甚至鼠标的移动速度都大大减慢,而我暂停游戏的那一刻,帧速率就提高了——这对我来说意味着你在每一帧上都进行了大量的迭代和计算

我想从这个开始:在你的主游戏循环中,有没有计算密集型的循环?例如,我看到你在研究海平面对陆地的影响——你是否在做类似于计算每一帧上的所有水属性的事情

拥有很多“3D”对象并不一定是个问题,因为3D对象只是一组点。它们的定位比二维对象更密集,因为您包含了一个额外的维度,但不会比几个三维对象更密集,从而导致这种性能。我不认为这是你的问题(尽管我可能错了)

相反,这是你在做什么样的计算。寻找循环,找出可以注释的内容,并立即看到更好的性能,然后在隔离它之后,看看如何缓存这些计算的输出,这样就不必在每一帧上重新对它们进行解析

干杯,
mb

我不认为这个问题应该被否决,尽管它有点宽泛。OP询问AS3应用程序的一般性能提示

的确,我们不能在没有看到他的代码的情况下给他具体的指示,但我们仍然可以为他提供更一般的提示/技巧。这里有一些分析,非常笼统:

我不认为你的性能问题一定与你的3D有关,尽管它们可能会。游戏世界出现在屏幕上的那一刻,甚至鼠标的移动速度都大大减慢,而我暂停游戏的那一刻,帧速率就提高了——这对我来说意味着你在每一帧上都进行了大量的迭代和计算

我想从这个开始:在你的主游戏循环中,有没有计算密集型的循环?例如,我看到你在研究海平面对陆地的影响——你是否在做类似于计算每一帧上的所有水属性的事情

拥有很多“3D”对象并不一定是个问题,因为3D对象只是一组点。它们的定位比二维对象更密集,因为您包含了一个额外的维度,但不会比几个三维对象更密集,从而导致这种性能。我不认为这是你的问题(尽管我可能错了)

相反,这是你在做什么样的计算。寻找循环,找出可以注释的内容,并立即看到更好的性能,然后在隔离它之后,看看如何缓存这些计算的输出,这样就不必在每一帧上重新对它们进行解析

干杯,
mb

我认为没有人能在没有看到代码的情况下回答你的问题。你需要自己做测试-禁用部分代码,看看它是否会影响帧速率,然后禁用其他部分并检查帧速率,等等。最终你可能会发现瓶颈在哪里。一个好的开始是使用8.x引擎,它似乎在使用硬件加速的Stage3D。7.x完全在软件上运行,毫无疑问会慢几个数量级。我认为没有人能在不看代码的情况下回答你的问题。你需要自己做测试-禁用部分代码,看看它是否会影响帧速率,然后禁用其他部分并检查帧速率,等等。最终你可能会发现瓶颈在哪里。一个好的开始是使用8.x引擎,它似乎在使用硬件加速的Stage3D。7.x完全在软件上运行,毫无疑问会慢几个数量级。