fuerza de escenario render / redibujar

Normalmente escucharía el evento ENTER_FRAME y ejecutaría el código cada vez que se procesa un marco. Pero para mi aplicación, esto es demasiado lento. El tiempo entre 2 eventos ENTER_FRAME es de 40 milisegundos. No importa si cambio mi framerate.

Entonces, ¿es posible forzar el flash para volver a dibujar / renderizar el cuadro sin escuchar los eventos? Probé el método stage.invalidate () y cambié el framerate pero no mejora nada (stage.invalidate () no hace nada)

Hice una pequeña prueba para ver el tiempo promedio entre el evento ENTER_FRAME y el evento 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();
}

Si estoy en lo cierto, el evento ENTER_FRAME se activa antes de la representación de ese marco y el evento EXIT_FRAME se activa después de la representación. Entonces, después del evento EXIT_FRAME, el renderizado se completa y la aplicación enviará un evento ENTER_FRAME. El tiempo promedio entre esos dos eventos es de 52 milisegundos. Y quiero acortar ese tiempo.

Por cierto, he establecido mi tasa de cuadros en 180 para esta prueba

Respuestas a la pregunta(1)

Su respuesta a la pregunta