Как переключить обработку видео на видеокарту
Репутация: 0
Вобщем при просмотре любых видео файлов (фильмы, клипы) хотелось бы использовать видеокарту для обработки видео, а не CPU. Например фильм на 18ГБ грузит процессор на половину (50%), а вот видео карта остаётся абсолютино не загруженной (0% соответственно). Как заставить видео-карту обрабатывать видео?
Репутация: 0
Репутация: 0
Какой нафиг никак! отстал ты commandor2006 от жизни. Laziest качай CyberLink PowerDirector 7 и наслаждайся, если конечно у тебя видюха энвида (а у тебя к сожалению 4870)
Репутация: 0
Да какой, нафиг, отстал.
Я в его профиль глянул, свой конфиг знаю, так что у нас с Laziest никакой CyberLink PowerDirector 7 не прокатывает для этих целей, вот и написал, что
Репутация: 0
Ну. у меня все работало для 1280х720 (Hd-Rip). А на Full-HD я так и не смог ее заставить. Нужны нормальные декодеры. Поставь Media Player Clasic hiomeCinema и Power DVD. Короче нужно зацепить через media player декодер Cyberlink'а, типа х264 что-то там, а встроенный в media player отключить. Лучше поищи через Google, об этом достаточно написано.
Репутация: 0
Вот я и поставил Media Player Clasic hiomeCinema и Power DVD 8, и последний пакет K-lite. Залез в K-lite Config tool и "разрешил" использовать аппаратное ускорение (Какой-то Ciberlink'овский декодер). Но почему то не на всех файлах работает. Но с CPU загрузка на 10 процентов снялась.
Репутация: 0
alex-san писал(а): Какой нафиг никак! отстал ты commandor2006 от жизни. Laziest качай CyberLink PowerDirector 7 и наслаждайся, если конечно у тебя видюха энвида (а у тебя к сожалению 4870)
Вообще то что CyberLink'овский Power DVD, что Corel'овский Win DVD Сами определяют разработчика видео-карточки. Т.е. Ты просто включаешь опцию аппаратной обработки видео и он сам сразу пишет какая карточка это делает.
Репутация: 1
Цитата: Приложение ATI Stream: ATI AVIVO Video Converter — используя технологию ATI Stream, владельцы видеокарт Radeon HD 4800 и 4600 смогут с помощью GPU конвертировать обычное и HD видео в различные форматы
Если на вашем компьютере отдельная видеокарта, не интегрированная, то для того, чтобы видео обрабатывалось быстрее, нужно использовать GPU видеокарты.
Включение в настройках видеоредактора GPU ускорит прорисовку объектов в Adobe After Effects, при рендеринге видео ускорит сам процесс рендеринга, и самое главное — уменьшит нагрузку на центральный процессор.
↑ Как переключится на дискретную видеокарту в ноутбуке
Но ноутбуках по умолчанию Windows использует более слабую встроенную видеокарту, на дискретную она переключается только когда в этом возникает необходимость. Если по какой-то причине этого не происходит или вы хотите назначить дискретный видеоадаптер обработчиком графики по умолчанию, эта инструкция для вас. Итак, наша задача — самостоятельно переключиться с интегрированной видеокарты на дискретную. Посмотрим, какими способами можно это сделать.
↑ В панели управления дискретной графикой
Если на ПК у вас имеется дискретная видеокарта Nvidia или AMD Radeon, то вместе с её драйверами в систему должна установиться её панель управления — интерфейс, позволяющий управлять её тонкими настройками. С её помощью вы можете назначить подключаемую графику используемой по умолчанию. Для этого переходим на рабочий стол, кликаем ПКМ и выбираем в меню «Панель управления NVIDIA» или «Настройки Radeon» (название может немного отличаться).
В NVIDIA жмём слева «Параметры 3D» и в выпадающем списке «Предпочитаемый графический процессор» вместо «Автовыбор» выбираем «Высокопроизводительный процессор NVIDIA». Жмём «Применить».
В AMD Radeon нужно зайти в параметры переключаемой графики и выбрать опцию «Высокая производительность», тогда как «Энергосбережение» будет означать использование более слабой интегрированной видеокарты.
Лучше CUDA или OpenCL?
Очень частый и очень интересный вопрос вынесен в подзаголовок. Эти две технологии, как непохожие братья. Как и многострадальный PhysX, CUDA – технология закрытая, поддерживаемая только чипами NVIDIA и далеко не всем специализированным ПО. OpenCL – экстраверт, код открыт любому энтузиасту, любое ПО с поддержкой вычислений на GPU по определению работает с OpenCL.
Программисты NVIDIA не лаптем щи хлебают – если взять две сферические видеокарты в вакууме с одинаковой производительностью, то CUDA на чипе NVIDIA показывает в среднем на 20% большую производительность, чем OpenCL на чипе AMD. Но есть, как говорится, нюанс – если CUDA от NVIDIA работает быстро и хорошо, то OpenCL на картах этой компании немного уступает скорости обработки OpenCL от AMD. Несколько лет назад ситуация была совсем плачевная, но со временем с помощью драйверов разрыв удалось наверстать. Тем не менее, удельная производительность NVIDIA GeForce в OpenCL до сих пор немного ниже таковой у AMD Radeon. Поэтому в самом дурном положении окажутся те, кто приобрёл карту NVIDIA для работы с приложением, поддерживающим исключительно OpenCL — сам адаптер выйдет дороже, а его эффективность может быть ниже, чем у Radeon. Такая игра свеч не стоит.
Железо
Прекрасный мир OpenCL я открыл для себя лишь этим летом, купив сразу две видеокарты AMD Radeon серии 300: SAPPHIRE NITRO R9 380 и SAPPHIRE Tri-X R9 390X. Одну из них планировалось сдать обратно в магазин в зависимости от результатов домашних тестов. Карты покупались для надомного видеомонтажа, выбор в сторону Radeon был вполне осознанным: с одной стороны, CUDA работает быстрее, чем OpenCL. С другой, как выяснилось, OpenCL поддерживается значительно большим количеством профессионального софта, чем CUDA, а производительность карт NVIDIA в OpenCL оставляет желать лучшего.
Из предложенного ассортимента карты SAPPHIRE мне понравились более остальных. В отличие от любителей референсного дизайна, SAPPHIRE использует в системе охлаждения классические вентиляторы, которые работают значительно тише референсных центробежных ветродуев – к таким у меня выработалась стойкая неприязнь после беглого знакомства с видеокартой-пылесосом Radeon 4870x2.
Дома при распаковке двух огромных коробок я почувствовал себя замшелым мастодонтом – видеокарты немаленькие. SAPPHIRE R9 390X так и вовсе огромная, с тремя вентиляторами и радиатором, превышающим размеры печатной платы. Сперва я даже поволновался, влезут ли эти монстры в мой корпус. К счастью, влезли, но из корзины для жестких дисков пришлось демонтировать один хард. Киловаттный блок питания также был не лишним – R9 390X требует два четырехконтактных разъема питания, а такой ток вытянет не каждый БП.
- Процессор: Intel Core i5-2500K, разогнанный до 3.7 ГГц
- Оперативная память: 12 Гбайт DDR-1333
- Материнская плата: ASUS P8Z77-V PRO
- Накопители: системный SSD A-DATA 120 Гб, для контента HDD WD Black WD20EARS 2 Тб
- Блок питания: Corsair 1000 Вт
Если Adobe Premiere Pro CS4 был тяжким грузом в офисе, то дома можно было организовать рабочее пространство по своему вкусу. Едва ли я когда-нибудь задумался бы о покупке Premiere Pro, если бы Adobe не выкатила замечательную, на мой взгляд, систему подписки Creative Cloud. Теперь за 600 рублей в месяц я имею легальный и постоянно обновляемый Premiere Pro CC. И он-то, в отличие от офисного старикана, нативно поддерживает рендеринг с помощью OpenCL и CUDA!
Если ваша видеокарта работает с OpenCL или CUDA, то еще на стадии создания проекта в Premiere Pro можно выбрать рендер. За аппаратное ускорение отвечает Mercury Playback Engine GPU (OpenCL) или (CUDA). В уже готовом проекте рендер можно изменить через Project Settings из меню File.
Как я уже говорил, с помощью OpenCL можно переложить на видеокарту вычисления по применению видеоэффектов. Однако не все эффекты в Premiere Pro поддерживают OpenCL – узнать об этом можно по наличию или отсутствию вот такого значка в списке.
Выводы
По результатам тестов я оставил себе SAPPHIRE NITRO R9 380 – карта стоит заметно дешевле наикрутейшей R9 390X, но в Premiere Pro производительность двух адаптеров практически идентична. Учитывая, что адаптер покупался для выполнения работы, а значит зарабатывания денег, потраченных 17 тысяч рублей совсем не жалко. Тем более, что и в GTA V карта показала себя молодцом, но это тема совсем для другой заметки.
Что касается опыта применения OpenCL, то нельзя не признать – в мир видеомонтажа пришел спаситель: рендеринг превратился в удовольствие. По сравнению даже с разогнанным Intel Core i5, видеочипы играючи обрабатывают видео с наложенными эффектами в Premiere Pro. При таких результатах тестирования не стоит вопроса, использовать ли рендеринг силами GPU. Вопрос лишь в том, какую видеокарту под это приспособить. Что-нибудь из верхнего игрового сегмента будет в самый раз, например, AMD Radeon R9 3xx. Мои нужды полностью удовлетворил SAPPHIRE NITRO R9 380. Но адаптеры среднего и даже начального уровня также поддерживают OpenCL, а значит заметно ускорят вашу работу в профессиональном софте.
Во многих современных ноутбуках производителем устанавливается две видеокарты, между которыми операционная система автоматические переключается, когда это ей потребуется. Вшитая в материнскую плату или непосредственно в сам процессор видеокарта называется интегрированной. Используется она, как правило, для решения несложных задач, например, просмотр веб-страниц или видео среднего разрешения. Подключаемая к материнской плате видеокарта именуется дискретной. В большинстве случаев дискретные карты обладают большей производительностью и используются для обработки высококачественной графики.
↑ Через Диспетчер устройств
Самый очевидный, но не самый лучший способ переключиться со встроенной видеокарты на дискретную — отключить первую в Диспетчере задач. Открываем Диспетчер из меню Win + X, раскрываем пункт «Видеоадаптеры», кликаем ПКМ по встроенной интеловской видеокарте, выбираем в меню «Отключить» и подтверждаем отключение в диалоговом окошке.
Экран на мгновение погаснет, после чего система переключится на дискретную карту, и изображение появится вновь. Для полного применения настроек перезагружаем компьютер и проверяем, действительно ли система использует нужную нам видеокарту. Для проверки юзаем утилиту GPU-Z, переключаемся на вкладку «Sensors», выбираем внизу дискретную видеокарту, а затем запускаем какую-нибудь программу. Если запущенная программа использует ресурсы выбранной видеокарты, показатель «GPU Load», должен увеличиться.
↑ В BIOS
Наконец, самым надёжным способом переключения (на постоянной основе) с интегрированной видеокарты на дискретную является изменения соответствующих настроек в BIOS или UEFI. Понятно, что интерфейсы разных моделей BIOS будут отличаться, примерно это будет выглядеть следующим образом. В старых версиях BIOS список видеокарт ищем в разделе «Config» или «Advanced», открываем его и выбираем дискретную карту, которая может называться NVIDIA или PCIE. В Award BIOS список видеокарт обычно располагается в разделе «Peripherals», в UEFI нужные вам настройки ищите в разделе «Дополнительно».
Тесты
В качестве тестового проекта я выбрал двухминутный ролик, состоящий из множества отрезков с видео Full HD с битрейтом 72 Мбит/с и фреймрейтом 24 кадра в секунду. Поверх всего этого безобразия был наложен ускоряемый эффект Lumetri Color, которым я провел цветокорррекцию. На выходе должен был получиться ролик в формате h.264, в разрешении 1920х1080 (то есть без изменений), битрейтом 6-7 Мбит/с, применялась двухпроходное кодирование.
Для подтверждения работы видеокарты я снимал параметры GPU-Z – глядя на частоту графического ядра, легко понять, когда рендеринг видео идет силами центрального процессора, а когда GPU.
В первом тестовом прогоне я отключил эффект Lumetri Color, так что весь рендеринг заключался в изменении битрейта видео.
Прогон 1:
проект 2 минуты, h.264, 6-7 mbps, без эффектов
CPU | 3:09 |
SAPPHIRE Tri-X R9 390X | 2:33 |
SAPPHIRE NITRO R9 380 | 2:38 |
Без применения эффектов разница в скорости рендеринга между процессором и мощной современной видеокартой очень невелика. При обработке видео общей длительностью около часа выигрыш от использования OpenCL будет более заметным, но все равно очень незначительным. Тем не менее, практически всегда в процессе монтажа к видео применяют эффекты цветокоррекции, поэтому данный тест стоит считать «синтетическим».
Прогон 2:
проект 2 минуты, h.264, 6-7 mbps, эффект Lumetri Color
CPU | 11:33 |
SAPPHIRE Tri-X R9 390X | 2:42 |
SAPPHIRE NITRO R9 380 | 2:48 |
Результаты говорят сами за себя – если обе видеокарты играючи рендерили видео чуть медленнее риалтайма, то процессор на рендеринг каждой минуты тратил почти шесть минут. И это только с одним включенным эффектом! Если перед тестом я рассчитывал в том числе обработать часовой ролик с цветокоррекцией на всей продолжительности, то после полученных результатов от этой идеи решил отказаться. В своей работе я применяю цветокоррекцию для небольших отрезков видео, и час-два рендера меня не сильно напрягают. Терять же четыре-пять часов в тестовых целях мне было некогда.
Экстраполируя результаты, можно считать, что с цветокоррекцией длительностью 60 минут процессор справился бы за 4.5 часа, тогда как видеокартам потребовалось бы менее одного часа!
Зачем оно нужно?
Современные видеокарты – это настоящие вычислительные монстры, вся мощь которых обычно тратится на игры. Неглупые люди смекнули, что если организовать программистам прямой доступ к вычислительным блокам видеочипов, то можно всю эту колоссальную мощь задействовать под любые другие задачи, а не только обработку 3D-графики.
Первой в реализации этой идеи преуспела компания NVIDIA со своей архитектурой параллельных вычислений CUDA (Compute Unified Device Architecture). При помощи расширенного синтаксиса языка C и особого компилятора разработчики получили возможность задействовать для вычислительных задач графический чип. AMD, в свою очередь, представила Stream SDK – свое фирменное видение CUDA.
Результат был феноменальный – процессы, связанные с обработкой медиаданных, что подразумевает высокий уровень распараллеливания, завершались в разы быстрее, чем в случае вычислений силами центрального процессора. Особенно явно преимущество GPU проявлялось при рендеринге в программах 3D-моделирования и видеообработке.
Год спустя после выхода CUDA консорциум Khronos Group выпустил фреймворк OpenCL. Фактически он должен был унифицировать код для доступа к вычислительным мощностям процессоров на разных архитектурах, включая видеоядра. С этого момента в профессиональный софт начала активно внедряться поддержка нового фреймворка.
На сегодняшний день OpenCL поддерживают программы Adobe, медиаконвертеры, ряд популярных 3D-рендеров, CAD и софт для математического моделирования.
Что такое GPU видеокарты?
Это отдельный процессор самой видеокарты, который работает независимо от центрального процессора. Он выполняет обработку 2D или 3D графики и делает это лучше и быстрее нежели центральный процессор компьютера.
Другими словами, зачем вам нагружать CPU если для задач оцифровки видео есть GPU. Современные видеокарты имеют не только собственную оперативную память, что также немаловажно при работе с большими видеопроектами, но и собственный графический процессор.
Чтобы понять, как именно обрабатывается ваше видео, с помощью CPU или GPU, во время работы в видеоредакторе, откройте диспетчер задач и посмотрите, где больше нагрузки, на процессоре ЦПУ или на видеокарте.
Если видеокарта «спит», её нагрузка 2-5%, а процессор загружен по 90 или 100%, то обязательно нужно изменить настройки своего редактора. Он просто автоматически не подхватывает вашу видеокарту и всю работу по вычислению возлагает на процессор.
Итак, в Adobe Premiere — заходим во вкладку «Файл — Настройки проекта — Общие» и выбираем настройку CUDA, то есть GPU ускорение ядра. Теперь при работе с проектом, в диспетчере задач вы увидите, то центральный процессор загружен меньше, а графический (видеокарта) больше.
В Adobe After effects заходим во вкладку "Файл — настройки проекта — Рендеринг и эффекты видео ". Выбираем настройку «Ускорение с использование ГП (GP) CUDA». Если по умолчанию эта настройка не будет включаться, каждый раз при настройке отдельного проекта, нужно проверить, какая опция стоит.
В Vegas идем в настройки общие. Options — preferences — во вкладку video. Здесь ищем пункт GPU и выбираем свою видеокарту.
Если это любой другой видеоредактор, то в настройках также нужно проверить, нет ли там опции, позволяющей программе работать с ваше картой. Например, в Movavi эта настройка выглядит так: «Включить аппаратное ускорение» и соответственно нужно будет выбрать карту. В моем случае Nvidia.
Итог. Если у вас интегрированная видеокарта, то вся нагрузка за обработку видео ляжет на ЦПУ. Тут без вариантов и чем мощнее процессор, то быстрее будет обрабатываться видео.
Если же у вас отдельная видеокарта, то нужно проверять, как программа подхватывает её и выбирать для работы GPU. Иначе ресурсы видеокарты не будут использоваться.
В этом посте мы публикуем ответы эксперта Intel Дмитрия Серкина на заданные вами ранее вопросы по обработке видео на CPU и GPU. Приносим свои извинения за некоторое опоздание — оно связано с большой разницей во времени между нами и Дмитрием.
Как обычно, для удобства поиска вопросы снабжены хабра-именем автора.
Вопрос Maratyszcza
Появятся ли в процессорах Intel аппаратные блоки для других (не видео) алгоритмов сжатия, например deflate?
Не думаю. Существует оптимизация для конкретных процессоров. Intel Integrated Performance Primitives, содержит оптимизацию ZLIB, DEFLATE, и GZIP семейства функций на уровне алгоритмики и инструкций.
Если мы говорим только о кодировании, то H.264, MPEG-2, MJPEG, and MVC for stereoscopic 3D support. На подходе еще несколько широко известных.
Если мы говорим о пресетах (настроек кодирования) на качество, то никогда не догонит. С каждой новой платформой качество кодирования улучшается, так как появляется больший ресурс на стороне железа и, как результат, возможность улучшить алгоритмы, например, оценки движения (motion estimation) и паковки битстрима. x264 использует очень хорошие алгоритмы (не быстрые, но влиящие на качество), в том числе RDO. Все это крайне плохо ложится на конвеерную архитектуру в железе. Если говорить про средние пресеты, то вполне бьет. Все, конечно, упирается в конечные настройки кодека, коих множество. Нужно понимать, что качество и скорость не идут рука об руку. Цель QuickSync кодировать быстро с хорошим для 99% пользователей качеством. И технология это делает. Тем временем работа по увеличению dB идет каждый день.
Сильно ли отличается по производительности HD 4000 и новая HD 5000? Можете ли привести какие-то примеры с современными играми?
Согласно недавним пресс релизам скорость возросла до 3х раз, энергопотребление уменьшилось в 2 раза. Публичных бэнчмарков по играм я не видел. Они должны появится за несколько недель до запуска Haswell в продажу. Насколько я помню, он состоится в июне. К сожалению, примеры привести не могу, так как я не в этой теме, я занимаюсь кодеками.
1. Имеются ли планы по поддержке аппаратного декодирования многобитного видео, например Hi10P из H264 или «старших» профилей HEVC?
Не имею такой информации. Планы вещь изменчивая. Если эти профили массово используются, то с очень большой вероятностью они будут поддержаны.
2. Помнится, что некоторое время назад были попытки диалогов с разработчиками свободных кодеков на предмет того, чего им хотелось бы от новых процессоров Intel. Как сейчас обстоит дела в этом направлении? Влияют ли девелоперы открытого ПО на Intel и оказывает ли Intel им какую-либо поддержку?
Скорее на уровне приложений, а не разработчиков. Недавний анонс о том, что HandBrake поддерживает QuickSync – одно из таких событий. Это вклад Intel в свободный продукт. Такие активности будут происходить все чаще и чаще, так как развитие QuickSync на Linux и его производных (Android) в самом разгаре.
Что касается того, чтобы дать прямой доступ к драйверу и железу, то о таких активностях я не слышал. Кроме того, я считаю их бесмысленными, так как работа эта довольно нетривиальная. Кроме того, существует Media SDK, он предоставляет примитивы более высокого уровня.
3. На данный момент в принципе не существует хороших реализаций кодирования на GPU (их всего несколько, и все не отличаются качеством или особым преимуществом в скорости). Почему так происходит и имеются ли какие-то положительные подвижки в этой области?
Я нахожу QuickSync очень удачным решением, которое обладает и скоростью и хорошим (относительно этой скорости) качеством. Что касается решений от AMD или Nvidia, то их провал можно объяснить отличной от Intel архитектурой. Все их решения основаны на execution units и многопоточности, которую сложно использовать в кодеках (некоторые краеугольные алгоритмы не ложатся на многопоточность). QuickSync же это комбинация EU и fixed function (алгоритмические блоки «запаянные» в железо). Такая комбинация позволяет получить отличный прирост производительности и качества.
4. Не секрет, что производительность недавно вышедших HEVC и VP9 сейчас за гранью разумного. Какова ваша оценка, как скоро появится процессор/ПО, способные обрабатывать (хотя бы декодировать) HD-видео этих форматов в реальном времени?
Я полагаю, что через пару лет такая возможность появится.
5. Насколько широко в мультимедийных продуктах Intel используется рукописный асм, или больше полагаетесь на оптимизацию компилятором? Используете ли С++, или только старый добрый С? Сколько вообще времени уходит на оптимизацию производительности в сравнении с реализацией непосредственно нового функционала?
На войне все средства хороши :) Используем все выше перечисленное на уровне драйверов и ниже. Специфичный асм, конечно, генерируется из C-подобного кода для его последующей ручной оптимизации. Времени на все уходит много. Много исследований как в области качества, так и производительности, но на все есть дедлайн. Точной пропорции не скажу, но исследования, конечно, потребляют больше времени.
6. Насколько большая команда в Intel занимается мультимедийным направлением? Как сложно к вам попасть? :)
От железа, драйверов до различных SDK – это тысячи человек. Смотря на какую позицию вы метите ;) В России (Москва и Нижний Новгород) есть большая команда, которая занимается Intel Media SDK. У них периодически появляются вакансии.
Тут скорее всего в драйвере. На Windows – это известная проблема некоторых ограничений на уровне ОС. Но она решаема. Более доступно и подробно я писал здесь.
Будет ли аппаратная colorspace конвертация для большинства популярных форматов? Что насчет аппаратного деинтерлейсинга?
Все это есть. Планарные и упакованные форматы. Дальше будет больше. Деинтерлейсинг также поддерживается.
Как известно, осенью прошлого года Эппл выпустили 13-дюймовый Макбук про с ретиной. В нём нет дискретной видеокарты и вся графика работает на Intel HD4000. Есть отзывы, что этой платформы просто не хватает для полноценной поддержки. Что Intel планирует, чтобы не уступать в плане графики хотя бы Айпаду с ретиной?
Я думаю, что графика развивается достаточно быстро и мощно. Intel Iris должен расставить все точки над i.
Самый частый пример – это кодирование для мобильных устройств. Если вы хотите за несколько минут транскодировать серию сериала в формат поддерживаемый мобильным устройством, а не ждать полчаса, то QuickSync вам в помощь.
Прошу прощения, но не обладаю такой информацией. Но тема горячая судя по форумам.
Имеется ввиду Nvidia CUDA? Ответ — Intel OpenCL.
2. Какие необходимы библиотеки для использования графических возможностей процессора Intel, в частности: кодирования\декодирования h.264?
Все, что вам нужно – это Intel Media SDK.
3. Хватит ли производительности процессора Intel i7-3517UE для одновременного декодирования и кодирования видео разрешения 960*720 в H.264?
Да, безусловно. И даже в несколько потоков.
4. У меня проблема с процессором Intel Atom(tm) N2800. Может вы сможете мне помочь. Я декодирую с помощью ffmpeg H.264 с камеры Logitech C920, разрешение видео 960*720. После декодирования я получаю формат кадра YUYJ420. С таким разрешением я могу декодировать 2 потока по 24 кадра в секунду с вышеуказанным разрешением, но если я переворачиваю видео после декодирования на 270 градусов, то упираюсь в ограничения КЭШа (как я понимаю), и в итоге могу использовать только 20 кадров в секунду и один поток, если увеличить количество кадров, то видео разваливается на квадратики и жутко тормозит. Подскажите пожалуйста в чем может быть проблема? точно это КЭШ?
Скорее всего вы упираетесь в общую производительность системы. Все операции происходят на цетральном процессоре и с двумя потоками плюс постпроцессинг он уже не справляется. Чтобы отыграть задержки ffmpeg начинает скипать фреймы, поэтому вы наблюдаете артефакты. Какой CPU usage при этом?
Я не совсем понял какой формат на выходе. YUV420? В зависимости от формата необходим разный набор операций для поворота. Ну и кэша там мало, а он, как известно, влияет на скорость.
Меня интересует каков потенциал встроенной в процессоры Intel Core 2-го и 3-го поколения логики при аппаратном декодировании h.264? То есть сколько, например, потоков h.264 в режиме реального времени с разрешением 1280 x 720 (1920 x 1080) / 25 кадров в секунду сможет обработать процессор Intel i7-3770 с использованием именно аппаратного декодирования (если при этом программный код будет в идеале максимально оптимизирован) для последующего вывода на экран? На сколько при этом будут задействованы ресурсы других блоков процессора?
Хороший вопрос. Количество потоков физически упирается только в графическую память. До тех пор пока памяти достаточно для выделения поверхностей все должно работать. Другой вопрос производительность. Зависит от контента, который вы собираетесь декодировать. Другими — словами, в зависимости от того как стримы были закодированы – это занимает разное кол-во времени и ресурсов. Принимая во внимание все эти факторы (и многие другие) моя грубая оценка из головы составляет до 20 реал тайм сессий одновременно.
Привет, Гиктаймс! Открыв недавно для себя прекрасный мир ускорения обработки данных силами видеокарт с помощью OpenCL, я решил написать небольшой вводный материал для новичков, не знакомых с этой технологией на практике. В Интернете нередко встречаются вопросы «какой прирост производительности я получу?», но ответы бывают либо абстрактными, либо излишне теоретизированными.
Этот пост призван наглядно показать, как применение OpenCL способно ускорить рендеринг видео в программах видеомонтажа. Глубокого погружения в теорию и матан вы не встретите – подробных теоретических статей про OpenCL на Гиктаймсе и Хабре предостаточно и без меня. Здесь будет только описание задачи и результаты тестов, поэтому прошу относиться к тексту именно как к простому вводному гайду для начинающих.
Читайте также: