MPC Video Renderer

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

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

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

V0lt

#1275
1. Если хочется сравнивать с честным EVR-CP, то включаем опцию "VSync" (клавиша V). В этом случае статистика вывода кадров будет реальной, а не 100500 fps на дисплее 60 Гц.

2. Все пропуски кадров и всплески графика в начале воспроизведения, при изменении размера окна, перемещении окна на другой дисплей, перехода в полный экран, изменении настроек, добавлении внешних шейдеров и т.п. смело игнорировать.

3. Пропуски кадров, когда входная частота видео больше, чем частота дисплея - это штатная ситуация. Почему? Догадайтесь сами.

4. Время Present в MPC VR может быть отличным от нуля (вроде зависит от железа). Но если оно не больше интервала обновления экрана (например, для дисплея 60 Гц не более 16,7 мс), и нет других проблем, то можно не беспокоится.

Evgeniy1990

MPCfan,
ЦитироватьЗнаете, у себя тоже смог повторить ужас на 59,94 fps, при переходе с одного монитора на другой несколько раз иногда  Present сходит с ума. Как будто что-то сбивается в работе.
Спасибо вам за подтверждение данной проблемы! А то идеальность работы систем разработчиков уже меня до канала.
Дело в том, что у них современные мониторы, небось под 144 Гц, или с поддержкой работы только одной конкретной частоты обновления экрана монитора. И на них описанные мной проблемы почему-то не проявляются. Они не видят у себя этих самых проблем с пропусками кадров, с неправильными частотами, когда вместо 120 FPS MPC-VR выдает 60 FPS максимум и т.д.

Из-за того, что у них такие вот системы высокопроизводительные, большинство проблем так до сих пор и остаются неисправленными. А мы, как простые пользователи снова, снова и снова на них всегда натыкаемся.

Вот минимальный список неисправленных прежних давнишних проблем, на которые я постоянно натыкаюсь, даже сейчас:

https://mpc-be.org/forum/index.php?topic=475.0
https://mpc-be.org/forum/index.php?topic=412.0
https://mpc-be.org/forum/index.php?topic=420.0
https://mpc-be.org/forum/index.php?topic=498.msg4881#msg4881
https://mpc-be.org/forum/index.php?topic=503.msg4986#msg4986
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.

Evgeniy1990

Aleksoid1978,
Цитата: Aleksoid1978 от 05 сентября 2020, 09:54:48
Где на локальных файлах падение частоты с 59.94/60 до 50 ? А циферки будут разные ещё и потому что разный алгоритм подсчета, у нас он проще чем на EVR-CP. По 120 - у нас юзается всминк самого D3D9, включаем нужную галку для EVR-CP и будет тот же результат.
Для этого необходимо запустить внутренние и внешние окна, то, о чем я вчера вам говорил, когда начал разбираться с этими проблемами, которые вы у себя не видите и не можете воспроизвести.

Жаль, что на данный момент, у меня нет внешней камеры, я бы вам сделал запись, как это происходит. Зрелище не из приятных, что называется.
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.

Evgeniy1990

V0lt,
Цитировать1. Если хочется сравнивать с честным EVR-CP, то включаем опцию "VSync" (клавиша V). В этом случае статистика вывода кадров будет реальной, а не 100500 fps на дисплее 60 Гц.
Вот я об этом и говорю, что MPC-VR имеет некий свой скрытый VSync, который никак не связан с основным.
Это же итак очевидно и понятно, что если включить VSync, то частота кадров видео будет равна частоте обновления экрана монитора. Значит, я был прав. MPC-VR изначально использует свой скрытый VSync. Вот только как пользователи должны об этом догадаться? Ни в статистике, ни где либо еще даже и близко нет элементарной надписи VSync.
Цитировать2. Все пропуски кадров и всплески графика в начале воспроизведения, при изменении размера окна, перемещении окна на другой дисплей, перехода в полный экран, изменении настроек, добавлении внешних шейдеров и т.п. смело игнорировать.
Они не только в начале воспроизведения, они присутствуют во время всего процесса воспроизведения. И почему мы должны их игнорировать? Это же признаки некорректного воспроизведения.
Цитировать3. Пропуски кадров, когда входная частота видео больше, чем частота дисплея - это штатная ситуация. Почему? Догадайтесь сами.
Штатная ситуация? (О_о) Т.е. это - норма! (О_о)
Только вы забыли упомянуть, что при этом происходит потеря плавности воспроизведения, что не является нормой.
Т.е. для нормального просмотра видео файлов с высокими частотами кадров, исходя из вашего утверждения, нужно поднимать частоту обновления экрана монитора? Ну хорошо, это можно сделать. Я уже говорил, чем выше частота, тем ситуация лучше.
Только опять же возникает вопрос - а если монитор поддерживает работу только одной частоты, той же - 60 Гц. Как в этом случае быть? Любоваться на этот ужас? VSync не улучшает картину, а только еще больше ее портит, "дерганья" и "пила" обеспечены.
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

Цитата: Evgeniy1990 от 05 сентября 2020, 10:02:33
Для этого необходимо запустить внутренние и внешние окна, то, о чем я вчера вам говорил, когда начал разбираться с этими проблемами, которые вы у себя не видите и не можете воспроизвести.

Жаль, что на данный момент, у меня нет внешней камеры, я бы вам сделал запись, как это происходит. Зрелище не из приятных, что называется.

А зачем камера - так же любой прогой снимаем видео всего рабочего стола.
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

Но если по факту - если человек смотрит кино ему не нужну никакие окна, внутренние или внешние. Так что если различные действия влияют на плавность - да и бог с ним, в этот момент человек не кино смотрит а окна открывает и т.д. - перестали чтоли бо делать и плавность "вернется". Для просмотра на большом экране вообще нужно юзать эксклюзивный режим, которому вообще по барабану на различные действия в системе ...
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 от 05 сентября 2020, 10:28:08Вот я об этом и говорю, что MPC-VR имеет некий свой скрытый VSync, который никак не связан с основным.
MPC VR рисует НЕ более одного кадра на одно обновление дисплея. Вот вся и логика D3DPRESENT_INTERVAL_ONE. За вывод кадра отвечают Direct3D и DWM.

EVR-CP может рисовать в бэкбуфер несколько кадров на одно обновление дисплея, когда используется D3DPRESENT_INTERVAL_IMMEDIATE (все "VSync-и" отключены). Потом Direct3D отобразит лишь последний кадр из нарисованных. При этом на выброшенные кадры тратятся ресурсы видеокарты. Но EVR-CP об этом не узнает и нарисует в статистике левое значение fps.
Чтобы этого не было, EVR-CP должен либо сам ограничивать вывод кадров (опция "Встроенный VSync"), либо использовать D3DPRESENT_INTERVAL_ONE (опция "VSync").

ЦитироватьТ.е. для нормального просмотра видео файлов с высокими частотами кадров, исходя из вашего утверждения, нужно поднимать частоту обновления экрана монитора? Ну хорошо, это можно сделать. Я уже говорил, чем выше частота, тем ситуация лучше.
Я ничего такого не говорил. Нельзя поднять частоту до 120 Гц, если у монитора предел 60 или 75 Гц.

ЦитироватьТолько опять же возникает вопрос - а если монитор поддерживает работу только одной частоты, той же - 60 Гц. Как в этом случае быть? Любоваться на этот ужас? VSync не улучшает картину, а только еще больше ее портит, "дерганья" и "пила" обеспечены.
Открываю скриншот отсюда. Пилы не вижу, вижу микроколебания графика в ±1 мс.

Цитата: Aleksoid1978 от 05 сентября 2020, 11:15:56Для просмотра на большом экране вообще нужно юзать эксклюзивный режим, которому вообще по барабану на различные действия в системе ...
Увы, но в эксклюзивном режиме не будет фейковых 120 fps в статистике. :D

Evgeniy1990

Aleksoid1978,
ЦитироватьА зачем камера - так же любой прогой снимаем видео всего рабочего стола.
Весь прикол в том, что любая программа для записи видео и есть то самое внешнее окно. Плюс, вдобавок, еще и лишняя нагрузка, от которой будет расти этот самый Present.

Суть в том, что если открыть окно свойств видео-рендерера, во время воспроизведения видео, то частота кадров с 60 FPS будет падать до 56 FPS и вернется обратно в норму только лишь после того, как закрыть окно свойств видео-рендерера.

P.S. Не забываем про основные условия воспроизведения проблем - это мультимониторность и частота монитора = 60 Гц.
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.

Evgeniy1990

Aleksoid1978,
Цитата: Aleksoid1978 от 05 сентября 2020, 11:15:56
Но если по факту - если человек смотрит кино ему не нужну никакие окна, внутренние или внешние. Так что если различные действия влияют на плавность - да и бог с ним, в этот момент человек не кино смотрит а окна открывает и т.д. - перестали чтоли бо делать и плавность "вернется". Для просмотра на большом экране вообще нужно юзать эксклюзивный режим, которому вообще по барабану на различные действия в системе ...
Оно конечно так, только при вызове различных окон, плавность теряться не должна. Если она теряется, то уже что-то не так.

Даже если не открывать окна, потеря плавности в режиме мультимониторности, все равно будет присутствовать.
Во время плавного воспроизведения, можно наблюдать периодически возникающий "точеный пик", что также вызывает удивление и странность. Потому что даже на максимальных герцах мониторов, в момент его проявления, наблюдаются пропуски кадров.
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

При мультимониторности смотреть лучше всего в FSE режиме.
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

V0lt,
ЦитироватьMPC VR рисует НЕ более одного кадра на одно обновление дисплея. Вот вся и логика D3DPRESENT_INTERVAL_ONE. За вывод кадра отвечают Direct3D и DWM.

EVR-CP может рисовать в бэкбуфер несколько кадров на одно обновление дисплея, когда используется D3DPRESENT_INTERVAL_IMMEDIATE (все "VSync-и" отключены). Потом Direct3D отобразит лишь последний кадр из нарисованных. При этом на выброшенные кадры тратятся ресурсы видеокарты. Но EVR-CP об этом не узнает и нарисует в статистике левое значение fps.
Чтобы этого не было, EVR-CP должен либо сам ограничивать вывод кадров (опция "Встроенный VSync"), либо использовать D3DPRESENT_INTERVAL_ONE (опция "VSync").
Спасибо за объяснения. Хотя я знал, что оба видео-рендерера работают по-разному.
ЦитироватьОткрываю скриншот отсюда. Пилы не вижу, вижу микроколебания графика в ±1 мс.
Конкретно на "Аватаре" пилы нет.
А вот если взять DVD-Video, в котором работает аппаратный деинтерлейс, то там можно будет увидеть пилу, причем не только сплошную, но и периодическую, в зависимости от присутствия, или же отсутствия внешних окон. Даже при полном отсутствии внешних окон можно увидеть периодичность проявления "пилы". В момент ее проявления начинает расти Present, появляются пропуски кадров и падает частота кадров.

Как ни странно, на EVR-CP, при открытии любых окон, даже при включенном VSync, нет пилы, вообще нет полностью, при этом плавность воспроизведения кадров видео не теряется.

Суть в том, что на MPC-VR потеря плавности будет всегда на видео файлах с высокими частотами кадров видео, даже если не открыты внешние окна, в отличие от EVR-CP. Внешние окна нужны лишь для подтверждения и убеждения данных проблем.
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.

Evgeniy1990

Aleksoid1978,
Цитата: Aleksoid1978 от 05 сентября 2020, 13:20:22
При мультимониторности смотреть лучше всего в FSE режиме.
Вот я и спросил, почему только в режиме FSE? Неужели нельзя нормально заставить работать MPC-VR в обычном режиме?

Ну, хорошо, пусть будет режим FSE, но и с ним тоже пока, на данный момент, есть проблема, о которой я вам также уже говорил  - это разовое мертвое зависание плеера, при выходе из режима FSE со второго монитора обратно на первый (основной).
Вы смогли у себя воспроизвести это мертвое зависание, при данном условии? Если что, то я напомню вам еще раз, что для его проявления требуется перезагрузить операционную систему.
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 от 05 сентября 2020, 13:28:44Вот я и спросил, почему только в режиме FSE? Неужели нельзя нормально заставить работать MPC-VR в обычном режиме?
нет
https://bugs.chromium.org/p/chromium/issues/detail?id=680639
https://bugs.chromium.org/p/chromium/issues/detail?id=467617
но подвижки есть
https://www.reddit.com/r/Windows10/comments/f57tk4/dwm_multiple_monitors_with_different_refresh_rate/

Aleksoid1978

#1288
Цитата: MPCfan от 05 сентября 2020, 08:39:05
Так должно быть, что в статистике MPC-VR указывается телевизор, хотя плеер находится на мониторе ноутбука. То есть: запускаем плеер и видео на мониторе, статистика показывает именно монитор, переходим в FS на ТВ, статистика показывает ТВ, выходим из FS на монитор, но статистика всё-равно показывает ТВ?
FS эксклюзивный используется ?

P.S. Вот попробуй - https://yadi.sk/d/lpfhgIWR-oOy6A
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

#1289
Aleksoid1978,
Речь шла о Windowed FS. Проверил ваш тест-билд. С Windowed FS на мониторе ноутбука в статистике отображается всё-равно ТВ, его разрешение и частота, а с Exclusive FS всё корректно, может так и должно быть.
Что касается Windowed FS, можно просто перезапустить файл, не закрывая плеера и статистика становится корректной, может реинициализация нужна?