Я думаю, что вы столкнулись с новой функцией в Flash Player 10.1, где она снижает скорость воспроизведения до 2FPS, когда контент полностью невидим (т.е. когда пользователь переключает вкладки или прокручивает контент за пределами экрана). Инженер Adobe объясняет это здесь .
Так что я предполагаю, что ваши пузыри движутся и удаляются на основе кадровой анимации или событий. Поэтому, когда происходит такое замедление, они начинают двигаться гораздо медленнее, чем скорость их появления. (Даже при ограниченном воспроизведении события таймера работают примерно одинаково - вероятность их возникновения наступает реже, но каждое событие по-прежнему происходит при первой возможности через три секунды после последней.)
Таким образом, любой контент, который сочетает в себе поведение на основе кадров и времени, будет работать по-разному в 10.1, когда пользователь меняет вкладки, что в конечном итоге необходимо для сохранения производительности и заряда батареи на устройствах. Лучшее решение состоит в том, чтобы, вероятно, изменить ваши таймеры на какую-то логику на основе фреймов, например:
public function startTimer() {
frameCount = 0;
addEventListener( Event.ENTER_FRAME, onFrame, false, 0, true);
}
private function onFrame(e:Event) {
frameCount++;
if (frameCount > waitTimeSeconds * publishedFPS) {
frameCount = 0;
timerTick();
}
}
Конечно, вы также можете изменить пузырьки, чтобы они полностью работали с таймерами, но это просто означает, что когда контент находится на невидимой вкладке, в каждом кадре будет большой стек событий таймера для обработки ненужных циклов.