7994420702;horizontal

Adobe

Как использовать аппаратное ускорение видео, обеспечиваемое видеокартой? #

Разные графические процессоры NVIDIA обеспечивают разный уровень ускорения для декодирования видео для разных форматов видео. Посмотреть примерные возможности можно в cравнительных таблицах. Имеется три основных возможных уровня аппаратного ускорения:

MoComp — графический процессор осуществляет компенсацию движения — обработку векторов, описывающих перемещения блоков изображения между кадрами. В зависимости от контента (статичная или динамическая сцена), данная функция составляет до 30% необходимых вычислений для декодирования.

IDCT — графический процессор осуществляет восстановление элементов изображения из описывающей их матрицы коэффициентов. В зависимости от размера элемента и разрешения исходного изображения, данная функция составляет до 50% необходимых вычислений для декодирования. В одних API поддержка IDCT означает выполнение графическим процессором и компенсации движения, в других API эти функции разделены.

VLD — графический процессор осуществляет восстановление описывающей изображение матрицы коэффициентов из исходного видеопотока. В зависимости от кодека, данная функция составляет до 75% необходимых вычислений для декодирования. В большинстве случаев извлеченный из носителя видеопоток отправляется прямиком в графический процессор, осуществляющий все дальнейшие функции по его декодированию и выводу.

Следует отметить, что даже наличие аппаратного ускорения декодирования видео уровня VLD у видеокарты не означает 0% нагрузки на центральный процессор. В любом случае определенную нагрузку создают работа с носителем, декодирование и вывод звука (особенно многоканального), синхронизация звука и видео, вывод меню и субтитров, интерфейс и функции проигрывателя.

Функции аппаратного ускорения видео графических процессоров NVIDIA реализованы в виде ускорения вызовов API DXVA (Windows), XvMC и VDPAU (Unix). Любой декодер/проигрыватель, написанный с использованием этих API, может автоматически или после специальной настройки использовать графический процессор при воспроизведении видео. Вместе с тем, возможность использования аппаратного ускорения зависит от доступной видеопамяти (особенно для декодирования HD видео), разрешения видео, версий драйвера и библиотек API. Проверить поддерживаемые в конкретной системе форматы и разрешения видео для аппаратного декодирования, а также наличие совместимых декодеров можно с помощью утилит DXVAChecker в Windows и vdpauinfo в Linux. Ниже приведены некоторые рекомендации по декодированию видео в различных форматах:

MPEG-2 (DVD, HDTV): функции аппаратного ускорения декодирования через DXVA реализованы в декодерах проигрывателей PowerDVD, WinDVD и Nero ShowTime, а также в декодере, включенном в состав Windows Media Center, Windows Vista и 7. Поддержка ускорения декодирования в Unix через XvMC и VDPAU имеется в проигрывателе Mplayer. Для полного использования возможностей графических процессоров NV40 и более новых необходим драйвер версии 65.ХХ и выше, а PowerDVD и WinDVD должны иметь версии не ниже 7.0 и 8.0 соответственно. NVIDIA также разработала декодер NVIDIA PureVideo Decoder, позволяющий задействовать возможности процессоров GeForce 4 — 7X00 в любых проигрывателях. Декодер является платным, пробная 30-дневная версия доступна на сайте NVIDIA.

WMV, VC-1 (IPTV, Blu-Ray): поддержка аппаратного ускорения декодирования WMV содержится в декодерах Windows Media, устанавливающихся с Windows Media Player версии 10 с обновлением и более новых, и работает для всех проигрывателей, использующих эти декодеры. В Windows Media Player для использования аппаратного ускорения зайдите в меню «Сервис-Параметры-Быстродействие-Дополнительно», и убедитесь, что установлены флажки «Использовать микширование» и «Использовать режим высокого качества». В других проигрывателях необходимо настроить вывод видео через рендер VMR или EVR. Декодеры, поставляемые в составе Windows Media Player версий до 11 включительно могут использовать уровень ускорения максимум IDCT. Проигрыватель Media Player Classic - Home Cinema содержит декодер VC-1 с поддержкой аппаратного ускорения, но требует поддержку видеокартой уровня ускорения VLD.

H.264 (Blu-Ray, HDTV): функции аппаратного ускорения декодирования через DXVA реализованы в декодерах проигрывателей PowerDVD, начиная с версии 7.3, WinDVD, начиная с версии 9.0, Media Player Classic - Home Cinema (требуется поддержка видеокартой уровня ускорения VLD_NoFGT) и в декодере, включенном в состав Windows 7. Для использования возможностей видеопроцессоров NVIDIA по декодированию H.264 необходим драйвер версии 92.ХХ и выше (графических процессоров G84/G86 и более новых — версии 163.ХХ и выше). В проигрывателях необходимо настроить вывод видео через рендер VMR версии 9 или EVR. В Unix поддержку аппаратного ускорения через API VDPAU имеет проигрыватель Mplayer последних SVN версий.

MPEG-4 ASP (DivX): функции аппаратного ускорения реализованы пока только в Unix через API VDPAU (при условии поддержки видеокартой уровня VDPAU C). Поддержку ускорения имеет проигрыватель Mplayer последних SVN версий.

AVC MVC (Blu-Ray 3D): функции аппаратного ускорения через DXVA реализованы в декодерах проигрывателей Cyberlink PowerDVD 10 Ultra 3D Mark II и ArcSoft Total Media Theater 3 Platinum с дополнением 3D Plug-in. Поддержка ускорения доступна при использовании драйвера NVIDIA версии 260.хх или более новой. 

Ряд проигрывателей вместо использования DXVA использует функции Direct3D для ускорения. В настройках QuickTime в панели управления перейдите на закладку «Дополнительно» (Advanced) и поставьте флажок «Включить видеоускорение Direct3D». В проигрывателе Media Player Classic в настройках на закладке «Output» выберите рендер «VMR 9 (renderless)», в разделе «DirectX 7 & 9 settings» выберите «Use texture surfaces and render video in 3D», после чего в выпадающем списке выберите способ, соответствующий возможностям видеокарты. Плагин Adobe Flash, начиная с версии 9.0.115, также может использовать Direct3D (Windows) или OpenGL (Linux) для ускорения вывода видео, функция включена по-умолчанию.

Отдельное исключение составляет ряд видеокарт на базе Riva TNT/TNT2, на которые устанавливался внешний по отношению к видеочипу чип-декодер DVD, использовавшийся через отдельную программу. Такие карты выпускала, в частности, фирма ASUS.

Adobe, Asus, Blu-Ray, DirectX, DVD, DXVA Checker, Flash, Linux, Microsoft, OpenGL, Riva TNT, vdpauinfo, Windows 7, Windows Vista, видео, драйвер, стерео

В Photoshop CS4 недоступна опция включения ускорения OpenGL #

Это обычно вызвано ошибкой в определении возможностей видеокарты программой. В реестре Windows в разделе HKCU\Software\Adobe\Photoshop\11.0 создайте ключ AllowOldGPUS (DWORD) со значением 1, ключ DisallowOpenGLWindows (DWORD) со значением 0. Если эти ключи уже есть, просто измените их значения на указанные. После изменения реестра в меню «Preferences» — «Performance» поставьте флажок «Enable OpenGL Drawing» и настройте дополнительные функции.

Если даже после исправления реестра опция включения ускорения недоступна, с помощью утилиты OpenGL Extensions Viewer или GPU Caps Viewer проверьте, что видеокарта и драйвер поддерживают OpenGL версии не ниже 2.0. Обратитесь к специальному вопросу FAQ в случае проблем.

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

Adobe, GPU Caps Viewer, OpenGL, OpenGL Extensions Viewer, Photoshop, VRAM, видеопамять, реестр

Включение ускорения CUDA в Premiere CS5 #

Движок Adobe Mercury Playback, лежащий в основе Premiere CS5, поддерживает ускорение CUDA лишь для нескольких видеокарт Quadro и GeForce GTX 285. Однако, определение поддержки видеокарты осуществляется простым сравнением названия со списком, и список может быть изменён для добавления поддержки других видеокарт на базе NVIDIA.

Для добавления поддержки ускорения CUDA для видеокарты убедитесь, что выполнены следующие условия:

  • Используется полная версия Adobe Premiere CS5. Пробная (trial) версия не поддерживается.
  • Графический процессор видеокарты имеет уровень CUDA compatibility 1.1 и выше. Видеокарты на базе G80 имеют уровень лишь 1.0 и не подходят для Mercury Engine.
  • Видеокарта имеет не менее 896 Мб видеопамяти. Хотя для включения ускорения требуется лишь 765 Мб, эта память должна быть полностью доступна приложению, а часть видеопамяти всегда занята под обслуживание графического интерфейса Windows и обмен с драйвером, так что с картой с 768 Мб видеопамяти приложению будет доступно меньше 765 Мб и ускорение работать не будет.
  • Установлен драйвер NVIDIA версии не ниже 197.45.

Выполните следующую последовательность действий:

  1. Запустите командную строку Windows (cmd.exe) от имени администратора. Командой cd перейдите в папку, куда установлен Premiere (обычно C:\Program Files\Adobe\Adobe Premiere Pro CS5).
  2. Выполните команду GPUSniffer.exe
  3. Внимательно изучите вывод программы. В конце его должна быть строка «CUDA Device # 0 not chosen because it did not match the named list of cards». Если указана другая причина («because 765MB are required, and XXXMB are present», «because CUDA version 1.0 is not supported»), значит видеокарта не поддерживается, или драйвер NVIDIA установлен некорректно, удалите и установите новую версию драйвера. Запомните также строчку вида «Name: GeForce ХХХХХХ Compute capability: 1.3», GeForce ХХХХХХ и есть имя карты, под которым её надо будет добавить в список.
  4. Выполните команду notepad.exe cuda_supported_cards.txt
  5. В Блокноте допишите последней строкой имя карты, которое узнали в пункте 3 и сохраните файл.
  6. Снова выполните команду GPUSniffer.exe. Просмотрите вывод и убедитесь, что в конце присутствует строка «CUDA Device # 0 supported».
  7. Запустите Adobe Premiere. Создайте новый проект и зайдите в его свойства. На закладке «Video Rendering and Playback» смените «Mercury Playback Engine Software Only» на «Mercury Playback Engine GPU Acceleration».

Следует учитывать следующие ограничения аппаратного ускорения CUDA в Premiere:

  • Mercury Playback не ускоряет кодирование/декодирование видео — это работа кодека. Одновременная работа с проектом и экспорт проекта с кодеком, также использующим ускорение CUDA, может привести к непредсказуемым результатам.
  • Не все эффекты ускоряются.
  • Ускорение корректно работает лишь для первых трех слоев, последующие слои могут обрабатываться аппаратно лишь частично и возможны артефакты изображения.
  • Предельные разрешение обрабатываемого видео и число слоев зависят от объема видеопамяти. Рекомендуется включать функцию ускорения CUDA лишь для видеокарт с большим, чем 1 Гб, объемом памяти. 

Adobe, CUDA, GeForce GTX 285, Premiere, VRAM, видео, видеопамять

Почему видеокарта переходит в 3D режим, если не запущено ни одного 3D приложения? #

Видеокарты, у которых отсутствует разделение на режимы производительности, всегда работают с максимальными частотами. Это, например, видеокарты на базе GeForce FX фирмы ASUS и большинство видеокарт на базе графического процессора G92 (GeForce 8800, 9800, GeForce GTS). Проверить наличие/отсутствия разделения на режимы можно, открыв BIOS видеокарты в редакторе NiBiTor. Если на закладке «Clockrates» в таблице частот заполнена значениями лишь одна строка или все строки заполнены одинаковыми значениями — у карты нет разделения режимов.

Предупреждение: нельзя сделать разделение режимов производительности, просто заполнив пустые строки в таблице частот. Разделение режимов требует внесения изменений во множестве мест BIOS, заполнение только таблицы частот не сделает режимы функционирующими и может привести к неработоспособности видеокарты после прошивки модифицированного BIOS.

Если у видеокарты разделение режимов присутствует, переход в режим 3D может быть вызван использованием различных функций видеокарты:

  • Прежде всего следует обратить внимание на заставку — хранитель экрана (screensaver). Некоторые заставки, использующие 3D графику, после нажатия клавиш неправильно завершают работу и остаются «висеть» в оперативной памяти, не проявляясь внешне.
  • Воспроизведение видео. Многие современные проигрыватели и декодеры умеют использовать функции графического процессора по ускорению декодирования видео. В этих функциях могут использоваться 3D блоки карты для аппаратного выполнения сложных операций с видеопотоком, что распознается драйвером как запуск приложения с 3D ускорением. Аппаратное ускорение использует и Adobe Flash Player, начиная с версии 9.0.115.
  • Использование приложений и Web-страниц, основанных на Java. Виртуальная машина Java от Sun может использовать функции Direct3D или OpenGL для отображения некоторых эффектов.
  • Некоторые приложения умеют использовать мощности видеокарты для вычислений с помощью API NVIDIA CUDA, например клиент распределенных вычислений Folding@Home и программы линейки Password Recovery фирмы Elcomsoft.
  • Видеокарты на базе графических процессоров G92 и более новых работают на частотах режима 3D при использовании многомониторности (DualView).
  • Использование режима 120 Гц 3D Vision-совместимых мониторов на рабочем столе также может приводить к работе GPU на повышенной частоте.

3D Vision, Adobe, Asus, CUDA, DirectX, DualView, Flash, GeForce 8800, GeForce 9800, GeForce FX, Java, NiBiTor, OpenGL, видео, монитор