Evgeniy_1990
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Цитата: Ну так значит проблема с драйверами ?? Можешь проверить как ведет себя PotPlayer на DXVA 1.0 | Совершенно верно, проблема действительно в новых драйверах. Также проверил поведение DXVA 1.0 в PotPlayer и скажу так - это еще хуже и отвратнее, чем в MPC-BE. Можете сами посмотреть: https://yadi.sk/d/P7zNAtRGczc7x Это обычная запись. В реале, наблюдаются искажения изображения, очень сильные мерцания, рассинхрон и т.д. Это все только в PotPlayer. В MPC-BE ситуация и поведение DXVA 1.0 в разы лучше. То, что показано в записи, в нем этого вообще нет и не было никогда. Да и потом, я сравнил две разные реализации DXVA 1.0. А сравнивать разные вещи совершенно некорректно и неправильно. Для тех, кто не понял, скажу так: "Bitstream (MPC-BE)" vs "VLD (PotPlayer)". И если вы думаете, что это одно и тоже, то вы сильно ошибаетесь. Даже я вижу как минимум 20 отличий. Заодно сравнил "MPC-BE" vs "LA" - реализация совершенно одинаковая, код один и тот же, за исключением одного отличия, это некий ASSERT. Первоначально, я изменил код в MPC-BE по аналогии с LA, для эксперимента и небольшого теста и собрал, в итоге - все равно падает, но уже в другом месте. После чего я понял, что это замкнутый круг, т.е. чтобы я не изменил, результат не изменится. Все сводится к DXVA-декодеру и пропуска неких фреймов. Что удивительно, в LA падения этого нет. Это меня поразило, учитывая, что код один в один, я очень внимательно сравнивал коды, даже с помощью "WinMerge". Но и в том и другом плеере есть ситуация, при которой, при открытии любого файла в DXVA 1.0 может произойти падение, причем после него уже не один файл не открыть не перезапустив сам драйвер. Отсюда сделал вывод, что проблема с падением связана из-за драйверов к видео карте. Почему не падает в LA, ответ очень прост - VS2010 vs VS2013. Неожиданно вдруг слова V0lt'a оказались, для меня, - чистой правдой: "VS2010 генерирует самый стабильный код, чего не может VS2012, а значит и VS2013". Оно и понятно и даже видно, даже есть случаи, где компилятор 2010 тупо побеждает 2013. DXVA 1.0 тому пример, код идентичный, по логике должен выполняться совершенно одинаково, но увы, не может, есть единственное отличие - это компиляторы 2010 и 2013. Цитата: Evgeniy_1990, не понимаю, какая проблема на XP для DXVA использовать сторонний декодер, или старый MPCшный standalone декодер? Ну нету, похоже, ресурсов у разработчиков отполировать программу под устаревшую XP. Нет, так нет. Приоритет более популярных новых Windows логичен. | Ага, щас, делать мне больше нечего, перекапывать интернет в поисках нужного декодера для DXVA 1.0, когда это можно реализовать в самом плеере и в его внутреннем видео декодере. И еще, мне очень неприятно слышать такие слова: "Приоритет новых систем более логичен". Логичен? В чем? В их, извините меня, просто до смеху идиотских багах и прочих ошибках, которых нет в той же XP? Это все равно что взять и променять лучшее на худшее. Подход к развитию проекта должен быть совсем другим, не в стиле: "у меня есть восьмерка, вот я и буду пилить только под нее..." А с учетом всех актуальных существующих операционных систем, начиная с XP и заканчивая той же 8.1. Иначе, сами понимаете к чему это приведет и что из этого будет выходить. А получится нечто такое: пользователь, будь добр установи себе уже семерку, а лучше восьмерку, да еще и с точкой один, забей на XP, она дрянная система, с кучей изъянов, ям и т.д., даже несмотря на то, что у тебя не самый последний компьютер. Как это называется? Это по вашему нормально? И проект развивается с такой вот идеологией, т.е. тупо для пользователей - богачей, а не бюджетников, которые должны пользоваться только EVR-CP, или MadVR (для анимешников, любящих 10-битные видео), а также должны включать некие шейдеры, всякие там интерполяции и прочие малополезные фичи, от которых CPU просто захлебывается в 100% и толку мало. Но, а задумывались ли вы когда - нибудь, что пользователь все же хочет настроить продукт под себя, но сделать это не может, т.к. каждый раз ему что-то да препятствует. И ему, как обычному пользователю, не нужны, ни EVR-CP, ни MadVR, ни шейдеры, не интерполяция и вся остальная роскошь. Ему лишь нужно, чтобы у него, на его любимой системе, допустим этой же XP нормально воспроизводились тяжелые видео в режиме DXVA 1.0. Вот и подумайте хорошенько, что чувствует пользователь, когда не может настроить продукт и пользоваться им, как положено. И ему приходится подстраиваться под всех остальных и смотреть видео на тех же EVR-CP и MadVR с тормозами. Разве это приятно? Цитата: Это у какого ж производителя такие ужасы? На AMD, вон, всё отлично: за последние 3 года с DXVA в XP никаких проблем, включая последний Catalyst 14.4 (Radeon HD 6670). | Это ужасы самой AMD. Была ATI - все работало стабильно, появилась на свет AMD - пришел апокалипсис. Вот именно, что на самых последних драйверах, именуемых, как AMD Catalyst при DXVA вообще любом, хоть 1, хоть 2, даже у меня были много раз BSOD. Цитата: И раз уж тут за madvr зашёл разговор: помимо скалинга, есть у него ещё плюс, конкретно для XP. Если в Windows 7 и выше разрешения с частотой 25i, 30i, 50p доступны "из коробки" после установки драйвера, то в XP только после включения их в контрольной панели Catalyst. Так вот, MPC-BE даже после этого не видит в доступных частоты ниже 60 Гц. Но при выборе madvr, можно спокойно их всех указать и задействовать. | Скалинг... ну и т.д. и т.п. куча всего того, чего вообще лучше не трогать, как бы не получить очередной BSOD в лицо. |