Производительность медиаплееров
Огромное Спасибо посту DENZEL516 forums.php?m=posts&q=15261&n=last#bottom всё вылечилось!!!
Теперь это "я не умею использовать DXVA в MPC HC тред".
Fuhrer-Adolf, ? На скринах MPC-HC смотрите снизу в строке состояния что написано...
Чем снимались показания загрузки ЦП? На глаз? Ставьте любую программу отслеживающую нагрузку, импортируйте в таблицу и стройте графики.
Касательно KMP, он имеет предостаточно настроек для уменьшения нагрузки. Хотя лично на мой взгляд, разница между 6-7 и 10-12 вообще отсутствует.
Да и еще, как на 2х ядерном процессоре можно смотреть нагрузку? Где гарантия что одно приложение имеет оптимизацию, а другое нет?
netRunner, вы вообще поняли, что написали? Какие графики? У меня все пллеры приведены на фоне Process Explorer, отображающего не общий график, а конкретно каждого плеера. Присмотритесь внимательно. По поводу VLC я что тут гадать, если он грузит одно ядро полностью, в то время, как второе ядро отдыхает? По поводу KMPlayer я не от балды его запустил и проверял. Я перед этим сидел с час разбирался с настройками, а их в нём очень много. Единственный параметр, повлиявший на производительность, это выбор рендера видео (оно и понятно), но с EVR результаты всё равно не удовлетворительные. Это на десктопе с нормальной видюхой и процессором не важно, каким плеером смотреть, а вот на ноутбуке\нетбуке этот вопрост встаёт особо остро. И разница между 6 и 12% на десктопе превращается в 25-50% на среднем ноутбуке. Тут уже важно, какой плеер эффективнее использует видеокарту для декодирования видео. Объяснять вам, что видеокарты мощнее процессоров я думаю не надо?
О да, я с радостью это сделаю в свободное время! И обязательно на лептопе, раз уж кто то утверждает о такой разнице. Только я никак не понял, причем здесь защищает?
Я вот только одного не могу понять, как у вас получается загрузка CPU >10% в WMP если у меня порядка 35-45%при разрешении экрана 1280х1024х32bit при входном по видео 1920х1080 (*.mkv уже пережаты AVC, полный поток видео+аудио который идет в интервале от 4000-13000кb/s, разрешение 1920х1080х24bit, кадров 23,976 , Бит/пиксел*кадры - 0.141, библиотека кодирования : x264 core 67 r1145M d2e1e1c) загрузка на 35-45%.
Или может у вас файлы интересные.
На родных *.ts - 1920x1080x24bit, поток MPEG2 стабильный на 15400-15900kb/s, кадров 29, Бит/пиксел*кадры - 0.256 загрузка почти в два раза меньше в интервале 20-30% у VLC а на WMP на том же уровне.
Бэлиан, Это же зависит от процессора и видеокарты...
Бэлиан, свойства видеоклипа я показывал, конфиг компа описал. Также я говорил, что кроме MatroskaSplitter.ax у меня никаких кодеков не установлено. Никаких там Core AVC и т.д. Только родные встроенные в семёрку. Обманывать вас мне смыла нет, да и ведь всё видно по скринам. Я специально по паре минут держал включенным клип, чтобы видно было продолжительный график использования ресурсов в окне Process Explorer. Если есть предложения, чем точнее померить загрузку процессора, пишите.
ЗЫ: WMP у меня ни при каком HD видео на 30% не грузил проц. Вот, пожалуйста, Матрица:
Загрузка процессора всего 2.33% (ну не спорю, иногда подскакивает до 5-7%).
Более точно покажут загрузку счетчики производительности, хотя наверное покажут тоже самое.
Все элементы управления - Счетчики производительности - Дополнительные инструменты - Открыть системный монитор
Добавить счетчики - Загруженность процессора % (Total), 0, 1
В системном мониторе выбрать CPU на WMP (появится желтая полоса на графике)
Так же у вас разрешение 1600х1200 на 32bit или как видео на 24bit и само видео немного не 1080 а
Width : 1 920 pixels
Height : 792 pixels
и есть подозрения что от этого 792 будут еще полосы черные т.е. обрезка сверху и с низу, точек по 40, реальный поток не выше 10000 в пиковые моменты, попробуйте прокрутить в DTS где поток будет плюсом еще Bit rate:1510Kbps а не 384Kbps как в АС3.
Для NVIdia есть программа NVIDIA System Tools with ESA Support может показывать загрузку GPU карты
Тогда там должно быть под 80% загрузки.
Так же есть параметр в Process Explorer - Process - Set Affinity - CPU0 (CPU1) уберите галку с одного ядра, как будет выглфдеть.
Поставьте галку внизу Show one graph per CPU отображать два ядра в System Information.
Ну 2-7% загрузки это получается вообще "я курю и не приставайте ко мне", ну что ж радует.
Бэлиан, ну вот попробовал. Скажу сразу, что NVIDIA System Monitor ни разу не показал загрузку видеокарты. Всё время было 0%. Через процесс эксплорер отключал одно ядро для Wmplayer.exe, но на графике это не видно. Видимо, когда WMP начинает грузить одно ядро, система распределяет остальные процессы на второе ядро. Только так я могу объяснить, что разницы нет. Теперь к делу. Добавил счётчики производительности процессора total, процессора для процесса wmplayer.exe, чтение с диска F: (где лежат клипы) и Idle time total (время простоя). Вот что у меня получилось:
720p клип
---------------------------------------------------------------------
А это 1080p (в первом посте этой темы есть его параметры)
Также сейчас прогнал тройку 1080p роликов из папки
C:\Windows\Performance\WinSAT
эти ролики есть у всех пользователей вин 7, так что, можно сравнить. Ролики короткие, поэтому в WMP включил повтор, они зацикленно повторялись раз 10.
Clip_1080_5sec_10mbps_h264.mp4
Clip_1080_5sec_MPEG2_HD_15mbps.mpg
Clip_1080_5sec_VC1_15mbps.wmv
Странно, что h264 ролик так сильно нагрузил проц... MPEG2 вообще легко идёт, ну оно и понятно. VC1 тоже терпимо, но уже подбирается к 10%, что заметно.
Johny-electric,
Спасибо за проделанную работу.
Если честно, хватит заниматься всякой фигней
Johny-electric :
Fuhrer-Adolf, ? На скринах MPC-HC смотрите снизу в строке состояния что написано...
Увы, но то, что в строке состояния написано DXVA, вовсе не означает, что оно используется. Ему могут мешать внешние фильтры или даже несовместимый сплиттер.
Вы же не думаете, что MPC HC видеокартой раскодирует видео с большей затратой процессорного времени, чем какой-то Light Alloy или прочая хрень?
Как факт, у PotPlayer тоже всегда будет написано DXVA, даже когда ускорение задействовано быть не может. Иначе просто никак, ведь есть видео, несовместимое с DXVA ускорением. Если бы DXVA декодер не умел перенаправлять поток процессору, нам приходилось бы каждый раз лезть в настройки и выбирать другой кодек.
Алсо, нигде нет упоминания о том, что только WMP и MPC HC бывают 64битными, что тоже само собой может дать прирост производительности при условии правильного использования.
А вообще, загрузку ЦПУ плеерами сегодня мерять не сильно актуально, т.к. все современные видеочипы берут эти задачу на себя. Гораздо лучше оценить производительность GUI плееров, от чего та же MS идет семимильными шагами в сторону.
DXVA - конечно интересная штука, для ее проверки (поддерживает или нет) программа DXVAChecker_2.1.0.0 и статейка
где мне понравилась фраза
...
3. Последняя версия DirectX 9 или DirectX 10.
4. «Удачная» версия драйверов видеокарты. К сожалению, «удачная» - не обязательно самая последняя версия. Для видеокарт ATI рекомендуется использовать версии драйверов 8.10 или 8.12.
5. И самое главное – в настоящий момент не существует полностью безглючного декодера h.264 с поддержкой DXVA.
...