LINUX.ORG.RU

Поясните как работает ускорение

 , , ,


0

4

Имею рач, ускрение завел (вроде) Имеются несколько вопросов, буду рад если растолкуете. Скрин 1 https://ibb.co/yqznrZK . На нем видим загрузку проца и видеокарточки. Под 50 процентов проц загружен. Прошу заметить, что установлено расширение h264ify, которая позволяет ютубу играть ролики только в h264. Скрин 2 https://ibb.co/x8q18Pw . Другой ролик. Ситуация уже совсем другая. проц чуть больше 20 загружен. Скрин 3 https://ibb.co/NVFbVDX . Видео в влс. Тут отмечу, что, конечно, тут не 1080р (кстати хз почему, в настройках выкрутил чтобы 1080 ставил), но нагрузка просто смешная.

  1. Все-таки видео чем-то отличаются? Кодек принудительно один и тот же играется
  2. Почему такая разница у видосов? Реально почти в 2 раза разница
  3. Как их играет влс, что у него меньше 10 процентов под загрузку идет?
  4. можно ли вообще глянуть что там ютуб играет, странно как-то на самом деле. если что hd graphics 5500, wayland, фаерфокс с флагом MOZ_ENABLE_WAYLAND=1

Прочитал заголовок и прямо в ступор упал. Человечество то толком не знает даже как время работает, какое там ускорение.

А тут арч

vertexua ★★★★★
()

попробуй:

media.ffmpeg.vaapi.enabled = true
media.mediasource.webm.enabled = false
media.ffvpx.enabled = false

export MOZ_ACCELERATED=1
export MOZ_WEBRENDER=1
bhfq ★★★★★
()
Ответ на: комментарий от PURGEN143

Аффтары mpv не осилили графический интерфейс и сделали вид что это фича. Некоторым знающим толк месье это нравится.

anonymous
()
Ответ на: комментарий от anonymous

Если тебе так нужны менюшки и окошки, есть всякие celluoid’ы и smplayer’ы. Внутри там тот же mpv, так что это лучшее от обоих миров, если тебе это нужно. Vlc кстати тоже можно использовать без GUI. Я так и делал когда то. А так, OSC в mpv - достаточный GUI для видеоплеера.

eternal_sorrow ★★★★★
()
Последнее исправление: eternal_sorrow (всего исправлений: 1)
Ответ на: комментарий от eternal_sorrow

Если тебе так нужны менюшки и окошки, есть всякие celluoid’ы и smplayer’ы.

Ага. Либо разбираешься во всём этом зоопарке, а когда тебе понадобится что-то кроме play/pause, разбираешься в зоопарке по новой.

Либо ставишь vlc и всё работает. Имхо конечно.

anonymous
()
Ответ на: комментарий от PURGEN143

А чем он лучше?

чем VLC

Даже не знаю что сказать на это. Всем лучше. И в том числе поддержкой аппаратного ускорения. VLC мне запомнился тем, что при включённом аппаратном ускорении он регулярно показывал мне зелёный экран. А в mpv сразу сделали нормально и потом ещё много лет улучшали.

И так там сделано всё. Просто загляни в man mpv, ты охренеешь как много там опций для тонкой настройки всего. В сравнении с ним конфиг VLC довольно скуден. Даром что его можно править из GUI. И это ещё речь не зашла про поддержку в mpv скриптов…

eternal_sorrow ★★★★★
()
Ответ на: комментарий от eternal_sorrow

Понимаешь какое дело, я хочу видос посмотреть, а не длинные маны читать и видеоплеер скриптовать.

А на зелёный экран много лет назад у какого-то месье мне безразлично.

anonymous
()

На первом скрине столбец Video у тебя пустой. Ускорение не работает. Проверяй параметры, начиная с драйвера vaapi

Alden ★★★★
()
Последнее исправление: Alden (всего исправлений: 1)

Жадность? Дэ вэ по дэ тэ?

anonymous
()
Ответ на: комментарий от Alden

Так рендер нагружен. Разве это не оно? Хм, да вроде работает. На шиндовсе/хакинтоше 25-30 загружается. Без ускорения если то под все 100

PURGEN143
() автор топика
Ответ на: комментарий от PURGEN143

Нет, не оно. Рендер грузит композитор твоего DE в том числе. Когда начинает работать ускорение заполняется столбик Video

Alden ★★★★
()

Ты всё со своим 5500 носисси? Его ускорение могли в самом Файрфоксе заблэклистить. Или из-за композитного оконного менеджера отключить аппаратное ускорение. Проверь в отладочной информации фокса. Если выключено, попробуй профорсить.

ChekPuk ★★★
()
Ответ на: комментарий от eternal_sorrow

Весь лор в одном коменте. У человека vlc работает правильно, вопрос про браузер, в котором не работает, а Ъ ему сообщает, что vlc ненужен...

ChekPuk ★★★
()

You can verify that VA-API is enabled by running Firefox with MOZ_LOG=«PlatformDecoderModule:5» environment variable and check in the log output that VA-API is enabled and used (search for the «VA-API» string) when playing a video for example. Pay attention to these logs as they might indicate that only one of the two possible compositors described before (OpenGL or WebRender) works with VA-API on your particular setup.

Логи смотрел?

Alden ★★★★
()
Ответ на: комментарий от ChekPuk

Потому что vlc юзает встроенные кодеки и да не нужен, а для фокса и mpv нужны драйвера и настройка. И куча тем есть на форуме с примерами.

anonymous
()
Ответ на: комментарий от PURGEN143

Запускай в терминале MOZ_LOG="PlatformDecoderModule:5" firefox и смотри запускай видео

eternal_sorrow ★★★★★
()

Зачем «ускорение»? Аппаратную часть не обманешь.

anonymous
()

Ускорение есть результат действия силы на какую-то массу. Возможно масса лисички столь велика, что силы hardware acceleration недостаточно, чтобы придать ей значимое ускорение.

ugoday ★★★★★
()

если тебе совсем уж интересно,

то процессор разбирает файл, выбирает последовательности кадров «GOP» - в начале идет I-frame на который ты можешь перемотать. Это фактически фотка типа jpeg. Далее от неё высчитываются P-frame(с опорой на прошлые данные) и B-frame(прошлые + следующие) .

GOP целиком заливается в GPU где специальный проц это дело декодит в фреймбуферы. далее шейдерами проводится постпроцессинг.

salozar
()

в норме кстати загрузка проца под видео - единицы процентов.

в GPU льют просто raw data по сути. дальше подсрачник и пошел кадр. подсрачник и еще кадр. и т.д. пока весь GOP не отподсрачат.

salozar
()
Ответ на: комментарий от salozar

в браузерах под линупсом всё через жопу, единиц процентов никак не будет

anonymous
()

итак, что касается твоих трех скринов.

скрин 3: vlc реально воспроизводит видео через видяху и оверлей. поэтому загрузка «смешная». это норма, при том, что у тебя всё равно что-то работает явно. идеал - когда вообще проц почти не работает(2-5% одно ядро).

скрин 2: подключается браузер. если ты думал, что рисуется только видео, то сюрприз - работает еще композитор браузера, и композитор оконной системы. получи законные 20% наказалити.

скрин 1: сказать точно в чем дело не могу, но ты просто заспавнил себе ещё наказалити. возможно разрешение ролика. или ещё какая срань.

но разница с vlc связана именно с тем, как работает постпроцессинг и куда его данные падают: прямо на экран в оверлей(отключи его кстати в vlc и погляди) или через пеньколоду.

salozar
()
Ответ на: комментарий от salozar

благодарю за ответ. вот и мне непонятно почему от ролика к ролику разные показатели. таки лучше смотреть через влс, видел расширение play-in-mpv, есть ли такое нормально работающее для влс? а то пробовал - не заводится, да и расширение странно работает. вместо тычка пкм по ролику - «играть в влс» есть кнопка, которая сгружает все доступные на странице ссылки в влс. хрень какая-то. по поводу браузера. https://ibb.co/1Q2qt8r запускал с MOZ_LOG=«PlatformDecoderModule:5». написано что х264, по логам не особо понял декодинг есть или нет (судя по процу нет), вот на другом ролике ситуация иная https://ibb.co/qmXmrcQ уже другой видос. качество аналогичное. в консоль сыпет то же самое. в чем прикол хз, загадка от интел прям не очень понимаю что тут указывать чтобы вырубить оверлей https://ibb.co/gT5HHkg

PURGEN143
() автор топика
Ответ на: комментарий от anonymous

Слышь, а VLC научился upscale при проигрывании нормально делать? А то у меня медиатека в Full HD в основном, а монитор 4K по дешевке на авито недавно взял. Разница с включенным апскейлом заметна. И VLC и mpv работают из коробки уже давно. MPV напорядок гибче просто, опций больше.

anonymous
()

Видео без ускорения == в памяти блочно записывается сырые данные потока, затем этот блок декодируется в фрейм (картинку) которая записывается (сразу/потом) в выход пиксмап ксорга или/и opengl текстуру для композиторов силами самих их.

Видео с ускорением, в железе есть чип куда отправляются сырые данные блочно и он в память отображает сразу готовый кадр который тоже нужно скопировать в ксорг/opengl и просто показать. То есть в этом случае процессор просто тупо копирует данные из места в место и всё. Ну за исключением накладных расходов небольших ибо к этому чипу есть API и всё такое, но это пфф в сравнении с декодированием чисто на процессоре через алгоритмы чисто софтовые.

Видео с полуускорением, это декодирование на процессоре, но с оптимизациями в виде AVX, а так же возможными расчётами на GPU через opengl ядра или cuda. В отдельных случаях работа идёт просто на compute shaders обычных или даже на пиксельных шейдерах, в этом случае обязанности разделяются почти поровну честь обрабатывает CPU, а конечную часть уже совершает GPU. Где то этот компромисс очень хороший, а где то плохой. Но в отдельных кодеках это самое лучшее решение ибо портируемо и эффективно, нет привязки к железу особого.

Вот так оно и работает. Весь вопрос в том как реализован конечный софт и что внутри API кодеков который он использует.

anonymous
()
Ответ на: комментарий от PURGEN143

Не, я к тому, что проц уже практически на пенсии, тут просто работает - радуйся. Разработчики браузеров сто лет не могут совладать с видеоускорением на линуксе, уже сколько? флэш ещё закапывать не собирались, а видеоускорение там проработало пол года, да так, что на энвидиях морды синие были. Потом браузеры сами пробовали видеоускорение, опять с синими мордами и закипанием проца при якобы видеоускорении... Теперь уж которая итерация пошла? Со счёта сбился. И при его разработке как ты думаешь, ориентировались на старые процы, или на новые?

Твой проц старый не потому, что не могет (очень даже могет, у самого такой), а потому что на него больше не оглядываются браузерописатели. Оставь эти игрушки в видеоускорение. Тем более что там может быть несколько разных штук - аппаратное декодирование, аппаратный рендеринг, аппаратеый композитинг страницы с видео в условиях определённого оконного менеджера, который ещё и сам композитит и гоняй туда-сюда это твоё видео в браузере. Даже разбираться в этом голова пухнет, а ты ещё и к старому процу прикручиваешь.

ChekPuk ★★★
()

Ах да у ютуба vp9 этот кодек был создан с целью обойти все патенты, но вобрать в себя всю их суть шобы гугол не платил отчисления ну и типа что-бы типа людям была свобода хотя на деле им насрать на них. Ну так вот, алгоритмически этот кодек крутой, но из за обходов они были вынужденны многие вещи реализовывать не очень то эффективно, от того этот кодек УУУЖААААСНО жручий. В нём воплощены оптимизации сжатия и упаковки с кодированием охрененные там их десятки. Это круто, но он просто пожирает процессор. Хотя его пилят под фичи железок новых так что сейчас чуть попроще стало жить. Но. Пока есть кодеки на голову выше и работающие на порядки быстрее. Но ютуб тебе в них ничего не пришлёт никогда. И да если смотреть в другом чём то то там может быть транскодирование на лету в формат который аппратно ускорен и по итогу жручий кодек становится нежручим, хотя может быть неочевидно.

anonymous
()
Ответ на: комментарий от slackwarrior

А я ничего не понял объясните пожаласта. Ну ПАЖААААААААЛАСТАААА уаааААААА. Молюююю МалибдееееНННЪ

anonymous
()
Ответ на: комментарий от anonymous

Анекдот такой есть

"-- Как работает электромотор?

-- Уууууу!" (с)

Ну а любое все красное едет быстрее всяко.

slackwarrior ★★★★★
()

Почему такая разница у видосов? Реально почти в 2 раза разница

Ну в видео про рач там 1080p с 60 fps. У остальных 1080p со стандартным 24 fps.

anonymous
()
Ответ на: комментарий от PURGEN143

еще раз: vlc скорее всего использует оверлей. при этом всё видео идет мимо композитора. проверить это ты можешь, отрубив в настройках vlc оверлей. сразу будет видно разницу.

если хочется докопаться до причины, то я уже предложил perf. идеальная штука, даже отдельные инструкции показывает в бенчмарках.

в любом случае, без твоих усилий никто здесь тебе не поможет. хер знает в чем у тебя причина на самом деле. поэтому начни с perf. выяви кто тормозит.

salozar
()
Ответ на: комментарий от anonymous

Это круто, но он просто пожирает процессор.

нет, это просто в видяхи аппаратно зашили алгоритмы которые жручие в h264. MQ-кодек, например.

salozar
()
Ответ на: комментарий от salozar

точне да ,пожирает, но не потому что он плохой такой. а потому что на видяхах нет заточеных под него блоков.

видеопроцессор, если что, это отдельная гадость на чипе, со своими закидонами. у амуде это например xtensa + спецблоки. их точат на конкретные кодеки, поэтому выйдет 265 - и старые видяхи не смогут его декодировать как и vp.

у h264 есть неспортивное преимущество - аппаратные декодеры на видяхе.

salozar
()
Ответ на: комментарий от ChekPuk

синие морды на нвидиях это вообще норма и не только на нвидиях. NV12 и NV21 перепутали, вот и рожы синие. U и V каналы грубо говоря местами переставлены.

под линуксом же проблема была всегда в том, что была шобла API: vaapi, vdpau и кстати - без экспорта в gl-текстуры. с opencl-opengl аналогичные проблемы.

но кто должен пинать комитеты, предлагать? может коммунити? да ну нафиг, мы будем сидеть на диване и чесать жопу. ну вот и получите в итоге.

salozar
()
Ответ на: комментарий от salozar

Последний раз на невидии синии рожи видел лет 7 назад во флеше, как то это лечилось уже не помню. Сейчас на gt1060 все нормально, правда и флешем давно не пользуюсь

anonymous
()

Да, в Лисе пока АпУскор работает с заметным оверхедом. В нативных плеерах с ваапи проц вообще в нулях.

BceM_IIpuBeT ★★☆☆☆
()
Ответ на: комментарий от rupert

Фаерфокс ускорение = фаерфокс сила / фаерфокс масса.

у вас размерости не сходятся. Поделить на просто массу.

demidrol ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.