ええと、その場でフレームレートをいじるのが良いことかどうかはわかりません。あなたは何をしようとしているのですか?もしかしたらもっと良い方法があるかもしれません...
これは完全な推測ですが、おそらくフレーム レートをステージに設定すると、バックグラウンドで「何か」が初期化されます。次に、フレームごとに発生するため、フレームごとに初期化を試み、ロックアップします。
Timer オブジェクトの使用例を含めるように回答を更新します。
import flash.utils.Timer;
import flash.events.TimerEvent;
// the timer takes in milliseconds, so for 30 frames/second, you would have a frame tick at every 1000 / 30, or 33.333ms
var tickSpeed:int = 1000 / 30;
var frameTick:Timer = new Timer(tickSpeed, 0);
function enterFrameListener(inputEvent:Timer):void {
// this method will run on every timer tick
}
frameTick.addEventListener(TimerEvent.TIMER, enterFrameListener);
// can change the tick speed of the timer like so (setting it to 1000 means 1 frame tick every second)
frameTick.delay = 1000;
// according to the api doc however, a tickspeed of less then 20ms is not recommended
// 20ms would be equal to 60 fps
それをタイマーにオフロードすることで、他のオブジェクトが同時に異なるタイマーの影響を受ける可能性があるという別の利点を使用して、全体的なフレームレートをいじる必要はありません。Timer クラスには、それ自体にもいくつかの便利なメソッドがあります: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/utils/Timer.html