об'єктів у кадрі, а при достатній швидкодії комп'ютера залишається постійним у межах номінального (24-25 кадрів/сек.).
Непрямою оцінкою швидкодії того чи іншого плеєра на різних конфігураціях комп'ютерів може бути значення завантаження процесора при відтворенні відео. Якщо завантаження процесора менше 100%, швидше за все кодеку вистачає обчислювальних ресурсів для повного розжаття відеопотоку. Якщо значення завантаження процесора впритул наближається до 100%, то кодеку, очевидно, приходиться пропускати деякі кадри, щоб устигнути за звуковим супроводом фільму.
Усі тести, приведені в цій статті (за винятком тих випадків, де вказується на застосування інших конфігурацій), я проводив на наступному комп'ютері:
процесор Duron 700;
материнська плата Chaintech 7AJA (KT133, південний міст 686B);
відеокарта ASUS 3800 RIVA TNT2PRO 16Mb;
RAM 192MB (на частоті 133Mz);
звукова плата Creative 128 PCI CT 4810.
Тестування проводилося в операційній системі Windows 2000 PRO, середнє завантаження процесора визначалося за допомогою системного монітора, що входить до складу засобів адміністрування операційної системи.
Середній відсоток використання процесора у всіх тестах визначався за проміжок часу, рівний 1 хв. 40 з, при відтворенні, що починається на 106-ий хвилині фрагмента фільму "Матриця" (сцена з падаючим вертольотом). Параметри стиску використовуваного фільму: дозвіл 680*312, бітрейт 80,595 Kbit/s, тривалість 130 хв. 59,240 с. Розмір файлу - 648 620 032 байта. Причому там, де явно не сказано про зворотний, якість зображення у властивостях кодека Div виставлялося на 2 і не використовувався режим оверлея.
Малюнок 8. Системний монітор
На представлених нижче діаграмах приведені середні значення коефіцієнта використання процесора в різних умовах роботи, тому зазначена, приміром, завантаження процесора 87,7% (на малюнку вище) не означає, що кодеку досить обчислювальної потужності процесора для відтворення відеопотоку без утрати кадрів, адже миттєве значення коефіцієнта використання кожні кілька секунд "стрибає" до 100%. Для нормального перегляду фільмів без дратівної втрати кадрів у відеопотоці бажано, щоб завантаження процесора не перевищувало 70%.
Що можна зробити, якщо MPEG-4 "гальмує"?
Заїкуватий звук, різке посмикування картинки на динамічних сценах, "випадання кадрів" - вірні ознаки того, що вашій системі не вистачає потужності для нормальної декомпресії відеопотоку. До речі, статистику роботи видеокодека при перегляді фільму можна з'ясувати в розділі меню Вид/Статистика універсального програвача. Перераховані вище явища можуть виникати не тільки на відверто слабких машинах, але і на досить могутніх комп'ютерах при неоптимальному настроюванні. У цьому випадку почати перевірку системи потрібно з установок у BIOS SETUP. Особлива увага варто приділити настроюванню підсистеми пам'яті, тому що саме її задача - устигнути пропустити весь розціплений кодеком потік даних між процесором і відеокартою. Кодек MPEG-4 виповнюється майже цілком на програмному рівні, тому розгін процесора може дати істотний приріст по продуктивності. Нижче приведені результати оптимізації настроювань BIOS Setup мого комп'ютера.
Малюнок 9. Зміна завантаження процесора в залежності від настроювань BIOS
За замовчуванням пам'ять працювала на частоті 100Мгц із таймінгами пам'яті 7-1-1-1R 4-1-1-1W 3-3-3CL. Збільшення робочої частоти пам'яті до 133Мгц, зменшення таймінгів до 6-1-1-1R 4-1-1-1W 2-2-2CL і включення Bank interleave 4-way привело до зниження середнього завантаження CPU на 4,8%, а наступний розгін зовнішньої шини процесора до 107 Мгц (частота процесора 7*107=750Мгц, пам'яті - 107+33=140Мгц) дав зниження завантаження ще на 4,3%. Таким чином, правильне настроювання і невеликий розгін системи привели майже до десятипроцентному зниження завантаження процесора. Тепер поговоримо про настроювання операційної системи. Насамперед бажано скачати останній патч (заплатку) із сайта виробника для чіпсету, установленого на вашій материнській платі, особливо, якщо цей чіпсет від VIA. Потім потрібно перевірити, чи включений режим DMA для CD-ROM і диска: у Панелі керування в розділі Система подивитися властивості CD-ROM і вінчестера. У цьому режимі обмін даними між оперативною пам'яттю і зовнішніми пристроями відбувається без участі процесора. Крім того, при перегляді фільмів із вінченстера, що працює в режимі UDMA, середнє завантаження процесора знижується на 1-2%. Виграш по продуктивності, звичайно, невеликий, але заради зменшення загального шумового тла від комп'ютера варто постаратися.
Малюнок 10. Завантаження CPU у залежності від використовуваного нагромаджувача
Зміна розрішення і глибини квітів робочого столу і розгін відеокарти не роблять значного впливу на швидкодію кодека. У підтвердження приводжу наступний графік. При змінах у широкому діапазоні частоти графічного процесора/пам'яті на відеокарті RIVA TNT2 PRO від 100/125 до 160/200, а також розрішення і глибини квітів екрана розкид результатів середнього завантаження процесора склав 4,3%.
Малюнок 11. Завантаження процесора в залежності від настроювання відеокарти
Отриманий результат наочно показує, що відеокарта практично не бере участь у процесі декомпресії відеопотоку. Єдине, що може доручити їй плеер, це масштабування і перетворення формату квітів у вихідній картинці, а ці дії масові графічні контролери навчилися добре робити ще років п'ять назад. Тому що розмір потоку між відеокартою і процесором не залежить від розрішення екрана, то невелике коливання відсотка завантаження CPU зв'язано головним чином зі зміною роботи відеопам'яті в різних режимах швидкості.
Як уже говорилися, масштабування зображення і перетворення формату квітів з YUV у RGV може і повинне (для розвантаження процесора) вироблятися на апаратному рівні силами відеокарти. Апаратне масштабування підтримують практично усі відеоадаптери останніх двох-трьох років випуску, однак деякі відеопроцесори, наприклад від MATROX і NVIDIA TNT/TNT2, не завжди запускають оверлеї, якщо розрішення вихідної картинки для масштабування не кратно по горизонталі 16 чи 32. Оверлей також може не працювати при неправильному настроюванні драйверів чи відеокарти ж просто тому, що програма-плеєр не уміє виводити відео в цьому режимі. Мені так