PDA

Просмотр полной версии : тормозит Embed swf


hartec
21.01.2010, 18:27
Добрый день. Я лишь несколько дней занимаюсь Flash, прошу не кидать камнями за глупый вопрос. FAQ смотрел, видел реализацию через Sprite - но ничего не получилось, не генерятся объекты.

Реализую множественную генерацию элемента Image:

class {
[Embed(source="1.jpg")]
public static var imgCls1:Class
private static var Labels:Array = [];
private static var mxmlApp:Application = Application(Application.application);

public static function main(): void {
for (var i:int=0; i<GLdimX; i++) Labels.push([]);
for (var i:int=0; i<GLdimX; i++) {
for (var j:int=0; j<GLdimY; j++) {
Labels[i][j] = new Image();
Labels[i][j].source = imgCls1;
mxmlApp.addChild(Labels[i][j]);
Labels[i][j].x = GLX + i*GLHW;
Labels[i][j].y = GLY + j*GLHW;
Labels[i][j].width = GLHW;
Labels[i][j].height = GLHW;
}
}
}
}

Все прекрасно работает и не тормозит. 1.jpg весит 1 кБ. Пробовал jpg размером 100 кБ - не тормозит.
Меняю source на 1.swf - все так же работает, но подтормаживает при генерации и обновлении элемента. 1.swf весит 28 кБ.

Сформулируйте, пожалуйста, где я не прав. И подскажите, как поменять код, чтобы тормоза исчезли. Заранее спасибо.

alatar
23.01.2010, 03:51
Дело не в весе, jpeg - растровый формат и не может содержать исполняемый код, swf векторный формат, который, к тому же, может содержать код. Соответственно swf более ресурсоемкий, чем jpeg.

hartec
23.01.2010, 09:58
То есть код не тормозящий принципиально?