В последнее время я возился со вспышкой и столкнулся с этой проблемой. Я заметил, что когда я выполняю любое заполнение каждого кадра, использование моего процессора будет медленно и неуклонно расти, пока не достигнет 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) и получил ту же проблему. У меня виндовс 7.
Просто проверяю, не сталкивался ли кто-нибудь еще с этим, или это что-то из-за того, как я делаю цикл заливки/кадра. Любая помощь будет принята с благодарностью.