MPC Video Renderer

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

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

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

Aleksoid1978

#720
Подтверждаю, но что самое интересно - только на DX9, на DX11 все ровно. Посмотрю - но позже, щас другим процессов занят.

P.S. Исправлено.
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

Evgeniy1990

#721
Aleksoid1978,

Статистика видео-рендерера не знает границ !

При полноэкранном режиме, она может выходить за пределы экрана монитора.

Алгоритм воспроизведения:

1. Открыть видео файл
2. Открыть статистику видео-рендерера
3. Открыть плейлист (Он должен быть в состоянии по умолчанию)
4. Открепить плейлист от основного экрана плеера
5. Закрыть Flybar, нажав на "замочек"
6. Перетащить плейлист в самый верх и закрепить его с основным окном плеера
7. Открепить плейлист и, не отпуская его, перетащить его в самый низ и тут же закрепить с основным окном плеера.

В итоге, статистика видео-рендерера выйдет за пределы экрана монитора.
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

#722
ЦитироватьПри полноэкранном режиме, она может выходить за пределы экрана монитора.
Проверь на версии 0.4.6.1285
Похоже там весь кадр уехал вверх, а не статистика.

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

Evgeniy1990

Aleksoid1978,
ЦитироватьНаверное я что-то делаю не так - не смог у себя воспроизвести :) Ну или не понял алгоритма.
Сделал для вас два видео-алгоритма. Один - полный, другой - простой. Так вам будет нагляднее и понятнее.

V0lt,
ЦитироватьПроверь на версии 0.4.6.1285
Похоже там весь кадр уехал вверх, а не статистика.
Проверил. Баг также присутствует. Кстати, вы правы, похоже сам кадр улетает вверх, вот только сразу это не бросается в глаза, я даже не сразу это заметил на широкоформатном видео. Но если присмотреться снизу, то можно это увидеть.
Получается, что улетает кадр вместе со статистикой.
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

#725
Пытаюсь реализовать поддержку мульти-мониторных(мульти-адаптерных) конфигураций, а конкретнее - пересоздание D3D9/D3D11 устройств при смене монитора/адаптера(при перемещении окна или переключение в полный экран и обратно). И столкнулся с проблемой - D3D9 требует чтобы окно, на которое выводим, в режиме Flip так же было пересоздано. И вот тут, как говорится, пошли нюансы - либо подвисание всего проигрывателя, либо вообще странности с окном(окно создается, но потом куда-то исчезает). Все эти проблемы из-за того что мы создаем child окно в другом потоке, чем его родитель. Получается тупик ...

Что можно - либо оставить как есть и забыть про нормальную поддержку мульти-мониторных систем, либо отказаться от режима Flip для D3D9.

Или можно еще координальнее поступить - на DX9 оставить Discard, а на DX11 - Flip.
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

D3D11 спокойно позволяет пересоздавать SwapChain даже в режиме Flip без пересоздания окна, с этим все отлично.
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

lexxx

MPC Video Renderer 0.4.6.1285 (git-2020.05.14-adb18c1) x64
MPC-BE 1.5.5 (build 5290) beta
MPC-HC 1.9.2.33 (325a7d4ab) (K-Lite_Codec_Pack_1548_Standard)

DX11 Flip
Если в полноэкранном режиме поставить видео на паузу, переключиться через ALT+TAB на окно например блокнота, напечатать или не печатать там какой-нибудь текст. Затем через ALT+TAB попытаться вернуться в плеер, то на экране останется "след" от списка окон/приложений. Чтобы он исчез надо сделать еще один переход по ALT+TAB в блокнот и возврат по ALT+TAB в плеер или в плеере отжать паузу.
(раньше не обращал внимания, такое было или нет?)

Aleksoid1978

#728
Проверь на самой последней SVN версии MPC-BE.
И можно скрин такого "эффекта".
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

Evgeniy1990

Aleksoid1978,
ЦитироватьЧто можно - либо оставить как есть и забыть про нормальную поддержку мульти-мониторных систем, либо отказаться от режима Flip для D3D9.
Хочу напомнить, что на AMD Radeon некорректно работает D3D9 Discard, при воспроизведении видео файлов с частотами кадров: 50/59.94/60 FPS. Так вот, если вы устраните данную проблему, тогда еще можно будет отказаться от Flip для D3D9.

Но тут мне непонятно еще одно, вы же сначала планировали реализовать эксклюзивный полноэкранный режим для MPC Video Renderer, в котором без Flip явно не обойтись. И вдруг решили сразу же перейти к мультимониторности. Получается, что мультимониторность - в приоритете, а эксклюзив отправлен в долгий ящик.

Прошу прощение, просто вспомнил ваши же слова: "... да кому он тогда нужен будет без эксклюзива".
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

Ну мало ли что планировалось :) А так - может быть без всех этих пересозданий окон и эксклюзив заработает, кто знает - все сразу не могу проверить, а просто так убирать/добавлять особого нет желания :)
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

lexxx

Aleksoid1978,
Icecream Screen Recorder не фиксирует этот эффект, также не получается сделать скриншот. Они не берут эту "поверхность", на которой остается след. Только если на телефон заснять и скинуть по WhatsApp.

Дайте ссылку откуда скачивать самую последнюю SVN версию MPC-BE. Я обычно наугад качал портативную бету.

В общем когда я пытаюсь вернуться в приостановленное видео с другого окна (держу ALT и TABом добираюсь до плеера). То если отжать ALT, след останется на экране, но скриншот его уже не возьмет. Но если ALT не отпускать то Print Screen сработает и вот что будет на экране:
https://yadi.sk/i/E12aUjY-E9NjmQ
Это почти тоже самое, что и при отпускании ALT я вижу глазами на экране, только рамки, которую я пометил стрелкой не будет.

V0lt

Я не понимаю смысла в последних изменениях. Зачем пересоздавать окно? Перемещение окна плеера на другой дисплей, подключенного к другой видеокарте, у меня не создавало никаких серьезных проблем. Как играло видео, так и играет, и даже аппаратный HEVC декодер не отваливался. Можно даже расположить окно одновременно на двух дисплеях, и ничего страшного не произойдет. А скоро похоже все мигать будет.

Evgeniy1990

lexxx,
ЦитироватьДайте ссылку откуда скачивать самую последнюю SVN версию MPC-BE. Я обычно наугад качал портативную бету.
Пожалуйста.
Ну и альтернативная ссылка, если на первой вдруг будет превышен лимит скачивания. Поэтому не надо качать наугад. Любые проблемы проверяйте всегда на последних актуальных сборках, прежде чем сообщать о них.
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.

lexxx

Evgeniy1990,
Не воспроизводится. Ясно.
Интересно, сборщики K-Lite понимают, что MPC-НС может поддерживать ваш рендер с оговорками? Всмысле надеяться, что он там полноценно может заработать это бесполезно?
В пакете K-Lite идет декодер DX11, а у Вас используется DXVA. В вашем плеере можно использовать DX11 декодер?