MPC VR - DX11SubPic

Автор V0lt, 30 апреля 2022, 14:35:09

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

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

V0lt

В MPC VR реализована возможность работать с субтитрами в режиме DirectX 11 без использования текстур DirectX 9.

Фича касается только режима DirectX 11. Фича экспериментальная и в обычных сборках недоступна, т.к. не будет работать вывод субтитров в плеерах (MPC-HC, PotPlayer, старые версии MPC-BE). Никаких режимов совместимости не планируется. Официальное внедрение планируется после какого-нибудь релиза.

mpcvr_1872_dx11subpic.zip
Для нормальной работы требуется MPC-BE 1.6.2.7054 или новее.

Просьба потестировать. В качестве рендерера субтитров можно использовать встроенный рендерер субтитров MPC-BE или внешний XySubFilter. Для тяжелой анимации можете попробовать XySubFilter with libass.

V0lt

#1
Сделал тестовый файл SubtitleScrollingTest60fps.mkv.

Проверял с GTX950 в окне развернутом на весь экран, и с текстурой равно рабочему столу.
Общая нагрузка на видеокарту снизилась. :) Кто будет проверять, смотрите в GPU-Z частоты чипа и памяти, т.к. они важнее процентов. Можно еще смотреть потребляемую мощность.
А вот процессор нагружается сильнее. :(

MPCfan

При воспроизведении тестового файла на Intelhd4000 c CPU% особого прироста нет между простым окном и полноэкранным режимом, зато на gt730m CPU% возрастают в два раза.

Aleksoid1978

По поводу нагрузки на CPU - возможно из-за дополнительного копирования данных из текстуру в текстуру. Хоть это и делает D3D11, мало ли ...
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-BE 1.6.2.7062 выжали из DX11 все что можно. Работает эффективнее DX9.

MPCfan

#5
Что-то совсем на gt730m пошло не так > https://disk.yandex.ru/i/Kot0LBCxsPb-yQ 
1.6.2.7063 alpha git 2022.05.02 - a18c33059

Aleksoid1978

#6
Цитата: MPCfan от 02 мая 2022, 21:53:20Что-то совсем на gt730m пошло не так > https://disk.yandex.ru/i/Kot0LBCxsPb-yQ 
1.6.2.7063 alpha git 2022.05.02 - a18c33059

Ну опять видимо в деле "кривая" поддержка DX11 со стороны видео-драйвера :)

P.S. Вот проверяем, откатил последние изменения касаемо заполнения текстур D3D11 через UpdateSubresource().
https://disk.yandex.ru/d/dnhQkZ_L5zDX2Q
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

Проверил 1.6.2.7060 alpha, такое же поведение как и в 1.6.2.7063 alpha.

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

MPCfan

Всё попробовал, не помогает.  1.6.2.7055 корректно выводит сабы, 1.6.2.7058 уже нет. Между ними есть три коммита, наверное какой-то из них.

Aleksoid1978

Цитата: MPCfan от 03 мая 2022, 07:08:24Всё попробовал, не помогает.  1.6.2.7055 корректно выводит сабы, 1.6.2.7058 уже нет. Между ними есть три коммита, наверное какой-то из них.
Лучше указывать хэш git коммита, а то по номеру понять "как бы сложно" :)
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

MPC-BE.1.6.2.7055_git2022.05.01-129332362.x64 и MPC-BE.1.6.2.7058_git2022.05.02-d5ddae406.x64

V0lt

#12
MPCfan
Попробуйте 1.6.2.7064, когда будет доступна.

03 мая 2022, 13:11:16
С 7064 не прокатило.

03 мая 2022, 13:22:35
Придется возвращать Map/Unmap, а с UpdateSubresource разберемся позже.

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

V0lt

Aleksoid1978
Бесполезно возвращать. Не работает корректно на AMD и все тут. Только когда в полный экран перехожу, проскакивает корректная картинка.
Доберусь до основной машины, проверю разные варианты.