Проблема с перемоткой у встроенного dx11 native [Исправлено]

Автор MPCfan, 27 июля 2021, 21:24:56

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

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

MPCfan

Сравнение работы перемотки(перемещение удержанием указателя мыши) Lav dx11 native и встроенного dx11 native
https://yadi.sk/i/CvH3Mld1K4uh7A
Сам файл, на котором осуществляется перемотка > https://yadi.sk/i/iUVOxFTbtnCTxg

Aleksoid1978

#1
Я понял в чем проблема - у нас в декодере происходит полная реинициализация DXVA2/D3D11 декодера(так надо было когда-то для H.264). В LAV нет такого(хотя помню точно было, надо глянуть код).

P.S. Хотя нет, LAV делает тоже самое.
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

Проверил Win8.1, там к сожалению порядок. Почему "к сожалению"? Да потому, что это значит проблемы с совместимостью у встроенного dx11 native c Win8 или с драйвером(последний для Win8). Поэтому система и ругается при попытке перемотки, она пожирает все ресурсы на какие-то проверки, отсюда и тормоза. Надо закрывать тему. Локальная проблема.
P.S. Пока Lav ещё совместим, буду использовать его для Win8.

Aleksoid1978

Зачем вообще пользоваться таким поделием как Win8, я даже понимаю Win7 и 8.1 ...
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,
Поделие. Cогласен. Ещё то ....
Но согласитесь, что поплеер, KMP, MPC разные, да и много чего ещё также есть поделие.
Только что проверил такой микс поделий >
Potplayer+MPC-VRdx11+MPCvideodecdx11native мотает без проблем, единственно CPU грузит до 80%
Potplayer+MPC-VRdx11+Lavdx11native мотает без проблем, CPU грузит до 50%
Обе связки не напрягают ни память, ни HDD.

V0lt

MPCfan
Тут вопрос, что конкретно напрягает диск. Если плеер, то это наша недоработка. Но, как вы говорите, дело в декодере-рендерере. Но они с диском вообще не общаются (немного реестр читают пишут, но это только при запуске и сохранении настроек). Поэтому скорее всего баг не у нас.

Даже если гипотетически мы неправильно используем какое-то API, то это момент должен быть описан в документации API. Типа не рекомендуется делать вот так - это приведет в нагрузке на диск. Но такого даже близко нет в D3D11, потому что D3D11 - это про видеокарту.

Сплиттер читает диск, его пробовали менять?
Кто создает нагрузку на диск и что за нагрузка, есть возможность определить?

MPCfan

V0lt,
Замена встроенного сплиттера на Lav ничего не даёт. Замена декодера на Lav меняет всё. Я нигде не говорил, что проблема в MPC-VR, он нормально работает и в Потплеере и в MPC-HC. И самое удивительное, что эти плеера нормально мотают с mpcvideodecdx11native.
Проблема только в MPC-BE+mpcvideodecdx11native. Единственное, что показали Потплеер и MPC-HC в связке с mpcvideodecdx11native - это значительную общую загрузку CPU 60-80% по сравнению с Lav 30-50%.
Что создаёт конкретно нагрузку на диск в момент перемотки, трудно сказать, ведь виснет всё. После того, как отойдёт в основном диск грузят "Узел службы", там где superfetch, System ессно, ну и antimalware executable. Это те именно службы, которые всегда грузят диск после перезагрузки системы в начале.

Aleksoid1978

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

MPCfan