【发布时间】:2009-09-30 14:56:24
【问题描述】:
我(仍在)试图解决我的 2D Flash 游戏中的一个问题,即我的帧率下降到无法接受的低点。我有一个具有以下成员变量和方法的类:
protected var value:*;
public function getValue () :* {
return this.value;
}
现在,该方法似乎每帧被调用数百次,而我的应用程序时间的 2.23% 花费在该方法上。
您认为通过将value 设为类型变量会显着提高性能吗?使该变量类型化将使整个应用程序中的代码中断,因此我想更加确定它是否真的会有所帮助。
此外,这是我的应用程序的性能配置文件的前几条记录,按 Self Time 排序,这让我首先怀疑这个 getValue() 方法:
Method Calls Self Time (ms)
------ ----- --------------
[pre-render] 0 2137 (19.68%)
[reap] 0 727 (6.7%)
[enterFrameEvent] 0 464 (4.27%)
[mouseEvent] 0 352 (3.24%)
[mark] 0 327 (3.01%)
State.getValue 792356 242 (2.23%)
[verify] 0 209 (1.93%)
[render] 0 159 (1.46%)
CollisionManager.detectCollisions 584 156 (1.44%)
Entity.updateAllStates 30227 154 (1.42%)
Entity.getStateValue 392412 143 (1.32%)
GSVector.set y 156244 141 (1.3%)
State.update 659738 123 (1.13%)
【问题讨论】:
标签: actionscript-3 performance untyped-variables