我最近一直在摆弄闪光灯,我遇到了这个问题。我注意到,当我对每一帧进行任何类型的填充时,我的 CPU 使用率会缓慢而稳定地攀升,直到达到 85-90% 左右。使用 flashPlayerDebugger.exe(来自 flex sdk)以及在浏览器中查看 swf 时会发生这种情况。内存使用量似乎也增长缓慢,但从未失控。
这是要重现的简单闪存代码:
import flash.display.Sprite;
import flash.events.Event;
public class test extends Sprite
{
public function test():void
{
stage.addEventListener(Event.ENTER_FRAME, everyFrame);
}
private function everyFrame(e:Event):void
{
this.graphics.beginFill(0x000000);
this.graphics.drawRect(100, 100, 100, 100);
this.graphics.endFill();
}
}
似乎适用于其他填充形状(即 drawRect、drawCircle 等),也适用于 beginBitmapFill。
我似乎找不到任何其他人遇到相同问题的实例(搜索了 adobe dev 论坛、actionscript.org 以及此站点等),所以我不知道这是否是我的问题,或者如果是闪存问题。
我正在运行最新版本的 flash(当前为 10.1.102.64),但我也尝试使用旧版本的 flashPlayerDebugger.exe(10.1.53.64)并遇到了同样的问题。我正在运行 Windows 7。
只是检查是否有其他人遇到过这种情况,或者是否与我进行填充/帧循环的方式有关。任何帮助将不胜感激。