fase força render / redesenhar

Normalmente eu ouviria o evento ENTER_FRAME e executaria o código toda vez que um quadro fosse renderizado. Mas, para meu aplicativo, isso é muito lento. O tempo entre 2 eventos ENTER_FRAME é de 40 milissegundos. Não importa se eu mudo minha taxa de quadros.

Então é possível forçar o flash a redesenhar / renderizar o quadro sem ouvir eventos? Eu tentei o método stage.invalidate () e mudei o framerate mas ele não melhora nada (stage.invalidate () não faz nada na verdade)

Fiz um pequeno teste para ver o tempo médio entre o evento ENTER_FRAME e o EXIT_FRAME:

private var beginTime:Number;
private var endTime:Number;

public function init():void {
    addEventListener(Event.ENTER_FRAME, enterFrame);
    addEventListener(Event.EXIT_FRAME, exitFrame);
}

private function enterFrame(e:Event):void {
    beginTime = new Date().getTime();

    if(endTime) {
        trace(beginTime - endTime);
    }
}

private function exitFrame(e:Event):void {
    endTime = new Date().getTime();
}

Se estou certo, o evento ENTER_FRAME é disparado antes da renderização desse quadro e o evento EXIT_FRAME é disparado após a renderização. Então, após o evento EXIT_FRAME, a renderização é concluída e o aplicativo despacha um evento ENTER_FRAME. O tempo médio entre esses dois eventos é de 52 milissegundos. E eu quero encurtar esse tempo

Bytheway eu defini meu framerate para 180 para este teste

questionAnswers(1)

yourAnswerToTheQuestion