MPC Video Renderer

Автор V0lt, 24 февраля 2018, 19:10:59

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Aleksoid1978

Цитата: MPCfanAleksoid1978,
V0lt,
 https://yadi.sk/d/deYPFLXMqWBRig >здесь видеоролик и три скриншота сравнения между evr-cp, madvr и mpc-vr. В принципе везде использовались одинаковые условия(софтовое декодирование и shaders как видеопроцессор). Mpc-vr всегда дроппит в отличии от evr-cp и madvr.

Всегда дропит или только в начале ? Тут бы посмотреть на сам процесс воспроизведения со включенной статистикой, чтобы увидеть что с показателями во время дропов.

Ну а так вполне что шейдеры в madVR более оптимальные, с EVR-CP сравнивать некорректно, там используется DXVA2 VP.
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

MPCfan

Aleksoid1978,
В процессе воспроизведения. Насчёт оптимальности шейдеров в madvr не знаю, а вот CPU он(MadVr) ест больше c софт декодом, да и вообще. В evr-cp использую формат текстуры 10bitinteger и интерполяцию catmull-rom, не dxva2 vp. Сделеал видео всего процесса с mpc-vr  https://yadi.sk/i/0KFxXI_YTNn38A

V0lt

Цитата: oliv77@r159Вы не хотите отображать статистику как пользовательский EVR в виде графика?
Я планирую сделать график, но как в EVR он не будет.

Aleksoid1978

EVR-CP использует DXVA VP для цветового преобразования.
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

V0lt

MPCfan, Aleksoid1978
У EVR на входе NV12, так P010 карта GT 730М не умеет.
P010 занимает в 2 раза больше места, чем NV12, от этого нагрузка выше.

9 пропущеных кадров из 18000. Я бы не заморачивался. :-)

Aleksoid1978

Ну и получается что копирование данных вручную, так как карта не поддерживает работу напрямую с P010
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

MPCfan

Aleksoid1978,
V0lt,
30% GPU это разве критично? 70-100%, тут понятное дело. Взять хотя бы gt840m, тут даже dxva2 vp подключается, при 80% GPU дропов куча. Хотя не понял, почему в madvr, если включить dxva для интерполяции и цвета(в статистике p010/chroma=dxva/image=dxva), то на GPU нагрузка в два раза меньше, естественно и пропусков нет(жульничество?). Вот сравнение mpc-vr и madr c dxva2 процессингом на gt840m  https://yadi.sk/d/cyBQEEj_NazWTA

Aleksoid1978

Мне кажется тут дропы не из-за нагрузки.
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

Aleksoid1978

Цитата: MPCfanAleksoid1978,
V0lt,
30% GPU это разве критично? 70-100%, тут понятное дело. Взять хотя бы gt840m, тут даже dxva2 vp подключается, при 80% GPU дропов куча. Хотя не понял, почему в madvr, если включить dxva для интерполяции и цвета(в статистике p010/chroma=dxva/image=dxva), то на GPU нагрузка в два раза меньше, естественно и пропусков нет(жульничество?). Вот сравнение mpc-vr и madr c dxva2 процессингом на gt840m  https://yadi.sk/d/cyBQEEj_NazWTA

Вот попробуй Debug версию, вывод смотреть в DbgView - после окончания проигрывания выложи лог из DbgView, глянем.
https://yadi.sk/d/cztDlcl0WT4NKg
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

V0lt

MPCVideoRenderer-v0.4.2.1214_git2020.03.30-800fd4c
Планируется релиз. Прошу попробовать эту версию. Сообщите, если заметите проблемы по сравнению с предыдущим релизом v0.4.1.1130.

PS: Заменил 1213 на 1214, т.к. была проблема в режиме DX9.

MPCfan

Aleksoid1978,
Вот три лога https://yadi.sk/d/QfqpW5DDgQkUBQ Пробовал ещё с dx11, разницы нет.

Aleksoid1978

Вот еще проверь - так же с логом https://yadi.sk/d/AL4lN2dCP6pbSA

Добавлено: 2020-03-30 22:07:01

Ну а так могу сказать только одно - мы используем(в отличии от EVR-CP/madVR) готовое решение для очереди/планировщика в виде базовых классов DirectShow, и при большой нагрузке на CPU он дает сбой(работает не совсем оптимально). Переделывать очередь/планировщик - думаю вряд ли будем в ближайшее время(если вообще решимся).
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

MPCfan

Aleksoid1978,
https://yadi.sk/d/SOYClg7z0ScljA Спасибо за разъяснение. В любом случае не критично.

Aleksoid1978

Дополню - в базовом классе вообще нет никакой очереди, т.е. когда приходит очередной сэмпл фильтр просто ждет когда наступит его время(ну примерно), поэтому при высокой нагрузке на CPU такой метод не совсем хорош :)
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

V0lt

Релиз MPC Video Renderer v0.4.3.1215.
Описание на русском.
Описание на английском.

Изменения:
Исправлена яркость кадра для 10-битных видео на выходе видеопроцессора D3D11.
Добавлен дизеринг. Он используется при финальном уменьшении глубины цвета с 10/16 бит до 8 бит.
Исправлена работа статистики при воспроизведении некоторых устройств.
Исправлен пропуск кадров в некоторых редких случаях.
Улучшено отображение субтитров.
Улучшена совместимость с другими плеерами.
Добавлена возможность получения отображаемого изображения.
Добавлена возможность изменения настройки "Swap effect" во время воспроизведения.
Исправлены проблемы с поворотом и зумом в некоторых ситуациях.
Добавлена поддержка вызовов IVideoWindow::put_MessageDrain and IVideoWindow::get_MessageDrain.
Рекомендуемая версия MPC-BE v1.5.5.5125 или новее.