AS3 Оптимизация скрытия FLV

Есть ли большая разница в памяти или процессоре для следующих 2 бит кода? В основном скрытие flv или полное его удаление, а затем перезагрузка при необходимости.

Вариант 1 (скрыть)

public function stopFlyby():void {

flvPlaybak.seek(0);
flvPlaybak.stop();
flvPlaybak.visible = false;

}

затем снова увидеть

public function playFlyby():void {

flvPlaybak.visible = true;
flvPlaybak.play();

}

Вариант 2 (удалить)

public function stopFlyby():void {

flvPlaybak.seek(0);
flvPlaybak.stop();
removeChild(flvPlaybak);
flvPlaybak = null;

}

public function playFlyby():void {

flvPlaybak = new FLVPlayback(); 
//load flv...
addChild(flvPlaybak);
flvPlaybak.play();

}

Спасибо,

отметка


person crooksy88    schedule 15.12.2011    source источник


Ответы (1)


Я не эксперт в этом вопросе, но так как никто еще не ответил, я брошу свои 2 цента.

Преимущество варианта 1 состоит в том, что вам не нужно повторно загружать видеофайл, что для некоторых видео может занять некоторое время; однако есть вероятность, что кеш браузера может прийти на помощь и предотвратить его повторную загрузку.

Вариант 2 освободит память (конечно, всякий раз, когда сборка мусора кажется такой же :), и, поскольку это видео, вероятно, будет освобожден хороший объем памяти.

Что касается ЦП, я бы предположил, что конечному пользователю разница между вариантами практически не заметна.

Я склоняюсь к варианту 2, поскольку, скорее всего, после того, как пользователь просмотрит видео один раз, он не захочет смотреть его снова.

person ToddBFisher    schedule 16.12.2011
comment
Тодд прав, я думаю. но вы должны спросить себя, вероятно ли, что пользователь захочет снова посмотреть видео ... оно будет кэшировано, но перед повторным показом видео будет небольшая задержка. вариант 1 позволяет воспроизвести видео быстрее ... но, возможно, flvplayback.pause() лучше, чем stop(). - person Philipp Kyeck; 16.12.2011
comment
Спасибо. Мы предположим, что это правильный ответ, если не услышим другого. - person crooksy88; 16.12.2011