我怎么知道我在Flash游戏中使用太多RAM?

时间:2012-01-22 12:47:16

标签: flash actionscript-3 memory rendering

我想在Flash中进行快速渲染,我发现唯一的解决方案是动态创建精灵表。

使用BitmapData.draw()从MovieClip创建精灵表。

我有一个图形管理器类,它有一个接受MovieClip和int的方法。 MovieClip是从中捕获图形的目标,int表示图像在360度内可以渲染的角度。

例如,如果提供的int是4,我将得到以下结果:

enter image description here

如果我提供8我会得到这个:

enter image description here

等等(最多360)。

该方法然后返回我创建的另一个类的实例,该类允许通过指定帧和旋转轻松捕获给定单元格的BitmapData,例如:

var myGraphics:SpriteSheet = aboveMethod(movieClip, 4);
var cell:BitmapData = myGraphics.getCell(2, 90); // frame 2 rotated to 90 degrees

创建这些精灵表明显会浪费大量的RAM - 特别是如果我有100多个帧的东西需要旋转到最接近的2度(总共1800个单元格)。

我不知道这些内存使用了多少RAM,而且我再也不知道我的游戏使用了多少RAM令人满意。

对此有任何建议会非常有帮助。注意:我确保在我自己的SpriteSheet定义的dispose()方法中使用BitmapData.dispose()来清理RAM,我更关心的是我可以在一个给定时间使用多少RAM(所有游戏资产都是将准备好使用)。

1 个答案:

答案 0 :(得分:0)

在您的代码中使用其中一个可能会给您一些有用的反馈。

https://github.com/theflashbum/stats.as

http://demonsterdebugger.com/