Тарифы Услуги Сим-карты

Что такое. Путеводитель по контрольной панели драйвера NVIDIA

Предлагаем Вашему вниманию полное описание контрольной панели драйвера. Обращаем ваше внимание на то, что некоторые настройки доступны только при определенных типах применяемого оборудования. В данном обзоре мы постарались отразить все возможные настройки.

Главное окно панели

Главное окно представлено на иллюстрации:

Панель переходов находится слева и позволяет перемещаться по нужным пунктам настройки одним кликом. Меню Вид позволяет включить расширенный вид, который дает наиболее полный доступ ко всем возможностям настроек драйвера или настроить пользовательский вид панели, оставив только те пункты, которыми вы предполагаете пользоваться. Так же, в нижней левой части панели, предоставлен доступ к справочной системе контрольной панели (ссылка «Информация о системе»):

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

Категория «Параметры 3D»

Регулировка изображений с просмотром

Доступны следующие настройки:

  • Настройки согласно 3D приложению — данная опция позволяет управлять качеством и скоростью отображения средствами 3D приложений. Однако, включенные по умолчанию оптимизация трилинейной фильтрации и оптимизация выборки при анизотропии сохраняется при любых настройках приложения.
  • Расширенные настройки 3D изображений — используются расширенные настройки драйвера, установленные самими пользователями. Ссылка «Перейти» открывает доступ к вкладке «Управление параметрами 3D». Именно управление дополнительными опциями драйвера позволяет добиться максимального качества изображения.
  • Пользовательские установки с упором на… : — наиболее интересная опция, позволяющая упрощенное управление дополнительными опциями драйвера для начинающих пользователей:

Значение Производительность соответствует максимальной скорости работы и включает в себя настройки: вертикальная синхронизация выключена, все оптимизации (оптимизация трилинейной фильтрации, оптимизация мип-фильтра при анизотропии, оптимизация выборки при анизотропии) включены, отрицательный уровень детализации: запрет отрицательного уровня — включен, фильтрация текстур — «качество», управление анизотропной фильтрацией и сглаживанием осуществляется приложениями.

Значение Баланс имеет следующие настройки: сглаживание — 2х, анизотропная фильтрация — 4х, все оптимизации (оптимизация трилинейной фильтрации, оптимизация мип-фильтра при анизотропии, оптимизация выборки при анизотропии) включены, отрицательный уровень детализации — включен, фильтрация текстур — «качество», вертикальная синхронизация — управляется приложениями.

Значение Качество имеет следующие настройки: оптимизация трилинейной фильтрации — включена, сглаживание — 4х, анизотропная фильтрация — 8х, отрицательный уровень детализации — разрешен, фильтрация текстур — «качество», вертикальная синхронизация — управляется приложениями.

Все режимы снабжены подробными пояснениями к их применению, а вращающийся логотип компании демонстрирует применение тех или иных настроек.

Для более детальной настройки используется окно Управление параметрами 3D .

Управление параметрами 3D

Глобальные параметры

Возможные настройки закладки Глобальные параметры :

Анизотропная фильтрация. Возможные значения — «Выкл.», «Управление от приложения», «2х—16х» (зависит от модели видеоадаптера). Анизотропная фильтрация на сегодня является самой продвинутой техникой компенсирующей искажение пикселей, а в сочетании с трилинейной фильтрацией дает наилучшее качество фильтрации. Активация любого значения кроме «Управление от приложения» позволяет игнорировать настройки приложений. Но не следует забывать, что это очень ресурсоемкая настройка, существенно снижающая производительность.

Вертикальный синхроимпульс. Возможные значения — «Вкл.» и «Выкл», «Использовать настройку 3D приложения». Под вертикальной синхронизацией (совершенно непонятно, зачем NVIDIA отошла от этого термина) понимают синхронизацию вывода изображения с частотой развертки монитора. Включение вертикальной синхронизации позволяет добиться максимально плавного изображения картинки на экране, выключение позволяет получить максимальное кол-во кадров в секунду, нередко приводя к срыву (смещению) изображения из-за того, что видеоадаптер начал прорисовку следующего кадра, тогда как еще не закончен вывод предыдущего. В силу использования двойной буферизации, включение вертикальной синхронизации может вызывать падение количества кадров в секунду и ниже частоты развертки монитора в некоторых приложениях.

Включение масштабируемых текстур. Возможные значения — «Нет» и «Билинейная», «Трилинейная». Нет — не включать масштабируемые текстуры в приложениях, которые их не поддерживают. Билинейная — лучшая производительность за счет падения качества. Трилинейная — хорошее качество изображения с более низкой производительностью. Использовать данную опцию в режиме принудительной билинейной фильтрации крайне не рекомендуется, поскольку качество изображения, получаемое при форсировании опции, просто удручающее.

Затенение фонового освещения. Включение технологии имитации глобального освещения (затенения) Ambient Occlusion. Традиционная модель освещения в 3D графике вычисляет вид поверхности исключительно по её характеристикам и характеристикам источников света. Объекты на пути света отбрасывают тени, но они не влияют на освещение других объектов сцены. Модель глобального освещения увеличивает реалистичность изображения, вычисляя интенсивность света, доходящего до поверхности, причем значение яркости каждой точки поверхности зависит от взаимного расположения других объектов сцены. К сожалению, честный объемный расчет затенения, вызванного объектами, расположенными на пути лучей света, все еще остается за пределами возможностей современного «железа». Поэтому была разработана технология ambient occlusion, позволяющая с помощью шейдеров рассчитывать взаимозатенение объектов в плоскости «виртуальной камеры» при сохранении приемлемой производительности, впервые использованная в игре Crysis. Данная опция позволяет применить эту технологию для изображения игр, не имеющих встроенной поддержки ambient occlusion. Каждая игра требует отдельной адаптации алгоритма, поэтому само включение опции осуществляется в профилях драйвера, а опция панели лишь разрешает использование технологии в целом. Со списком поддерживаемых игр можно ознакомиться на сайте NVIDIA . Поддерживается для графических процессоров G80 (GeForce 8X00) и новее начиная с драйвера 185.81 в Windows Vista и Windows 7. Может снизить производительность на 20-50 %. Возможные значения — «Вкл.» и «Выкл.».

Максимальное количество заранее подготовленных кадров — позволяет ограничить управлять максимальным числом подготовленных центральным процессором кадров при отлюченном. В случае возникновения проблем с замедленной реакцией мыши или джойстика, необходимо уменьшить значение по-умолчанию (3). Увеличение значения может помочь достижению более плавной картинки при низкой частоте кадров.

Ограничение расширения. Возможные значения — «Включено» и «Выключено». Применяется для решения проблем совместимости со старыми OpenGL приложениями из-за переполнения памяти, отведенной в них для хранения сведений о возможностях видеокарты. В случае аварийного завершения приложений, попробуйте включить ограничение расширения.

Потоковая оптимизация — позволяет управлять количеством, используемых приложениями GPU , в большинстве случаев изменения значения по-умолчанию (Авто) не требует. Однако, некоторые старые игры могут некорректно работать в таких конфигурациях. Поэтому и дана возможность управлять этой опцией.

Режим управления электропитанием . Возможные значения — «Адаптивный» (по-умолчанию) и «Максимальная производительность». С видеокартами GeForce 9X00 и более новыми, имеющими разделение на режимы производительности, для создающих небольшую нагрузку на графический процессор игр и программ драйвер не переводит видеокарту в режим производительности 3D. Это поведение можно изменить, выбрав режим «Максимальная производительность», тогда при любом использовании 3D видеокарта будет переходить в 3D режим. Эти функции доступны лишь при иcпользовании драйвера 190.38 и выше в Windows Vista и Windows 7.

Сглаживание — гамма-коррекция. Возможные значения «Вкл.» и «Выкл.». Позволяет выполнять гамма-коррекцию пикселов при сглаживании. Доступна на видеоадаптерах, основанных на графическом процессоре G70 (GeForce 7X00) и новее. Улучшает цветовую гамму приложений.

Сглаживание — прозрачность. Возможные значения — «Выкл.», «Множественная выборка», «Избыточная выборка». Управляет улучшенной технологией сглаживания, позволяющей уменьшить эффект «лесенки» на краях прозрачных текстур. Обращаем ваше внимание на то, что под словосочетанием «Множественная выборка», скрывается более привычный термин «Мультисэмплинг», а под «Избыточная выборка» — «Суперсемплинг». Последний метод имеет наиболее серьезное влияние на производительность видеоадаптера. Опция работоспособна на видеокартах семейства GeForce 6x00 и новее, при использовании драйверов версии 91.45 и выше.

Сглаживание — параметры. Пункт активен только если пункт «Сглаживание — режим» установлен в значение «Увеличение настройки приложения» или «Замещение настроек приложения». Возможные значения — «Управление от приложения» (что равнозначно значению «Управление от приложения» пункта «Сглаживание — режим»), и от 2х до 16х, включая «фирменные» Q/S режимы (зависит от возможностей видеокарты). Данная установка серьезно влияет на производительность. Для слабых карт рекомендуется использование минимальных режимов. Следует отметить, что для режима «Увеличение настройки приложения» эффект будут иметь только варианты 8x, 16x и 16xQ.

Сглаживание — режим . Включение полноэкранного сглаживания изображения (FSAA). Сглаживание используется для минимизации эффекта «ступенчатости», возникающего на границах трехмерных объектов. Возможные значения:

  • «Управление от приложения» (значение по-умолчанию) — сглаживание работет, только если приложение/игра прямо его запросит;
  • «Нет» — полностью запретить использование полноэкранного сглаживания;
  • «Замещение настроек приложений» — принудительно применить к изображению сглаживание, заданное в пункте «Сглаживание - параметры», независимо от использования или неиспользования сглаживания приложением. «Замещение настроек приложений» не будет иметь эффекта на игры, использующие технологию Deferred shading , и приложения DirectX 10 и выше. Оно также может приводить к искажениям изображения в некоторых играх;
  • «Увеличение настройки приложения» (доступно лишь для видеокарт GeForce 8X00 и более новых) — позволяет улучшить сглаживание, запрашиваемое приложениями, в проблемных местах при меньших, чем при использовании «Замещения настроек приложений» затратах производительности.

Сообщения об ошибках. Определяет, могут ли приложения проверять наличие ошибок рендеринга. Значение по-умолчанию «Выкл.», т.к. многие OpenGL приложения довольно часто проводят такую проверку, что снижает общую производительность.

Соответствующая привязка текстуры. Возможные значения — «Выкл.» , «Используются аппаратные средства», «Используется спецификация OpenGL ». Под «привязкой текстуры» понимают привязку координат текстуры, выходящих за ее пределы. Они могут быть привязаны к краям изображения или внутри него. Вы можете отключить привязку в случае появления дефектов текстур в некоторых приложениях. В большинстве случаев изменение данной опции не требуется.

Тройная буферизация. Возможные значения — «Вкл.» и «Выкл.». Включение тройной буферизации позволяет поднять производительность при использовании вертикальной синхронизации. Однако следует помнить, что не все приложения позволяют форсировать тройную буферизацию, и повышается нагрузка на видеопамять. Работает только для приложений OpenGL .

Ускорение нескольких дисплеев. Возможные значения — «Режим однодисплейной производительности», «Режим многодисплейной производительности» и «Режим совместимости». Настройка определяет дополнительные параметры OpenGL при использовании нескольких видеокарт и нескольких дисплеев. Панель управления назначает параметр по умолчанию. В случае проблем с работой приложений OpenGL в конфигурациях с несколькими видеокартами и дисплеями, попробуйте изменить настройку на режим совместимости.

Фильтрация текстур — анизотропная оптимизация фильтрации. Возможные значения — «Вкл.» и «Выкл.». При её включении драйвер форсирует использование точечного мип-фильтра на всех стадиях, кроме основной. Включение опции несколько ухудшает качество картинки и немного увеличивает производительность.

Фильтрация текстур. Возможные значения — «Высокое качество», «Качество», «Производительность», «Высокая производительность». Позволяет управлять технологией Intellisample. Параметр оказывает существенное влияние на качество изображения и скорость:

  • «Высокая производительность» — предлагает максимально возможную частоту кадров, что дает лучшую производительность.
  • «Производительность» — настройка оптимальной производительности приложений с хорошим качеством изображения. Дает оптимальную производительность и хорошее качество изображения.
  • «Качество» — стандартная установка, которая дает оптимальное качество изображения.
  • «Высокое качество» — дает наилучшее качество изображения. Применяется для получения изображений без использования программных оптимизаций фильтрации текстур.

Фильтрация текстур — о трицательное отклонение УД (уровня детализации). Возможные значения — «Разрешить» и «Привязка». Для более контрастной фильтрации текстуры в приложениях иногда используется отрицательное значение уровня детализации (LOD). Это повышает контрастность неподвижного изображения, но на движущихся объектах появляется эффект «шума». Для получения более качественного изображения при использовании анизотропной фильтрации желательно настроить опцию на «привязку», чтобы запретить отрицательного отклонение УД.

Фильтрация текстур — т рилинейная оптимизация. Возможные значения — «Вкл.» и «Выкл.». Включение данной опции позволяет драйверу снижать качество трилинейной фильтрации для повышения производительности, в зависимости от выбранного режима Intellisample.

Программные настройки

Закладка имеет два поля:

Выберите программу для настройки.

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

Укажите настройки для этой программы.

В этом поле вы можете изменить настройки для конкретного профиля приложения. Перечень доступных настроек полностью идентичен глобальным параметрам. Кнопка «Добавить» служит для добавления собственных профилей приложений. При её нажатии открывается окно проводника Windows, с помощью которого вы выбираете исполняемый файл приложения. После этого, в поле «Укажите настройки для этой программы» вы сможете выставить персональные настройки для приложения. Кнопка «Удалить» служит для удаления профилей пользовательских приложений. Обращаем ваше внимание, что удалить/изменить изначально присутствующие профили приложений средствами драйвера нельзя, для этого придется воспользоваться сторонними утилитами, такими как nHancer.

Установка конфигурации PhysX

Позволяет включить или отключить обработку физических эффектов с использованием технологии NVIDIA PhysX средствами видеокарты, при условии что она основана на графическом процессоре G80 (GeForce 8X00) или более новом. Поддержка включена по-умолчанию, отключение может потребоваться при решении проблем с приложениями, некорректно использующими PhysX (например, игрой Mirror`s Edge без патчей). При наличии более одного графического процессора NVIDIA в системе, пользователю предоставляется возможность выбора GPU , на котором будет происходить обработка физических эффектов, если только не используется режим SLI . Более подробно о особенностях применения NVIDIA PhysX , вы сможете ознакомиться в специальном разделе FAQ нашего сайта.

Дополнительно, начиная с версии драйвера 195.62, можно включить отображение индикатора ускорения PhysX в играх. Для этого в верхнем меню «Параметры 3D» отметьте «Показать визуальный индикатор PhysX ». Статус ускорения выводится в левом верхнем углу изображения.

Приветствую вас уважаемые друзья. В очередном посте мы вновь затронем тему графических процессоров, визуализации с помощью V-Ray RT и распределения вычислительных ресурсов в multi gpu системах. Как вы уже давно знаете, графические процессоры все глубже проникают в нашу деятельность и такие большие пакеты как Autodesk 3ds Max, Autodesk Maya, SideFX Houdini и другие, обращаются к ним для ускорения не только аппаратной визуализации, но и для ускорения вычислений общего назначения. Например, тесселяция геометрии с помощью OpenSubdiv или расчет динамических эффектов, а также в процессах фотореалистичной визуализации.
Немудрено, что установка нескольких графических ускорителей будет полезна в таких задачах и позволит распределить нагрузку между ними. В своих материалах я уже не раз писал о том, что использую рабочую станцию с двумя графическими ускорителями, это сделано для того, чтобы распределить вычисления между ними и одну задачу выполнять на одном GPU, а другую задачу выполнять на другом.
По умолчанию Autodesk Maya 2015 для визуализации виртуального пространства в видовых окнах, это очень хорошо, когда вы хотите отображать текстуры, использовать такие эффекты как Ambient Occlusion, освещение и тени, или аппаратное сглаживание. В таком случае, если у вас несколько графических ускорителей, Maya постарается распределить нагрузку между ними и выполнять визуализацию средствами обоих GPU.

Пример загруженности вычислениями двух GPU в процессе навигации в видовых окнах.
Но такое распределение и плотное использование графических ускорителей только для отображения виртуального пространства может снизить производительность системы в процессе одновременного запуска вычислений общего назначения, например V-Ray RT GPU. И настройка только самого V-Ray RT и определение для него графических процессоров, которые будут использованы для вычислений, не поможет решить данную проблему. Здесь может потребоваться дополнительная настройка драйвера графического процессора. Об этом я и расскажу далее в этом посте.

Пример серьезного снижения производительности системы и замедленное отображение виртуального пространства при неправильной конфигурации графических процессоров и визуализации с помощью V-Ray RT.

Конечно, первое что следует сделать, это определить, какой из нескольких GPU будет участвовать в вычислениях V-Ray RT. Это можно сделать с помощью специальной утилиты, поставляемой вместе с V-Ray for Maya. Утилита получила имя Select OpenCL devices for V-Ray RT GPU . О данной утилите я писал и рассказывал в ранних постах и видео , посвященных V-Ray RT GPU.


Утилита Select OpenCL devices for V-Ray RT GPU.
Помимо этого, вы можете вручную определить переменную среду (Environment Variable), которую, по сути, и меняет утилита Select OpenCL devices for V-Ray RT GPU.


Переменная среда VRAY_OPENCL_PLATFORMS_x64 с параметрами, определяющими, какой GPU будет использован V-Ray RT GPU.
Итак, для V-Ray RT GPU, у меня по умолчанию выбран второй графический ускоритель, не отвечающий за вывод изображения на мониторы. Обычно, им выступает NVIDIA Quadro K4000. Этот GPU достаточно производителен и обладает достаточным для моих задач объемом памяти. Как было показано на видео в начале поста, я столкнулся с серьезной проблемой, когда при одновременном вычислении V-Ray RT и навигации в виртуальном пространстве, Maya начинает неимоверно тормозить.
Но в чем плюс графических ускорителей NVIDIA Quadro, так это в достаточно стабильных и хорошо конфигурируемых драйверах. Так как Maya по своей природе отлично адаптирована под API OpenGL, а в конфигурации драйвера есть все необходимое для 3D приложений, то можно без проблем выполнить настройку под желаемое приложение.


Страница Manage 3D settings драйвера NVIDIA Quadro с открытой вкладкой Global Settings.
Первое что нам необходимо сделать – открыть NVIDIA Control Panel (Панель управления NVIDIA) и перейти в раздел Manage 3D settings (Управление параметрами 3D). На вкладке Global Settings (Глобальные параметры), выберите желаемый профиль глобальных параметров – раскрывающийся список Global presets (Глобальные предустановки). Я по умолчанию использую базовый профиль (Base profile), так как в нем используются сбалансированные настройки, которые могут быть применены для любого приложения.
Для того чтобы определить, какой из установленных в системе GPU будет использован для визуализации виртуального пространства с помощью OpenGL. Это можно сделать с помощью параметра OpenGL rendering GPU (ГП рендеринга OpenGL). Так как в моем примере используются GPU NVIDIA Quadro K2000 и NVIDIA Quadro K4000, и K2000 применяется для вывода изображения на два дисплея, а так же для визуализации виртуальных окон проекций. И как было сказано выше, для вычислений используется модель K4000. Поэтому, было решено выбрать для данного атрибута GPU NVIDIA Quadro K2000.


Страница Manage 3D settings и вкладка Program Settings.
После того, как вы выберите графический ускоритель для выполнения визуализации виртуального пространства необходимо проверить, как это отразится на индивидуальных параметрах для приложения Maya. Это можно сделать на вкладке Program Settings (Программные настройки) и выбрав в раскрывающемся списке Select a program to customize (Выберите программу для настройки) профиль Autodesk Maya Stereo .
В параметрах данного профиля проверьте, что параметру OpenGL rendering GPU (ГП рендеринга OpenGL) назначен выбранный вами графический ускоритель.
Если вы хотите максимально освободить объем памяти того GPU который будет выполнять вычисления, вы также можете изменить параметр Optimize for sparse texture performance (Оптимизировать для работы с редкими текстурами), и также назначить ему тот GPU который отвечает за визуализацию виртуального пространства.
В результате всех манипуляций с настройками драйвера, просто перезапустите Maya и можете приступать к работе. Результат описываемых выше действий можно увидеть в видео ниже.

Производительность навигации в виртуальном пространстве и визуализации V-Ray RT GPU после всех изменений.

Как видите, все достаточно просто и можно безболезненно настроить multi gpu систему для работы с различными приложениями и их функциями. Конечно, если в системе используется 3 или даже 4 графических ускорителя, это позволит еще более тонко выполнять настройку и распределение ресурсов между приложениями.

Средство отслеживания масок преобразует маску в соответствии с траекторией перемещения одного или нескольких объектов в фильме. Выбранный для отслеживания объект на протяжении всего фильма должен сохранять одну и ту же форму, однако может менять расположение, масштаб и/или перспективу, поскольку такие изменения не препятствуют отслеживанию.
При выделении маски панель «Отслеживание» переключается в режим отслеживания маски и отображает следующие элементы управления:

  • Выполните отслеживание в направлении вперед или назад применительно к одному кадру во времени или до конца слоя
  • Метод, с помощью которого можно изменить расположение, масштаб, поворот, наклон и перспективу маски

Выберите маску, а затем пункты Анимация > Отслеживать маску . Вместо этого также можно, удерживая нажатой клавишу CONTEXT, щелкнуть маску и выбрать Отслеживать маску в контекстном меню, чтобы отобразить панель «Отслеживание».

Отслеживание маски .

Эффект Увеличение с сохранением уровня детализации предоставляет возможность значительно увеличить изображение, сохранив при этом его мелкие элементы, а также резкость линий и кривых. Например, можно масштабировать кадры из формата SD в формат HD или из формата HD в формат кадра для цифрового кино.

Дополнительные сведения см. в разделе Эффект «Увеличение с сохранением уровня детализации» .

Средства просмотра содержимого HiDPI для экранов Retina на компьютерах Mac

After Effects отображает содержимое на экранах Retina компьютеров Mac таким образом, чтобы каждый пиксель содержимого в средстве просмотра отображался в качестве отдельного пикселя на экране.

Это влияет на содержимое следующих элементов:

  • Панель «Видеоряд»
  • Панель «Слой»
  • Панель «Композиция», в том числе видеосодержимое и некоторые элементы интерфейса в области содержимого

Эта особенность не влияет на курсоры, кнопки и другие панели пользовательского интерфейса After Effects.

Обновленные функции Cineware

В диалоговом окне Параметры в разделе эффектов Cineware появились два новых параметра. С их помощью можно настроить экземпляр Cinema 4D, который будет использоваться в сочетании с After Effects.
Путь рендеринга Cinema 4D: выбор версии Cinema 4D (R14 или R15), которая будет применяться для рендеринга при работе в After Effects.
Путь к исполнимому файлу Cinema 4D : выбор версии Cinema 4D, которая будет использоваться при открытии файла .c4d в After Effects, например с помощью команды Редактировать оригинал .

Дополнительные сведения см. в разделе Обновления Cinema 4D .

Новая библиотека OptiX для 3D-рендеринга с трассировкой лучей

After Effects CC теперь использует новую библиотеку OptiX 3.0. В предыдущих версиях After Effects применялась библиотека OptiX 2.0.

Основные преимущества новой библиотеки OptiX перед старой библиотекой Optix 2.0:

  • Устранены причины сбоя в Mac OS X v10.9 (Mavericks)
  • Более высокая производительность, в том числе в среде с несколькими ГП

Обход белого списка для ускорения ГП в случае 3D-рендеринга с трассировкой лучей

В диалоговом окне «Данные ГП» представлено меню с параметрами трассировки лучей, в котором пользователь может выбрать ГП или ЦП.

В предыдущих версиях After Effects при отсутствии установленного оборудования в списке протестированных и поддерживаемых ГП соответствующий пункт в меню ГБ блокировался (выделялся серым), а под меню отображалось сообщением «GPU недоступно - несовместимое устройство или драйвер дисплея».

Теперь пользователям доступен новый параметр для настройки ГП, представленный в меню Правка > Установки > Предпросмотр > Данные ГП : «Использовать непроверенный, неподдерживаемый ГП для ускорения 3D-рендеринга с трассировкой лучей CUDA».

Если этот флажок установлен, After Effects использует ускоренный графический 3D-рендеринг с трассировкой лучей с применением любого ГП, соответствующего минимальным требованиям.

Список новых карт в белом списке CUDA для OptiX

В белый список CUDA для OptiX (для графического ускорения 3D-рендеринга с трассировкой лучей) были добавлены следующие карты:

  • GTX 675MX (Windows и Mac OS)
  • GTX 680MX (Windows и Mac OS)
  • GTX 590 (Windows)
  • GT 650M (добавлена в список карт для Windows; уже представлена в списке Mac OS)
  • GTX 760 (Windows)
  • GTX 770 (Windows)
  • GTX 780 (Windows)
  • GTX TITAN (Windows)
  • Quadro K6000 (Windows)
  • Quadro K4000 (Windows)
  • Quadro K2000 (Windows)
  • Quadro K5000M (Windows)
  • Quadro K4000M (Windows)
  • Quadro K3000M (Windows)
  • Quadro K5100M (Windows)
  • Quadro K4100M (Windows)
  • Quadro K3100M (Windows)
  • Quadro K2100M (Windows)

Повышена производительность на этапе анализа для функции 3D Camera Tracker и стабилизатора деформации

Значительно ускорен фоновый процесс анализа видеоряда для функции 3D Camera Tracker и стабилизатора деформации. В зависимости от сведений о видеоряде и других факторов полученные показатели увеличения скорости обработки на этапе анализа (отслеживания) составляют от 60 % до 300 %.

Улучшенные и измененные свойства

Показать свойства с ключевыми кадрами

Изменились команды для отображения измененных свойств в панели Таймлайн ; теперь в меню Анимация представлены три команды для отображения свойств:

  • Показать свойства с ключевыми кадрами (клавиша U) - отображение любого свойства, с которым связан ключевой кадр. Если со свойством одновременно связаны и ключевые кадры, и выражения, данное свойство отображается, но не отображается связанное с ним выражение.
  • Показать свойства с анимацией - отображению любого свойства, с которым связан ключевой кадр или выражение.
  • Показать все измененные свойства (комбинация клавиш: UU) - отображение ключевых кадров, выражений или всех измененных свойств (включая ключевые кадры и выражения), которые не анимированы.

Создание ссылок на свойства

  1. Выберите любое свойство или набор свойств.
  2. Выберите Правка > Копировать со ссылками свойства.
  3. Вставьте свойства в любой слой любой композиции.

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

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


Новые свойства в меню «Язык выражения»

Исправленные звуковые волны

В After Effects звуковые волны представлены как «исправленные» звуковые волны. Это означает, что амплитуда звука отображается только в одном направлении по горизонтальной оси на логарифмической шкале. Данный метод отображения упрощает расчет восприятия громкости звука.
Чтобы переключиться на старый метод отображения звуковых волн, снимите флажок Исправленные звуковые волны в меню панели «Таймлайн».

Изменения метода привязки слоев 2D и 3D

Рядом с флажком «Привязка» в панели «Инструменты» добавлены два новых параметра:


Привязка вдоль краев расширена за границы слоя: включение привязки к линиям за границами слоя. Например, привязка вдоль линии, заданной расширением края слоя в 3D-пространстве. Эта функция значительно упрощает выравнивание слоев в 3D-пространстве.

Привязка к функциям внутри свернутых композиций и текстовых слоев : вращение внутренних каркасов для слоев, которые находятся внутри композиций, со свернутыми трансформациями, а также для отдельных символов в посимвольных текстовых 3D-слоях. С помощью этой функции можно, например, привязать опорную точку одного слоя к другому слою в композиции.

Включение предпросмотра видео для внешних устройств (Mac OS)

Чтобы активировать предпросмотр видео на внешних устройствах в Mac OS, выберите новый параметр Включить предпросмотр видео QuickTime в категории установок Предросмотр видео . При установке данного флажка After Effects запросит у QuickTime список внешних устройств для предпросмотра видео.

Внимание! Активация этого параметра может привести к отказу Adobe QT32 Server, что в свою очередь приведет к сбою After Effects.

Более ранние версии After Effects автоматически запрашивают в QuickTime список внешних устройств для предпросмотра видео.

Изменения и улучшения функций для работы со слоями

Центральная опорная точка

Опорную точку, которая станет центром содержимого слоя, можно задать следующими способами:

  1. Слой > Трансформировать > Расположить опорную точку в содержимом слоя по центру
  2. В ОС Windows используйте комбинацию клавиш Ctrl+Alt+Home , в Mac OS - комбинацию клавиш Command+Option+Home .
  3. Также можно использовать комбинацию Ctrl+двойной щелчок (Windows) или Command+двойной щелчок (Mac OS) для активации инструмента Панорамирование назад (опорная точка) .

Сведения об опорных точках см. в разделе Свойства опорных точек .

Создание нового слоя



Настройка длительности предварительной композиции

В диалоговом окне Предварительная композиция появился новый параметр: Настройте продолжительность композиции к временному диапазону выделенных слоев .

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

В предыдущих версиях After Effects длительность новой композиции совпадает с длительностью исходной вне зависимости от длительности слоев, вошедших в предварительную композицию.


Бикубическая выборка эффекта «Преобразовать»

У эффекта Преобразовать появился новый параметр Выборка , для которого можно выбрать значение Билинейная или Бикубическая .

Включить ведение журнала

Выберите Справка > Включить ведение журнала , чтобы записать сведения о сеансе. Созданные журналы будут отправлены в набор текстовых файлов. Чтобы начать процесс ведения журнала, перезапустите приложение. Чтобы просмотреть файлы журнала, выберите Справка > Показать файл журнала .

Примечание. Ведение журнала несколько снижает производительность, поэтому функция ведения журнала, включенная с помощью этого параметра, будет выключена через 24 часа.


Автоматическое открытие папок панели «Проект» при перетаскивании

.
  • Фиксация сегментации для эффекта «Кисть для ротоскопии» и «Уточнить края» применяется ко всем интервалам вне зависимости от рабочей области, а не только в пределах рабочей области
  • Каркасы для камер и источников освещения отображаются по умолчанию, даже если соответствующие слои не выбраны
  • Файлы PNG с индексированными цветами и файлы PNG с оттенками серого и настройками прозрачности можно импортировать
  • Файлы в формате Photoshop Large Document (.psb) можно импортировать.
  • Файлы CMYK JPEG можно импортировать.
  • Штрихи и пробелы теперь явным образом нумеруются (штрих 2, пробел 2 и т. д.), если в обводку слоя-фигуры добавляется несколько штрихов и пробелов. Благодаря этому на них будет проще ссылаться с помощью выражений.
  • Эффект Яркость и контрастность улучшен и теперь соответствует одноименному фильтру в Photoshop. Также можно выбрать прежний алгоритм, поддерживающий HDR.
  • Центр .
  • Установки операций Отменить удалены из меню Установки . Изменить число операций из категории «Отменить» можно в текстовом файле установок. Теперь параметр числа операций из категории «Отменить» по умолчанию всегда имеет значение 99.
  • При первой установке After Effects 12.1 установка Записать идентификаторы XMP в файлы при импорте в категории установок Носитель и кэш диска по умолчанию отключена. При обновлении до After Effects 12.1 данная установка по умолчанию включена. Чтобы отключить ее, снимите соответствующий флажок.
  • Теперь привязка определяет уровень увеличения (масштаб) и пропорции пикселя (PAR) изображения в средстве просмотра.
  • Эффекты Ключ яркости и Цветовой ключ перемещены в категорию «Устаревшие эффекты» и заменены другими эффектами, например Эффект «Направленный свет» .

  • Anisotropic filtering (Анизотропная фильтрация) - ставим значение Application-controlled (Управление от приложения). Проверьте значение в самом приложении. Желательно не более 8х.

    Анизотропная фильтрация нужна для повышение четкости изображения 3д объектов относительно камеры (персонажа, машины и т.д). Выставляем значение Application-controlled (Управление от приложения) - это означает, что приложение будет автоматически выбирать нужный режим анизотропной фильтрации или же фильтрация управляется в самом приложении (программе, игре), чем выше значение фильтрации, тем четче будет изображение.

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

    Antialising - Gamma correction (Сглаживание - гамма- коррекция) - ставим значение On (Вкл)

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

    Antialising Mode (Сглаживание - режим) - ставим значение Application-controlled (Управление от приложения)

    Очень важный параметр, включения режима сглаживания дает возможность избавления от эффекта лесенок на трехмерном объекте. Выставляем значение Application-controlled (Управление от приложения). - это означает что приложение будет автоматически выбирать нужный режим сглаживания или же сглаживание будет управляется в самом приложении (программе, игре), чем выше значение сглаживание, тем меньше эффекта лесенок будет изображение, тем ниже будет производительность приложения, тем меньше будет кадров в секунду.
    Для каждого приложения данный параметр можно настроить отдельно (вкладка программные настройки), при этом вам станет доступен пункт Antialising Setting (Сглаживание - параметры), где вы сможете вручную задать уровень сглаживания от 2х до 16х. Даже если приложение не поддерживает сглаживание, это будет делать за него сам драйвер видеокарты.

    Anti-aliasing Setting (Сглаживание - параметры) - автоматическое значение Application-controlled (Управление от приложения). Проверьте значение в самом приложении. Желательно не более 4х.

    При включении предыдущего пункта Anti-aliasing Mode (Сглаживание - параметры) - Application-controlled (Управление от приложения) текущее значение будет неактивно, активно лишь в том случае если значение Anti-aliasing Mode (Сглаживание - параметры) - Enhance the application setting) (Замещение настроек приложения или увеличение настроек приложения).
    Для каждого приложения данный параметр можно настроить отдельно (вкладка программные настройки), получив более высокое качество, если приложение не поддерживает или некорректно обрабатывает Anti-aliasing (сглаживание). Читайте пункт выше.

    Anti-aliasing - Transparency (Сглаживание - прозрачность) ставим значение Off (Выкл)

    Сглаживание прозрачных поверхностей, означает что объекты, не имеющую структуру будут сглаживаться. Например будет сглаживать "прозрачные" места в текстура лестницы, ведь лестницы, например, рисуют единой текстурой, использую альфа-канал для указания прозрачных и не прозрачных мест. На производительность влияет не очень сильно, но если вам производительность все же важнее, можете поставить "Выкл".
    В целом же, особой разницы в качестве картинки между ситуациями, когда эта опция включена или выключена, замечено не было.

    Conformant texture clamp (Соответствующая привязка текстуры) - параметр Use hardware (Используются аппаратные средства)

    Как видно из названия выбор метода текстурирования, конечно же оптимальным в качестве и производительности выбираем на уровни железа - Use hardware (Используются аппаратные средства) - что естественно производительней чем софтвенный (программный) режим.

    Error reporting (Сообщения об ошибках) - значение Off (Выкл)

    Бессмысленный параметры, включение которого дает возможность при случае ошибки драйвера отправлять все данные о ошибке и конфигурацию ПК разработчикам NVidia.
    (Один из бессмысленных параметров, выключение которого позволит сделать безлимитный доступ драйверу к коду приложения при обработке графики, естественно все ограничения снимаем значением Off (Выкл))

    mipmaps (Включение масштабируемых текстур) - значение None (Нет)

    Устаревшие значение работы 3д приложений. Отключаем так как приложения уже не используют данный метод, значение - None (Нет).

    Maximum pre-render frames (Максимальное количество заранее подготовленных кадров) - значение 1 или 2 (выбирайте в зависимости от мощности вашего ЦП)

    Максимально количество кадров после первого, которые может подготовить ЦП, для дальнейшей обработки ГП видеокарты. При одном кадре, от 1 до 8 кадров будут подготавливаться на перед, загружаться в память, нагружая ваш ЦП во время подготовки этих кадров. Ставим значение 1 или 2, это позволит капитально увеличить скорость обработки графики в реальном времени. Кол-во кадров выберете сами, но все же рекомендую не более 3. Ориентируйтесь исходя из мощность вашего ЦП (центральный процессор, не путайте с ГП - графическим процессором).

    Multi-display/mixed - GPU acceleration (Ускорение нескольких дисплеев/смешанных ГП)- значение Single display performance mode (Режим однодисплейной производительности)

    Проще говоря, если выставлен режим Multi display performance mode (Режим многодисплейной производительности) - то графический процессор (ГП) вашей видеокарты отрисовывает изображение для обоих портов видеокарты. А если выставлен режим Single display performance mode (Режим однодисплейной производительности), то сигнал будет идти только на один из портов.
    Так что если у вас одна видеокарта и один монитор, то ставьте в обязательном порядке Single display performance mode (Режим однодисплейной производительности).
    Заметьте, что когда вы установили новые драйвера на видеокарту, по умолчанию стоит режим Multi display performance mode (Режим многодисплейной производительности) это означает,что будь у вас два монитора, то подключив его к второму видеовыходу на него тоже бы шел рендеринг изображения. Теряется производительность где то на 5-15%. В общем режим Single display performance mode (Режим однодисплейной производительности) повышает производительность за счет рендеринга на один видеовыход).

    Texture filtering - Anisotropic sample optimization (Фильтрация Текстур - анизотропная оптимизация по выборке) - значение Off (Выкл)

    Фильтрация текстур - Анизотропная оптимизация, данный параметр выставляется значением Off, так как данный параметр увеличивает производительность в 3D приложениях за счет ухудшения конечной картинки при рендеринге видеокартой. Но так как мы стремимся к скорости без потери качества, то нам этот параметр не нужен. (Если в параметре Texture filtering (Фильтрация текстур - качество) выставлено - Hight quality (Высокое качество), то данный параметр будет неактивен, выключен.)

    Texture filtering - Negative LOD bias (Фильтрация текстур - отрицательное отклонение УД) - значение Clamp (Привязка)

    Фильтрация текстур с использованием негатива с масштабируемым уровнем детализации, выставляем значение Clamp (Привязка), что позволит оптимизировать текстурные процедуры путем привязки. Это позволит получить дополнительные 2-3 ФПС в производительности рендеринга, без потери качества. Увеличивает производительности в 3д приложениях.

    Texture filtering (Фильтрация текстур - качество) - значение Quality (Качество) или Hight quality (Высокое качество). (Выбирайте в зависимости от мощности вашей видеокарты)

    Фильтрация текстур, позволяет улучшить качество картинки, четкость изображения без понижения производительности в рендеринге, соответственно ставим значение Hight quality (Высокое качество). На производительность практически не влияет.

    Texture filtering - Trilinear optimization (Фильтрация текстур - трилинейная оптимизация) - значение Off (Выкл)

    Фильтрация текстур - трилинейная оптимизация, данный параметр выставляется значением Off, если параметр Texture filtering - Quality (Фильтрация текстур - качество) стоит на значении High quality (Высокое качество), то данный параметр будет неактивен.
    О параметре Texture filtering - Trilinear optimization (Фильтрация текстур - трилинейная оптимизация) хочу отметить, что он увеличивает производительность в 3д приложениях за счет ухудшения конечной картинки при рендеринге видеокартой. Но так как мы стремимся к скорости без потери качества, то нам этот параметр не нужен, к тому же Trilinear filtering (Трилинейная фильтрация) намного старше и у неё есть свои минусы, так же как и у двулинейной (билинейной) фильтрации. Тем более Anisotropic filtering (Анизотропная фильтрация) "практически" включает в себя оба этих метода фильтрации текстур с некоторой доработкой.

    Threaded optimization (Потоковая оптимизация) - значение On (Вкл). (Включайте только если у вас многоядерный процессор, если нет, поставьте "Авто")

    Оптимизация драйвера видеокарты под многоядерные процессоры, лакомый кусочек для обладателей 2х - 4х ядерных процессоров. По умолчание значение стоит Auto (Авто), но судя по проведенным тестам в приложениях автоматически выставлялось Off (Выкл), но так как мы стремимся увеличить производительность, то выставляем значение On (Вкл). Увеличивает производительности в 3д приложениях.

    Triple buffering (Тройная буферизация) - значение Off (Выкл)

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

    Vertical sync (Вертикальный синхроимпульс - значение Force off (Отключить)

    Вертикальная синхронизация кадров, через вертикальный синхроимпульс синхронизируется количество кадров в секунду с частотой обновления вашего монитора, тем самым убирая некий эффект "разрыва картинки" (на экране это будет выглядеть, например, при резком повороте камеры, будто верхняя часть экрана чуть уехала в сторону, по отношению к нижней), при быстрой смене кадров. При этом, за частую сильно падает FPS (кол-во кадров в секунду), оно не столь значительно падает, только если у вас монитор обновляется с частотой выше 100-120 Гц в секунду, но даже при такой частоте все равно FPS снижается на 10-15%. Ставим значение Off (Выкл), тем самым отключая ненужную вертикальную синхронизацию. На производительность влияет негативно.

    Ambient occlusion - Значение "Выкл"

    Ambient occlusion модель затенения, используемая в трёхмерной графике и позволяющая добавить реалистичности изображению за счёт вычисления интенсивности света, доходящего до точки поверхности.
    Ambient occlusion чаще всего вычисляется путём построения лучей, исходящих из точки поверхности во всех направлениях, с последующей их проверкой на пересечение с другими объектами.
    Этот процесс очень прилично нагружает видеокарту , так что смотрите сами, если видеокарта мощная, можете включить. А если нет, то лучше выключить.
    В целом же, на мой взгляд, не стоит этот эффект того, что поедает =) Особой разницы вы все равно не увидите, она есть, но минимальна и заметна только, если внимательно присматриваться и знать, что искать =)

    Переводим... Перевести Китайский (упрощенное письмо) Китайский (традиционное письмо) Английский Французский Немецкий Итальянский Португальский Русский Испанский Турецкий

    К сожалению, мы не можем перевести эту информацию прямо сейчас - пожалуйста, повторите попытку позже.

    Введение

    В этом примере демонстрируется создание текстуры в OpenGL* 4.3, подчиненная область которой обновляется ядром С OpenCL™, выполняющимся на ГП Intel® Processor Graphics под управлением Microsoft Windows*. Одним из назначений такой технологии могут быть приложения компьютерного зрения в реальном времени, где необходимо запускать детектор определенных элементов изображения в OpenCL, но в реальном времени выводить готовое изображение с четко отмеченными детекторами на экран. В этом случае нужен доступ ко всем возможностям языка С ядра OpenCL, а также возможности рендеринга API OpenGL для совместимости с существующим конвейером рендеринга. Еще один пример использования такой технологии: если динамически создаваемые в OpenCL процедурные текстуры используются для рендеринга трехмерных объектов на сцене. И наконец, представьте себе постобработку изображения в OpenCL после рендеринга сцены с помощью 3D конвейера. Это может быть полезно для преобразования цветов, изменения разрешения или выполнения сжатия в определенных сценариях.

    В этом примере показано обновление в OpenCL текстуры, созданной в OpenGL. Такие же рекомендации применяются для обновления объекта вертексного буфера или внеэкранного кадрового буфера, который может использоваться в автономном конвейере обработки изображений.

    Расширение общего доступа к поверхностям определяется в спецификации расширений OpenCL строкой cl _ khr _ gl _ sharing . Мы также используем расширение cl _ khr _ gl _ event , которое поддерживается ГП Intel.

    Мотивация

    Назначение этого учебного руководства в том, чтобы ознакомить читателей с возможностью создания поверхностей, общих для OpenCL и OpenGL. Также вы сможете лучше понять работу API, соображения производительности различных путей создания текстур в API OpenGL, в частности на ГП Intel, а также разницу между таким подходом и использованием дискретных ГП.

    Основной принцип

    Для создания текстур OpenGL и доступа к ним как к изображениям OpenCL с наивысшей производительностью ГП Intel не следует создавать объект пиксельного буфера (РВО) OpenGL. Объекты PBO не обладают преимуществами производительности на ГП Intel. Кроме того, они создают по крайней мере одну дополнительную линейную копию данных, которые затем копируются в формат текстур, используемый в ГП для рендеринга. Во-вторых, вместо использования glFinish () для синхронизации между OpenCL и OpenGL мы можем использовать механизм неявной синхронизации, поскольку ГП Intel поддерживает расширение cl _ khr _ gl _ event .

    ГП Intel® с общей физической памятью

    ГП Intel® и ЦП вместе используют общую память. Их взаимоотношение показано на рисунке 1. Существует несколько архитектурных механизмов (не показанных на этом рисунке), расширяющих возможности подсистемы памяти. Например, для повышения производительности подсистемы памяти применяются иерархии кэша, сэмплеры, элементарные операции, очереди чтения и записи.

    Рисунок 1. Взаимоотношения между ЦП, ГП Intel ® и основной памятью. Обратите внимание, что ЦП и ГП используют общий пул памяти (в отличие от дискретных ГП с собственной выделенной памятью, управление которой осуществляет драйвер)

    Почему не следует использовать объекты пиксельного буфера (РВО) с ГП Intel

    «Основное преимущество использования объекта буфера для промежуточного хранения данных текстуры состоит в том, что передача из объекта буфера в текстуру не должна обязательно происходить немедленно, если она происходит до момента, когда данные требуются шейдеру. Это позволяет осуществлять передачу параллельно с выполнением приложения. Если же данные находятся в памяти приложения, то семантика glTexSubImage 2 D () требует, чтобы перед возвратом функции была создана копия данных , благодаря чему исключается параллельная передача. Преимущество такого подхода состоит в том, что приложение может свободно изменять данные, переданные в функцию, сразу после возврата функции».

    Обратите внимание, что смысл этого вызова API заключается в общем доступе между памятью приложения (т. е. памятью ЦП) и ГП, а не в общем доступе между двумя API, каждый из которых выполняет свой поток команд на одном и том же устройстве и одной и той же физической памяти, как показано на рисунке 1.

    Использование объектов PBO на самом деле приводит к снижению производительности на устройствах, где используется общая физическая память. Во-первых, объект РВО - это дополнительная промежуточная область, что означает увеличение объема памяти, потребляемого приложением. Во-вторых, данные в РВО хранятся в линейном виде, а если данные требуются в сегментированном виде, как, например, в текстурах OpenGL или в изображениях OpenCL, то приходится преобразовывать данные в нужный формат. И наконец, копирование между двумя API занимает определенное время, что также отрицательно сказывается на производительности приложения.

    В случае общего доступа с дискретным ГП использование объектов РВО вполне целесообразно: можно запустить передачу DMA, работающую асинхронно по отношению к ЦП. Без РВО семантика OpenGL требует синхронной записи и дожидается возвращения результата, что также снижает производительность. В нашем случае нет передачи данных из ЦП в подсистему памяти ГП.

    В каких случаях можно использовать РВО при общем доступе к поверхностям?

    Существуют сценарии, когда имеет смысл применять объекты РВО. Например, если не существует подходящего формата поверхностей, совместимого с OpenGL и OpenCL согласно таблице 9.4 в спецификации расширений OpenCL. В этом случае можно создать РВО и предоставить к нему общий доступ для API, связанных с общим доступом к буферу. Тем не менее старайтесь избегать таких сценариев, чтобы не допустить снижения производительности, о котором было сказано выше. Если это необходимо, см. пример Максима Шевцова, ссылка на который приводится в разделе справочных материалов.

    Синхронизация между OpenCL™ и OpenGL*

    Во время выполнения важно добиться наивысшей производительности OpenCL и OpenGL. В спецификации сказано следующее:

    «Перед вызовом объектов clEnqueueAcquireGLObjects приложение должно убедиться в завершении всех отложенных операций GL , располагающих доступом к объектам, указанным в mem _ objects . Чтобы сделать это с сохранением переносимости, можно выполнить и дождаться завершения команды glFinish для всех контекстов GL с отложенными ссылками на эти объекты. В разных реализациях могут быть доступны более эффективные методы синхронизации. Например, на некоторых платформах может оказаться достаточно вызвать glFlush , или же синхронизация может быть неявной внутри потока, или могут быть поддерживаемые данным поставщиком расширения, позволяющие разграничивать поток команд GL и дожидаться завершения каждой части в очереди команд CL . Обратите внимание, что в данный момент единственным методом синхронизации, поддерживающим перенос между различными реализациями OpenGL , является glFinish ».

    Для наибольшей переносимости, согласно спецификации, нужно вызывать glFinish () , но это блокирующий вызов! На ГП Intel будет эффективнее использовать неявную синхронизацию или объекты синхронизации между OpenCL и OpenGL с расширением cl _ khr _ gl _ events . Подробнее это будет описано ниже. Использование неявной синхронизации не является обязательным. В образце кода содержатся закомментированные фрагменты, которые можно задействовать, если нужно использовать неявную синхронизацию.

    Обзор общего доступа к поверхностям для OpenCL и OpenGL

    Сначала опишем этапы, необходимые для поддержки общего доступа к поверхностям при инициализации, выполнении и завершении работы. Затем более подробно опишем API и синтаксис языка. И наконец, мы расскажем, как можно развить эти идеи, чтобы охватить другие форматы текстур, выходящие за рамки данного примера. Мы используем общедоступную библиотеку freeglut для управления окнами, а также библиотеку glew . Использование этих библиотек является стандартной практикой в образцах приложений OpenGL, поэтому мы не будем описывать их подробнее.

    Инициализация

    1. OpenCL:
      1. Создайте контекст, передающий соответствующие параметры устройства.
      2. Создайте очередь на устройстве и контекст, поддерживающий обмен данными между OpenGL и OpenCL.
    2. OpenGL: Создайте текстуру OpenGL, доступ к которой нужно предоставить для OpenCL.
    3. OpenCL: С помощью дескриптора OpenGL, созданного на шаге 2, создайте общую поверхность посредством расширения OpenCL.

    Шаги 1 и 2 можно поменять местами. Шаг 3 должен следовать за шагами 1 и 2.

    Запись на общую поверхность в OpenCL

    1. Заблокируйте поверхность для монопольного доступа OpenCL.
    2. Запишите на эту поверхность через ядро C OpenCL. При работе с данными текстур необходимо использовать функции чтения или записи изображения и соответствующим образом передавать изображение.
    3. Разблокируйте поверхность, чтобы предоставить OpenGL доступ к ней на чтение или запись.

    Шаги 1, 2 и 3 должны следовать в указанном порядке.

    Цикл

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

    Завершение работы

    1. Очистка состояния OpenCL
    2. Очистка состояния OpenGL

    Подробные сведения об общем доступе к поверхностям OpenGL и OpenCL

    В этом разделе приводятся подробные сведения об этапах, описанных в предыдущем разделе.

    Инициализация

    1. OpenCL:
      1. Выдайте запрос, чтобы определить, поддерживаются ли расширения; завершение и выход, если не поддерживаются.

        Не все реализации OpenCL поддерживают общий доступ к поверхностям OpenCL и OpenGL, поэтому сначала нужно определить, есть ли вообще в системе нужное расширение. Мы последовательно перебираем платформы, чтобы найти строку расширения для платформы, поддерживающей общий доступ к поверхностям. Внимательное изучение спецификации показывает, что это расширение платформы, а не устройства. Затем мы создаем контекст, который нужно будет опросить, чтобы определить, какие из наших устройств в контексте поддерживают общий доступ к контексту OpenGL.

        Этот пример поддерживается только на ГП Intel, но можно без особых усилий реализовать поддержку и других ГП. Нужное нам расширение - cl _ khr _ gl _ sharing . Вот соответствующий фрагмент кода. char extension_string; memset(extension_string, "