Что делает nvidia physx

Что делает nvidia physx

PhysX

Официальный логотип
Тип Физический движок
Разработчики nVidia (текущий)
NovodeX AG, Meqon Research AB, Ageia (бывшие)
Ключевой программист Манджу Хежд
Аппаратные платформы IBM PC-совместимые компьютеры, PlayStation 3, Xbox 360, Wii, PlayStation 4, Xbox One
Поддерживаемые ОС Windows, Linux, Mac OS X, Android, IOS
Лицензия BSD-3
Последняя версия 9.19.2018
Официальный сайт

PhysX (МФА: [ˈfɪzɛks] , произносится [фи́зикс]) — связующее программное обеспечение (англ. middleware ), кроссплатформенный физический движок для симуляции ряда физических явлений, а также комплект средств разработки (SDK) на его основе. Первоначально разрабатывался компанией Ageia для своего физического процессора PhysX. После того, как Ageia была приобретена nVidia, движок перешёл в собственность компании nVidia, которая продолжает его дальнейшую разработку. nVidia адаптировала движок для ускорения физических расчётов на своих графических чипах с архитектурой CUDA. PhysX может также производить вычисления с использованием обычного процессора. В настоящее время PhysX доступен на следующих платформах: Windows, Linux, Mac OS X, Wii, PlayStation 3, Xbox 360, PlayStation 4, Xbox One, Android, IOS (аппаратное ускорение возможно только на платформе Windows). Движок используется во многих играх и активно предлагался для продажи (лицензирования) всем желающим, для различных платформ [1] [2] [3] [4] [5] [6] .

С 3 декабря 2018 года исходный код PhysX был перелицензирован под открытой лицензией BSD-3 [7] [8] .

Содержание

Описание [ править | править код ]

Подпрограммное обеспечение PhysX SDK позволяет разработчикам игр избегать написания собственного программного кода для обработки сложных физических взаимодействий в современных компьютерных играх. 20 июля 2005 года компания Sony лицензировала PhysX SDK для использования в своей игровой приставке седьмого поколения PlayStation 3. [9] PhysX SDK может использоваться не только в среде Microsoft Windows, но и также в Linux, однако поддержка процессора PhysX пока работает только для Windows.

В отличие от большинства других физических движков, которые поставляются и устанавливаются вместе с игрой, PhysX SDK необходимо установить отдельно. Он устанавливается как отдельный драйвер. Если на компьютере установлена плата PhysX, то драйвер PhysX SDK при работе будет использовать её ресурсы. Если же PhysX отсутствует, то вычислительные задачи будут переноситься на центральный процессор. [10]

Физический движок PhysX SDK состоит из трёх главных компонентов по обработке физики:

После установки драйвера PhysX SDK присутствует возможность просмотреть работу этих трёх компонентов движка в действии.

13 февраля 2008 года компания NVIDIA приобрела Ageia, в результате чего PhysX SDK стал собственностью NVIDIA. [11] Поддержка PhysX SDK была интегрирована в структуру CUDA, для которой уже есть множество драйверов под Linux. Таким образом, необходимость в выделенном физическом процессоре PhysX отпала. Поддержка PhysX SDK доступна для всех видеокарт производства Nvidia, начиная с серии 8ххх. Физический движок PhysX SDK теперь известен как NVIDIA PhysX SDK. [12]

В марте 2008 года Nvidia заявила, что сделает PhysX SDK открытым стандартом, доступным для всех желающих. [13] 24 июля 2008 года стало известно, что Nvidia выпустит WHQL-сертифицированный драйвер ForceWare с поддержкой ускорения физики 5 августа 2008 года. [14] [15]

В связи с прекращением поддержки Havok FX физический движок PhysX SDK являлся до 2010 года единственной технологией с поддержкой аппаратного ускорения. [16] Начальную поддержку технологии аппаратного ускорения с помощью OpenCL получил другой физический движок Bullet, благодаря активной поддержке компании AMD.

Читайте также:  Как настроить телевизор techno

Хотя PhysX SDK разработан для использования в компьютерных играх, он может быть применён и в других приложениях.

15 августа 2008 года компания NVIDIA выпустила драйвер ForceWare 177.83 с поддежкой PhysX в видеокартах GeForce серий 8, 9 и 200. Это немедленно расширило пользовательскую базу до более чем 70 миллионов человек во всем мире. [17] [18]

4 марта 2015 года компания NVIDIA объявила о доступности полных исходных кодов PhysX. Код движка поставлется в составе бесплатного PhysX SDK, подготовленного для Windows, Linux, OS X и Android [19]

Возможность запуска PhysX при сторонних GPU [ править | править код ]

28 июня 2008 года Эран Бэдит (англ. Eran Badit ), участник ресурса NGOHQ.com, запустил аппаратную поддержку PhysX SDK на видеокарте Radeon HD 3870. [20] Вначале компания NVIDIA отреагировала на инициативу Эрана Бэдита негативно, заявив, что это невозможно. Однако 9 июля 2008 года Бэдиту предложили вступить в команду разработчиков nVidia, открыли доступ к документации, SDK, аппаратному обеспечению и дали контакты инженеров. [21] Было обещано, что модифицированные драйверы для карт ATI скоро станут доступны для загрузки. По другим данным, в свою очередь, компания ATI официально не поддержала инициативу Бэдита. [22] Для написания официальных (не модифицированных) драйверов ATI с поддержкой PhysX компания nVidia предлагает лицензировать аппаратную поддержку CUDA, которая включает в себя PhysX. Однако технология CUDA конкурирует с технологией AMD FireStream.

В графических драйверах nVidia версии 186 была заблокирована возможность совместной работы двух графических карт, на которые установлены графические процессоры от разных производителей (AMD и nVidia). Таким образом, если раньше была возможность разделения вычислений по разным графическим картам (например, карта с процессором nVidia может рассчитывать игровую физику, а карта с процессором AMD — заниматься рендерингом изображения), то с версии 186, если в системе обнаружен GPU другого производителя (даже интегрированный в чипсет), то эта возможность блокируется. Кроме того, движок PhysX новой версии не поддерживает специализированные физические ускорители (PPU) PhysX, разработанные ещё Ageia, если в системе обнаружен GPU, выпущенный не NVIDIA.

Представитель nVidia объяснил эту ситуацию следующим образом:

PhysX является открытым программным стандартом, и любая компания может свободно разрабатывать поддерживающее его аппаратное или программное обеспечение. NVIDIA поддерживает ускорение физических расчетов силами GPU NVIDIA, когда GPU NVIDIA используется и для графики. По многим причинам — частично из-за затрат на разработку, частично из-за затрат на тестирование и частично по деловым мотивам NVIDIA не будет поддерживать ускорение физических расчетов силами GPU, если графическая обработка выполняется GPU другого производителя.

APEX PhysX [ править | править код ]

APEX — это высокоуровневая надстройка, которая по замыслу NVIDIA должна упростить внедрение PhysX в игровые проекты и ускорить процесс разработки. APEX позволяет художникам и дизайнерам создавать физические эффекты при минимальном участии программистов. Вместо низкоуровневого API PhysX, разработчику предоставляется набор инструментов для создания определенных физических эффектов на базе готовых APEX-модулей. Использование этих модулей обеспечивается интеграцией фреймворка APEX в игровые движки.

Игровые движки [ править | править код ]

Игровые движки, использующие в качестве физической подсистемы компоненты PhysX SDK:

Читайте также:  Как поставить нерастяжимый пробел

Компания NVIDIA анонсировала новую версию набора средств разработки PhysX SDK 4.0, которая станет доступна с 20 декабря. Но что важнее, вместе с анонсом новой версии NVIDIA решила открыть исходный код своего физического движка, и с этого момента PhysX SDK 3.4 доступен бесплатно всем желающим на GitHub по простой лицензии BSD.

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

Использовать открытый PhysX SDK смогут разработчики для различных платформ, в том числе Apple macOS и iOS, Google Android, Microsoft Windows и различных дистрибутивов Linux. А вот разработчики игр для консолей Sony PlayStation 4, Microsoft Xbox One и Nintendo Switch смогут использовать PhysX по-прежнему лишь по лицензии.

По словам NVIDIA, платформа PhysX SDK в версии 4.0 была модернизирована таким образом, что обновлённый движок сможет обеспечить в играх качество симуляции, ранее присущее только при симуляции в профессиональных задачах. Отмечается улучшение при симуляции различных сочленений, которые стали более плавными и стабильными, а также ряд других улучшений и доработок.

ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ О PHYSX

Что такое физический процесс?

Физический процесс AGEIA был специально создан, чтобы соответствовать уникальным требованиям физических алгоритмов. Они представляют командную среду, которая сильно отличается от командной среды CPU общего назначения.

Графические процессоры с поддержкой NVIDIA CUDA ускоряют NVIDIA PhysX для обеспечения еще большей производительности для обработки физики.

Что такое игровая физика?

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

Что такое процессор AGEIA PhysX?

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

NVIDIA приобрела компанию AGEIA Technologies в начале 2008 года и продолжает развивать платформу PhysX как с точки зрения программной, так и аппаратной составляющей.

Что такое ускоритель AGEIA PhysX?

Ускоритель AGEIA PhysX является картой расширения, созданной на базе физического процессора PhysX. Он обеспечивает улучшенную физику в играх, которые были созданы с поддержкой аппаратного ускорения PhysX.

Какие видеокарты поддерживают NVIDIA PhysX?

Читайте также:  Как соединить наушники с другим штекером

Все видеокарты серии GeForce 8 и выше с минимальным количеством 32 ядра и 256 МБ специализированной графической памяти поддерживают NVIDIA PhysX. Если вы намерены использовать поддерживаемую видеокарту NVIDIA для работы с Physx, на других видеокартах в системе также должен быть установлен NVIDIA GPU.

Обработка PhysX на GPU замедляет производительность?

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

Могу ли я обрабатывать NVIDIA PhysX на GPU материнской платы?

NVIDIA PhysX API использует GPU (графический процессор) для обработки физических вычислений в играх и приложениях с поддержкой NVIDIA Physx. Физические вычисления могут быть очень сложными, поэтому необходимо, чтобы установленный в системе GPU был оснащен 256 МБ специализированной графической памяти, имел не менее 32 ядер и поддержку технологии NVIDIA CUDA. Если NVIDIA GPU материнской платы или видеокарта NVIDIA не соответствуют этим требованиям, вы не сможете использовать GPU для обработки вычислений NVIDIA Physx.

Распределяется ли обработка PhysX между GPU и CPU? Если да, то значит ли это, что более скоростной CPU повышает производительность PhysX или качество изображения?

PhysX использует как CPU, так и GPU, однако операции, требующие наибольшего объема вычислений, обычно выполняются на GPU. Более производительный CPU может привести к некоторым повышениям общей производительности, как и более мощный GPU, однако это относительное повышение производительности большезависит от изначального баланса система. Оптимизированный ПК с правильной комбинацией CPU и GPU будет самым лучшим сбалансированным решением.

Intel и AMD заявляют, что осуществлять обработку физики лучше на CPU. Что по этому поводу считает NVIDIA?

PhysX будет работать быстрее и обеспечит больше реализма на GPU. Обработка PhysX на GeForce GPU от среднего до высокого класса обеспечит в 10-20 раз больше эффектов и визуальной четкости, чем обработка физики на высококлассном CPU. Часть обработки PhysX действительно осуществляется как на CPU, так и на GPU, используя лучшие возможности обеих архитектур для обеспечения пользователям лучшего игрового процесса. Что более важно, PhysX может масштабироваться с учетом GPU, установленного в вашем ПК. Решения от Intel и AMD, которые используют Havok API, имеет фиксированную функцию.

Каким образом гетерогенные вычисления поддерживаются на PhysX?

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

Ссылка на основную публикацию
Чем открывать jar файлы
Файл формата JAR открывается специальными программами. Чтобы открыть данный формат, скачайте одну из предложенных программ. Чем открыть файл в формате...
Функция overdrive в мониторе
Технология компенсации времени отклика LCD-матрицы, известная как Overdrive (у каждого производителя она имеет свое фирменное название) обеспечивает существенное ускорение переключения...
Функция еош в excel
Всем добрый день! Эта статья посвящается вопросу, как можно избавится от ошибки в результате вычисления, так как это делает функция...
Чем открываются файлы dwg
Please try the following: Make sure that the Web site address displayed in the address bar of your browser is...
Adblock detector