Требуется отрисовать порядка 6000 и более полигонов/полилиний максимальная скорость отрисовка это

Код:
for(i=0;i<=кол_во_объектов;i++){
отрисовка
}
в результате чего возникает сообщение flash player о подвисании скрипта (лимит выполнения скрипта в кадре до 15 секунд).
При поиске решения данной проблемы была найдена следующая возможная реализация
http://www.flasher.ru/forum/showthread.php?t=113428:

Код:
var nstart:Number = 0;
var nfinish:Number = кол_во_объектов;
var nlimit:Number = 500;
var nlooping:Number;
var intervalID:Number = setInterval(Looping, 1);
function Looping() {
nlooping = 0;
while(true){
if(nlooping >= nlimit) {
return;
}
if(nstart > nfinish) {
break;
}
trace(nstart);
nlooping++;
nstart++;
}
clearInterval(intervalID);
return;
}
Вывод по 500 значений переменной цикла. Является такая реализация оптимальной или существуют более рациональные способы?