Home

Advertisement

Previous Entry | Next Entry

О важности кэша для Full HD

  • Dec. 24th, 2008 at 6:49 PM
кот
Если у вас тормозит видео высокого разрешения, то есть два пути:
1. Перекодировать файл таким образом, чтобы его могли декодировать параллельные декодеры.
2. Увеличить кэш.

Первый способ весьма сложен, т.к. нужно обладать определенными знаниями, многоядерным компом и запасом свободного времени для его осуществления. А второй может сделать каждый, у кого достаточно оперативной памяти. Идея основана на том, что обычные кадры процессор декодирует быстрее, чем 40мс (приблизительно такое время вам показывается один кадр), а значит он может забежать вперед, декодировать больше кадров, чем вам требуется в настроящее время, и сложить их в резервный фонд - кэш. Когда в сцене много движения, процессор может не справляться и декодировать значительно дольше 40мс за кадр. Тогда количество кадров в кэше будет сокращаться (вы смотрите их быстрее, чем он наполняется), но поскольку такие сцены, обычно, потом сменяются на менее динамичные, достаточно большой кэш никогда не будет пустым, и ничего не будет тормозить.

В моем плеере mplayer, к сожалению, количество памяти под кэш выставляется одним параметром, как для потокового аудио/видео, так и для обычного. У меня стоял размер кэша всего 1мб (для того, чтобы потоковое видео быстрее "включалось"), и я какое-то время не мог сообразить, почему Full HD видео подтормаживает даже на достаточно мощной конфигурации. Не делайте моих ошибок.

Tags:

Comments

( 1 comment — Leave a comment )
[info]ruskit wrote:
Apr. 9th, 2009 02:44 pm (UTC)
Похоже, что я написал ерунду про кэш из кадров. Кэш заполняется куском файла, который еще не декодирован. Тем не менее, увеличение кэша помогает. Наверное, потому, что у mplayer не остается времени читать данные с винта при интенсивном декодировании.
( 1 comment — Leave a comment )