MPC Video Renderer

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

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

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

Evgeniy1990

V0lt,
ЦитироватьНедостаточная производительность D3D11 на Win7 - это не баг.
Что-то не похоже это на естественное поведение самого D3D11 на Win7. Уж больно чрезмерно высокая нагрузка присутствует во время воспроизведения. Настолько высокая, что даже интерфейс с курсором мышки еле двигаются.
Хоть это и не утечка памяти, но поведение именно такое, как будто бы вся память забита подчистую.
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

Aleksoid1978

Ну память можно помониторить. А так - возможно шейдеры "тупят". Все бы ничего - но вот студию в 7 не запустить ))
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

Evgeniy1990
Сравниваем режим D3D11 для Win7 и Win8.1/10 в одинаковых условиях (не используем видеопроцессор D3D11, все на шейдерах). Если на Win7 тупит, а на других системах нормально, то вопрос можно закрыть.

Напомню. Поддержка D3D11 для Win7 сделана ради галочки, работает как работает, код такой же как для других систем. Если тупит, то тупит.

Добавлено: 2020-02-16 10:26:43

MPCVideoRenderer-v0.4.2.1132_git2020.02.16-5a11686
Немного разрулил проблему с изменением яркости. Теперь видеопроцессор D3D11 выводит только в целочисленные форматы текстур (8 и 10 бит).

Evgeniy1990

Aleksoid1978,
ЦитироватьВсе бы ничего - но вот студию в 7 не запустить ))
Чего??? О_о У меня на Windows 7 без проблем запускается 2019 студия, к тому же она имеет поддержку Win7 SP1.
Непонятно, откуда у вас такие проблемы...

V0lt,
ЦитироватьMPCVideoRenderer-v0.4.2.1132_git2020.02.16-5a11686
Немного разрулил проблему с изменением яркости. Теперь видеопроцессор D3D11 выводит только в целочисленные форматы текстур (8 и 10 бит).
Теперь яркость всегда стабильная, не меняется, при изменении форматов текстуры. :)
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

Aleksoid1978

Ну если студия запускается на 7 - то берем ее и смотрим через профайлер кто дает нагрузку, правда сперва надо выяснить нагрузка на что - CPU или GPU.
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

mpcvr_1133_dev11.1
Прошу проверить на разных старых видеокартах режим DX11. Работает или нет.
От видеокарты требуется поддержка DX10 и новее. Система Win7SP1+PlatformUpdate и новее.
В общем чем дремучее будет система, тем интереснее результат.

Что сделано. Интерфейсы ID3D11Device и ID3D11DeviceContext заменены на ID3D11Device1 и ID3D11DeviceContext1.
По идее эта сборка в работе не должна отличаться от предыдущей.

Evgeniy1990

Aleksoid1978,
ЦитироватьНу если студия запускается на 7 - то берем ее и смотрим через профайлер кто дает нагрузку, правда сперва надо выяснить нагрузка на что - CPU или GPU.
Выяснил. Бешеная нагрузка идет именно на GPU, он всегда под 100%.
Если отключить DXVA2 для HEVC, то воспроизведение нормальное, без пропусков кадров.
Значит, проблема, связанная с аппаратным ускорением 10-битных HEVC-файлов на Win7 SP1 + D3D11 + Shaders.
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

Aleksoid1978

Ну не хватает видимо "мощей" одновременно крутить HEVC 10bit + DX11 shaders.
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

Я думаю там на копирование много ресурсов тратиться. Но тогда на Win8.1/10 при тех же условиях ситуация должна быть похожая.

Evgeniy1990

Aleksoid1978
Цитата: Aleksoid1978Ну не хватает видимо "мощей" одновременно крутить HEVC 10bit + DX11 shaders.
Это смешно... Быть такого не может, чтобы в аппаратном режиме не хватало мощностей.

Посмотрите, пожалуйста, видеозапись. На ней видно, что частота кадров не соответствует действительной.
Причем, в режиме DXVA2 идет достаточно много копирования данных.
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

Aleksoid1978

Так, разберёмся - декодер же DXVA2. Если так - то смотрим сколько времени занимает копирование, которое для связки DXVA2 + DX11 сделано «для галки», обычным копированием из GPU памяти в локальную, а это очень медленная операция. Видно же сразу по статистике. Уже блин 100500 раз поднимали этот вопрос и опять одно и тоже.

DXVA2 + DX9, либо LAV DX11 Native + DX11 - вот оптимальные связки. Софтовое декодирование одинаково будет работать с DX9/DX11.
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

У Nvidia c копированием все хорошо :)


Добавлено: 2020-02-16 15:44:23

Хотя вот тут пишут, что GTX 950 должна быть слабее RX 580. :)

Evgeniy1990, какие у тебя процессор и оперативная память? Память в двухканальном режиме работает?

Evgeniy1990

Aleksoid1978,
ЦитироватьLAV DX11 Native + DX11
Ага, как же... на Win7 эта связка не прокатит.

V0lt,
ЦитироватьEvgeniy1990, какие у тебя процессор и оперативная память? Память в двухканальном режиме работает?
Характеристики системы
Память у меня работает в двухканальном режиме (MEMORY RUNS AT DUAL CHANNEL INTERLEAVED MODE).
ЦитироватьУ Nvidia c копированием все хорошо
Вот именно, только у NVIDIA. С AMD наш MPC VR работает в разы хуже, чем должен работать.
Складывается такое ощущение, что текущий код совсем не подходит для работы на AMD. Потому что имеются такие неприятные баги, которых быть не должно. Да и машины у меня не настолько слабые, чтобы не вытянуть какой-то элементарный HEVC в аппаратном режиме. Также, обе машины немного разогнаны. Если даже с разгоном выскакивают такие баги, тот тут вывод только один - наш MPC VR не приспособлен для нормальной работы на AMD.
Это я еще проверяю на стабильном сертифицированном (WHQL) драйвере - кримсоне. Про Адреналин я вообще молчу, там творится та еще дичь, я уже говорил ранее. И все сводится именно к коду нашего MPC VR.

Я готов вам оставить свою машину с AMD -видеокартой для отладки программного кода MPC VR.
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

V0lt

Evgeniy1990
Я не услышал ответ на вопрос. На Win8.1/10 так же тупит или нет? Есть возможность проверить?
ЦитироватьХарактеристики системы
DDR2, допустим там скорость 6400 МБ/с.
У меня DDR3, судя по CPU-Z скорость 14200 МБ/с. Это в 2,2 раза быстрее. Где-то еще теряется...

Добавлено: 2020-02-16 20:09:45

Evgeniy1990, попробуй сборки mpcvr_1133_upsr_1 и mpcvr_1133_upsr_2.

Evgeniy1990

V0lt,
ЦитироватьЯ не услышал ответ на вопрос. На Win8.1/10 так же тупит или нет? Есть возможность проверить?
Я же сказал, поставлю Windows 10 на машину с AMD Radeon RX 580 Series и проверю.

В общем, установил и проверил поведение на Windows 10. Также присутствуют пропуски кадров на 10-битных HEVC-видео файлах в режиме D3D11 в аппаратном режиме DXVA2 на видеопроцессоре D3D11.

Добавлено: 2020-02-17 00:29:23

V0lt,
ЦитироватьEvgeniy1990, попробуй сборки mpcvr_1133_upsr_1 и mpcvr_1133_upsr_2.
Проверил ваши тестовые сборки.

1. "mpcvr_1133_upsr_1" - также как и на Git-сборках присутствуют пропуски кадров.
2. "mpcvr_1133_upsr_2" - гораздо лучше работает воспроизведение с незначительными пропусками кадров, т.е. пропуски кадров во время воспроизведения есть, но они появляются постепенно (периодически), спустя несколько секунд.

Единственная неприятность, в вашей второй тестовой сборке "mpcvr_1133_upsr_2", во время воспроизведения присутствует зеленый экран.
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.