обновлять надо только те,что видны в данный момент.В первом приближении можно считать что все итемы расположены строго плиткой и дальше прикинуть сколько их влезит во вьюпорт контейнера
Добавлено через 3 минуты
либо лучше так: начинаешь обновлять координаты и проверяешь не вылез ли текущий итем за пределы вьюпорта, как вылез - останавливаемся.
Добавлено через 11 минут
как-то так:

Код AS3:
//items - массив итемов
var curX:Number=0;//начальная позиция
var curY:Number=0;
var maxX:Number=0;//ширина контейнера итемов
var maxY:Number=0;//высота контейнера итемов
var i:uint=0;
while (curY+items[i].height<maxY && i<items.length) {
curX+=(i>0)?items[i].width:0;
if(curX+items[i].width>maxX) {
curX=0;
curY+=items[i].height;
}
items[i].x=curX;
items[i].y=curY;
i++;
}