А ещё сейчас Wayland грядёт в линуксах - ещё куча работы по граф системе для браузерописателей ради одного процента.
да не будет оно работать без дров. просто не будет и всё. гуглу нужен кмс чтобы загрузиться в браузер, а там у них уже свой дисплейный сервер и менеджер окон. но допилят они его ещё не скоро. к тому времени gbm в ядре уже заменят на что-то другое, весь миллион вяленых композиторов начнут переписывать, и только потом, пока вяленые композиторы переписывают, возможно, хромос будет готов для десктопов на линупсе на свежезавезённых дровах. а до этого момента хромбуки будут спокойно жить на встроеных интелах и не чухаться. блендер и игори на них работать разумеется не будут, но они там и не нужны.
наверное декодировал на процессоре, поэтому и запас оставался.
Нет. Это потому, что использование декодера у Intel виртуализируется драйверами. Переключение очень дешёвое, поэтому ресурсы блокируются только на время работы. Можно создать три сотни контекстов и декодировать в каждом по кадру в секунду, а можно в одном делать три сотни.
У NVIDIA каждый объект связывает ресурсы, так что в какой-то момент они просто кончаются. Слишком быстро. Доходит до смешного, когда нельзя реализовать смену разрешения видео на ходу. Возможно, это получится, если заюзать OpenGL interop, но у меня никак руки не дойдут попробовать. (А кодить за меня почему-то никто не хочет.)
У меня есть только Skylake в котором нет полноценного декодера VP9, так что точно не могу сказать. Я нашёл гибридный VA-API драйвер для VP9, и он как бы работал, но иногда и в чёрно-белом. Драйвер заброшен, и чинить его никто не будет. Но раза в два нагрузку на CPU он снижал. Проверял в mpv.
Обычный intel-vaapi-driver. А у NVIDIA — обычный libvdpau_nvidia.so.1. В чём жуть-то? Подход интела даёт программистам побольше места для манёвров.
я думал на видеокарте видео должно декодироваться, у интела не так?
Это всё равно отдельные блоки, не те же шейдерные ядра. У дискретных карт они рядом с шейдерными ядрами, на том же чипе, а чип на отдельной плате. У Intel'а всё это либо на одной пластинке, либо на двух, но в одной сборке. Что там называть видеокартой?
так вот, вопрос не в том как в браузере открывается видео, а как аппаратно ускоряется его обработка средствами того же браузера (css трансформации, фильтры) и как это коррелирует с в том числе canvas апи и проч. очевидно - никак.
Ну к примеру VDPAU его вообще не умеет. Как и HEVC 10 битный.
VPx в профилях действительно нет, а вот HEVC 10bit есть. Даже 12bit есть. Только вот я не видел пока, чтобы где-то мелькала работающая реализация на NVIDIA железе.
я тоже не знаю, что там называть видеокартой. можно ещё pci-e карту вставить для декодирования видео и радоваться, пока на ютубе не появится новый кодек.
именно поэтому аппаратное ускорение на линуксе никогда и не заработает. пока дядя не плюнет в рот жёваной морковкой, ничего не ускорится, а дядя не плюнет потому что васяны дяде тычут в рожу средний палец как будто они линусы торвальдсы какие-то. встроеный интел - это судьба.
а как аппаратно ускоряется его обработка средствами того же браузера (css трансформации, фильтры)
Кои css, когда тебе ясно сказали - это делается на уровне процессора, железом.
Блиц умеет работать и с паяльником и в свои 20 лет, возглавил лабораторию радио-электроники.
именно поэтому аппаратное ускорение на линуксе никогда и не заработает.
Почему? Пока Youtube отдавал плеер на Flash, работало. Потом он перестал, и вообще стал отдавать VP9, тогда перестало. Но так уж сложилось, что новый проц у меня не сильно греется и при полной загрузке одного ядра, а для VP9 на 1080p хватает даже части возможностей одного ядра. Так что особая необходимость об этом переживать отпала.
ну всё правильно. зачем декодировать на видеокарте, если процессор декодирует быстрее чем «видеокарта». включаешь -msee2 -msse3 и всё вполне аппаратно декодируется на половине ядра.
нет смысла делать настоящее аппаратное декодирование, потому что у васянов нет видеокарт, а видеокарт у васянов нет потому что нет дров. и им не надо, им не нужен графон, им нужно надувать щёки, топать ножкой и требовать чтобы аппаратное декодирование включили в браузере вот прямо сейчас, прямо на забагованом gbm и вяленом в котором лагает мышка.
это трудно объяснить, всё запутано, я понимаю, но поверь, аппаратное ускорение не заработает. заработает потом, на хромосе, хромбуках и на проприетарных дровах которые гуглу даст производитель железа.
ну всё правильно. зачем декодировать на видеокарте, если процессор декодирует быстрее чем «видеокарта».
Неа, тут дело совсем не в этом. Декодируют они с одинаковой скоростью, тридцать кадров в секунду на видео с тридцатью кадрами в секунду. Но есть разница в потребляемой мощности и, как следствие, нагреве. На ноуте с Ivy Bridge это означало для меня просмотр Youtube видео с тихим работающим вентилятором против просмотра Youtube видео с громко работающим вентилятором.
включаешь -msee2 -msse3 и всё вполне аппаратно декодируется на половине ядра.
Какие у тебя наивные представления о кодеках. Они значительной частью состоят из вручную написанного на ассемблере кода, заточенные под разные процессоры. Просто передав -msse2 -msse3 компилятору, ты такого не получишь. В частности, поэтому они теперь такие быстрые. Но специализированные аппаратные декодеры всё ещё делают универсальные CPU ядра по энергоэффективности.
нет смысла делать настоящее аппаратное декодирование, потому что у васянов нет видеокарт
У многих есть Intel со встроенным GPU, у многих есть APU от AMD. Сомневаюсь, что доля тех, у кого совсем нет поддержки декодирования видео на видеоадаптерах, значительна. Всё-таки уже 10 лет прошло, как декодеры стали встраивать.
это трудно объяснить, всё запутано, я понимаю, но поверь, аппаратное ускорение не заработает. заработает потом, на хромосе, хромбуках и на проприетарных дровах которые гуглу даст производитель железа.
Я понимаю, что тебе сложно объяснять то, о чём ты сам толком не знаешь. Для начала я расскажу тебе, что в ChromeOS аппаратное декодирование уже работает. Патчи, которые в Chromium добавляют аппаратное декодирование, просто включают код, который там уже есть. Просто хромобуков известное железо, поэтому они не боятся эти блоки включать. Драйвера там те же самые, что и в обычном линуксе. Как минимум, для чипов Intel.
В Chrome/Chromium для настольных билдов поддержку hwdec не включат, такова текущая политика компании-разработчика. В Firefox запросто могут добавить, пока что в выключенном виде по умочанию. Основная проблема тут в том, что никто не написал соответствующий код. А для Mozilla тратить силы на то, что будет выключено почти у всех, согласись, довольно глупо.
Ну, во-первых, придётся править патчи при обновлениях и пересобирать под свою систему. Мне хватило пересборок пакета Iceweasel во время переезда Debian на GCC 5. А во-вторых, не очень удобно постоянно между браузерами туда-сюда переключаться.
Я же прямо в том же сообщении писал: включилось. Как бы. Видео чёрно-белое, и какое-то странноватое. Возможно, это был Cb или Cr канал, а не Y. Загрузка CPU уменьшилась; но это не особо важно, если видео криво декодируется.
попробуй то же самое видео через internet explorer 11, может поможет.
И... что я вообще должен увидеть? Допустим, я захочу проверить, действительно ли там гибридный декодер задействован. Надо ведь как-то сравнить с чисто программным декодером того же IE11. Другой плеер не подойдёт, потому что я не знаю, каковы накладные расходы в самом IE11.
Под Linux я знаю больше инструментов. Под Windows, за исключением встроенного отладчика в Visual Studio и немного windbg, я не пользовался ничем. В последний раз, когда хотелось прочитать модельно-специфичные регистры (MSR), это был тот ещё квест. Кое-как получилось в windbg, но коряво. Чудо вообще, что мне в голову идея пришла туда глянуть. Устойчиво работающие инструменты найти не удалось.
попробуй как-нибудь, как представится возможность. какое-нибудь 4к ультра-эйчди видео на ютубе, сравни как оно проигрывается в хроме на линупсе и тоже самое видео в ие11 на шиндоус. прямо на этом твоём ссаном skylake в котором «нет полноценного декодера vp9».
ладно, ринат-кун, на новый год чудеса случаются, верно? ие11 не поддерживает вп9, поэтому ютуб отдаст видео в х264, декодер которого у тебя есть где-то рядом с процессором.
чем это тебе поможет в этом твоём линупсе - это ты уже сам разбирайся, может быть и ничем, но можешь посмотреть в сторону chrome://flags и h264ify.
Тут недавно выяснил, что Хром поддерживает ускорение только на ДХ-11 карточках 8-( А то смотрю ютуб стал тормозить недели две назад, пришлось вырубить... Гадская ГТ220 уже вышла в тираж, её и hyper-v уже не поддерживает 8-/
Похоже, что так. Список рассылки у них по сути уже два года как признаков жизни не подаёт. Примерно с того момента, как репозитории на freedesktop.org переехали. Такое ощущение, что они этот проект сбросили и больше ничего туда добавлять не будут.
ну например то что использующие cuda приложения сурово грузят гпу. вплоть до легких фризов иксов. но это совершенно не влияет на воспроизведение видео с hwdec, которое собссно vdpau - а без него с, например, запущенным cuda-майнером будет не видео, а слайдшоу
и запущенный cuda-майнер, в свою очередь, никак практически не влияет на скорость перекодирования ffmpeg-ом с hwdec/hwenc
в nvidia-settings просто наглядно видно, насколько грузится гпу, а насколько - videoengine, которое vdpau/hwdec/hwenc обслуживает