Как включить physx на nvidia

PhysX

У этого термина существуют и другие значения, см. 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

Лицензия

Последняя версия

Официальный сайт

PhysX (МФА: , произносится ) — связующее программное обеспечение (англ. 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). Движок используется во многих играх и активно предлагался для продажи (лицензирования) всем желающим, для различных платформ.

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

Описание

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

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

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

  • обработка твёрдых тел (англ. rigid body);
  • обработка тканей (англ. cloth);
  • обработка жидкостей (англ. fluid);

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

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

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

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

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

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

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

Возможность запуска PhysX при сторонних GPU

28 июня 2008 года Эран Бэдит (англ. Eran Badit), участник ресурса NGOHQ.com, запустил аппаратную поддержку PhysX SDK на видеокарте Radeon HD 3870. Вначале компания NVIDIA отреагировала на инициативу Эрана Бэдита негативно, заявив, что это невозможно. Однако 9 июля 2008 года Бэдиту предложили вступить в команду разработчиков nVidia, открыли доступ к документации, SDK, аппаратному обеспечению и дали контакты инженеров. Было обещано, что модифицированные драйверы для карт ATI скоро станут доступны для загрузки. По другим данным, в свою очередь, компания ATI официально не поддержала инициативу Бэдита. Для написания официальных (не модифицированных) драйверов 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 другого производителя.

Примечания

  1. Роман Епишин. THQ голосует за физику (недоступная ссылка — история ). Игромания (22 декабря 2008 года). Дата обращения 23 декабря 2008.
  2. Павел Шубский. PlayStation 3 получит PhysX (недоступная ссылка). Игромания (18 марта 2009 года). Дата обращения 18 марта 2009. Архивировано 22 марта 2009 года.
  3. PhysX для PS3-игр. GameTech (18 марта 2009 года). Дата обращения 18 марта 2009. Архивировано 16 марта 2012 года.
  4. Александр Будик. NVIDIA PhysX появится на Sony PS3. 3DNews (18 марта 2009 года). Дата обращения 25 марта 2009.
  5. Евгений Курочкин. NVIDIA PhysX теперь и на Wii. Страна Игр (20 марта 2009 года). Дата обращения 21 марта 2009.
  6. Александр Шеметов. Nintendo говорит «да» NVIDIA PhysX. 3DNews (21 марта 2009 года). Дата обращения 25 марта 2009.
  7. Nvidia сошла с ума и открывает PhysX под BSD-3
  8. NVIDIA Extends PhysX for High-Fidelity Simulations, Goes Open Source
  9. Sony Computer Entertainment, Inc. (21 июля 2005 года). Sony Computer Entertainment Enters Into Strategic Licensing Agreement With AGEIA (in en). Пресс-релиз. Архивировано из первоисточника 16 февраля 2008. Проверено 23 августа 2006.
  10. PhysX For CUDA, Linux Support A Given? (англ.). phoronix.com. Дата обращения 14 февраля 2008. Архивировано 16 марта 2012 года.
  11. NVIDIA Completes Acquisition of AGEIA Technologies: Financial News — Yahoo! Finance (недоступная ссылка с 14-05-2013 — история)
  12. Александр Шеметов. Кто лучше «ускоряет физику», GeForce 9500 GT или Core 2 Extreme QX9770?. 3DNews (4 августа 2008 года). Дата обращения 4 августа 2008.
  13. Nvidia offers PhysX support to AMD / ATI Архивировано 13 марта 2008 года. (недоступная ссылка с 14-05-2013 — история)
  14. Павел «xAnder» Шубский. WHQL-драйвер NVIDIA для PhysX – в начале августа (недоступная ссылка). Игромания (24 июля 2008 года). Дата обращения 27 июля 2008. Архивировано 28 июля 2008 года.
  15. Александр Шеметов. Новые драйверы NVIDIA PhysX: прирост около 25% в 3DMark Vantage. 3DNews (23 июня 2008 года). Дата обращения 4 августа 2008.
  16. Shilov, Anton GPU Physics Dead for Now, Says AMD’s Developer Relations Chief. Nvidia’s Chief Exec Predicts “Negative Synergies” with Intel’s Acquisition of Havok. Xbit Laboratories (19 ноября 2007 года). Дата обращения 26 ноября 2007. Архивировано 16 февраля 2012 года.
  17. NVIDIA выпустила драйвер для аппаратной поддержки PhysX. GameDev.ru (15 августа 2008). Дата обращения 27 октября 2008 года.
  18. Винни Весси. Почти бесплатная физика. RusDoc.ru (14 октября 2008 года). Дата обращения 19 октября 2008. Архивировано 16 февраля 2012 года.
  19. Latest PhysX Source Code Now Available Free on GitHub (4 марта 2015).
  20. BlackCat. PhysX взломан и больше не является эксклюзивом для карт NVIDIA. IXBT.com (Суббота, 28 июня 2008 года). Дата обращения 9 июля 2008. Архивировано 16 февраля 2012 года.
  21. Павел «xAnder» Шубский. NVIDIA откроет поддержку PhysX для ATI Radeon? (недоступная ссылка). Игромания (9 июля 2008 года). Дата обращения 9 июля 2008. Архивировано 3 сентября 2009 года.
  22. Взломщика драйверов nVidia пригласила на работу… компания nVidia. Tom’s Hardware (9 июля 2008 года). Дата обращения 13 июня 2009. Архивировано 16 марта 2012 года.

Ссылки

  • Собственный сайт Nvidia для разработчиков PhysX. (недоступная ссылка)
  • NVIDIA PhysX (рус.) — страница PhysX на официальном сайте nVidia
  • PhysXInfo.com (англ.) — крупнейший веб-сайт, посвящённый технологии PhysX
  • Ageia PhysX Drivers — страница со списком всех драйверов, выпущенных Ageia для игровых ускорителей физических расчетов Ageia PhysX
  • Сайт сообщества разработчиков игр с использованием технологии PhysX на движке Unity3D

Отдельные статьи

  • Алексей Берилло. NVIDIA PhysX — аппаратно ускоренные физические эффекты. iXBT.com (11 марта 2010 года). — Тестирование игр, максимально интенсивно использующих PhysX, а также аналитические и описательные материалы. Дата обращения 11 марта 2010.
  • Алексей Горбунов, Иван Нечесов. Обзор технологии NVIDIA PhysX (недоступная ссылка). Игромания (журнал) (9 декабря 2008 года). — Аналитическая статья, в которой описывается технология и проводятся её тестирования. Дата обращения 10 декабря 2008. Архивировано 13 декабря 2008 года.
  • Виталий Царук. NVIDIA PhysX: физические эффекты силами видеокарты. журнал «Домашний ПК» (12 ноября 2008 года). Дата обращения 2 августа 2009. Архивировано 16 марта 2012 года.
  • Александр Залога. Введение в физический движок AGEIA PhysX 3. UralDev (3 апреля 2007 года). Дата обращения 3 апреля 2010. Архивировано 16 марта 2012 года.

Свободные Allegro ClanLib Cocos2d Construct Gosu idTech 1 Проприетарные Construct 2 Game Maker: Studio Stencyl Vicious Engine V-Play

Свободные Jogre LÖVE openSLUDGE Ren’Py Stratagus VASSAL Проприетарные M.U.G.E.N NScripter RPG Maker

Свободные DarkPlaces OpenMW OpenSim Spring Engine WorldForge Проприетарные HeroEngine

Графические Свободные GLScene Horde3D Irrlicht OGRE OpenSceneGraph Проприетарные Outerra
Физические Свободные Box2D Bullet Chipmunk Newton ODE Tokamak Проприетарные DMM Havok PhysX
Общего назначения 2D 3D
Специализированные 2D 3D Другие

madalex_days


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

А вот что пишет Википедия: Ageia (AGEIA, Ageia Technologies) — частная компания по разработке программного и аппаратного обеспечения, основанная в 2002 году. Ageia не имела собственных производственных мощностей. Ageia разработала и выпустила в массовое производство чип PhysX — Физический процессор (англ. PPU — англ. Physics Processing Unit), предназначенный для обработки физических расчётов с намного большей скоростью, чем обычный центральный процессор. Ageia также разработала PhysX (ранее известный как NovodeX) — программный физический движок, использующий мощности чипа PhysX. Однако физический движок PhysX SDK может работать и без использования PPU; в таком случае расчёт физики ложится на CPU, что является более медленным вариантом, или GPU.
Компания Ageia была отмечена как первая компания, которая разработала аппаратный чип, предназначенный для снятия нагрузки по обсчёту физики в компьютерных играх с процессора. Вскоре после создания и внедрения в производство процессора PhysX, NVIDIA и ATI анонсировали свои собственные аналогичные разработки.

4 февраля 2008 года компания NVIDIA объявила о своём желании приобрести Ageia. 13 февраля 2008 года приобретение было завершено, Ageia влилась в NVIDIA и перестала существовать как отдельная компания. Физический движок PhysX с этого момента стал известен как nVidia PhysX.
После покупки компании Ageia компанией Nvidia необходимость в PhysX как самостоятельном решении отпала, так как все видеокарты серии GeForce, начиная с серии 8ххх, имеют возможность аппаратно ускорять расчёты физики. Для задействования чипа PhysX в игре необходимо использование физического движка PhysX SDK, который устанавливается в системе как драйвер. В версии PhysX SDK 2.8.3, бета-драйверах PhysX 9.09.0914 и в последующих версиях движка PhysX физические ускорители PhysX от Ageia больше не поддерживаются. Начальная цена PPU PhysX составляла $300, однако в середине ноября 2007 года она была понижена до $99.
https://ru.wikipedia.org/wiki/Ageia
https://ru.wikipedia.org/wiki/PhysX_(%D1%87%D0%B8%D0%BF)
PhysX (МФА: , произносится ) — проприетарное связующее программное обеспечение (англ. middleware), кроссплатформенный физический движок для симуляции ряда физических явлений, а также комплект средств разработки (SDK) на его основе. Первоначально разрабатывался компанией Ageia для своего физического процессора PhysX. После того, как Ageia была приобретена nVidia, движок перешёл в собственность компании nVidia, которая продолжает его дальнейшую разработку. nVidia адаптировала движок для ускорения физических расчётов на своих графических чипах с архитектурой CUDA. PhysX может также производить вычисления с использованием обычного процессора. Движок используется во многих играх и активно предлагается для продажи (лицензирования) всем желающим.
APEX PhysX — это высокоуровневая надстройка, которая по замыслу NVIDIA должна упростить внедрение PhysX в игровые проекты и ускорить процесс разработки. APEX позволяет художникам и дизайнерам создавать физические эффекты при минимальном участии программистов. Вместо низкоуровневого API PhysX, разработчику предоставляется набор инструментов для создания определенных физических эффектов на базе готовых APEX-модулей. Использование этих модулей обеспечивается интеграцией фреймворка APEX в игровые движки.
Список игр поддерживающих технологию PhysX:
https://en.wikipedia.org/wiki/List_of_games_with_hardware-accelerated_PhysX_support
Игры достойные внимания:
Assassin’s Creed IV: Black Flag, Batman: Arkham Asylum, Batman: Arkham Asylum, Batman: Arkham City, Batman: Arkham Origins, Blur, Borderlands 2, Borderlands: The Pre-Sequel!, Call of Duty: Ghosts, Cryostasis: Sleep of Reason, Dark Void, Daylight, Fallout 4 (bullet collision debris added in patch 1.3 (FleX)), Hatred (gameplay physics, debris simulation, dynamic smoke), Mafia II, Metro 2033, Metro: Last Light, Mirror’s Edge, The Witcher 3: Wild Hunt — Blood and Wine, Hitman: Absolution, Splinter Cell Double Agent.
Даже у Terminator Salvation есть поддержка PhysX 🙂
И неплохая демонстрация в игре Mafia II
Но сейчас дела у PhysX складываются не очень хорошо. Последние игры игнорируют данную технологию.

Список игр: http://www.geforce.com/hardware/technology/physx/games
ВАЖНО: Есть особая версия PhysX для игр, выпущенных в конце 2007 года. Если игра, выпущенная в тот период, корректно работала с ПО PhysX версии 9.12.0613, но больше не работает с более поздними версиями, требуется установить legacy installer. Это будет разовая установка. В будущем не ожидается никаких обновлений, так как эти игры не поддерживают GPU-ускорение и не требуют обновлений для будущих GPU.
Точно помню, что данную версию PhysX (NVIDIA PhysX Legacy System Software) нужно ставить для корректной игры Clive Barker’s Jericho (2007)
Скачать можно с оф. сайта:

Разрушая стереотипы

Все началось пару лет назад, когда NVIDIA прямо заявила, что графические платы нового поколения должны уметь нечто большее, чем просто выводить на экран красивую картинку. А через некоторое время компания представила набор компонентов для разработчиков под названием CUDA (Compute Unified Device Architecture). Новая платформа открывала перед видеокартами широкое поле для маневров. Теперь графические чипы могли попробовать себя в следующих задачах: декодирование видео, научные и инженерные расчеты, медицинские исследования, финансовые вычисления.

Чтобы повысить ценность платформы в глазах обывателей, NVIDIA возложила на видеокарты ускорение физики. Почти во всех современных играх есть подсистема, которая симулирует физические законы реального мира, что, в свою очередь, повышает реалистичность игрового процесса. Возьмем, к примеру, The Elder Scrolls 4: Oblivion. Физический движок этой игры учитывает массу и плотность объектов, силу трения, гравитационное воздействие и другие параметры. Что это дает? Вода ведет себя почти как настоящая, тела убитых врагов плавают на ее поверхности, деревья гнутся на ветру, одежда повторяет движения тела.

В автомобильных симуляторах речь идет о тех параметрах, от которых напрямую зависит скорость, управляемость и тормозной путь машины. Именно поэтому игрок чувствует разницу между Lamborghini Murcielago и Ford Mustang GT.

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

Осознав это, NVIDIA твердо вознамерилась, используя CUDA и свои видеокарты, поднять игровую физику на новый уровень. Поначалу компания использовала движок Havok FX. Но после того, как Intel купила Havok, NVIDIA оказалась в затруднительном положении.

Графические чипы с поддержкой CUDA поднимут игровую физику на новый уровень и устранят перекос в позиционировании процессоров и видеокарт.

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

Игры с поддержкой PhysX

Владельцы видеокарт NVIDIA уже сейчас могут оценить возможности технологии PhysX в следующих играх: CellFactor: Revolution, Medal of Honor: Airborne, Sacred 2: Fallen Angel, RoboBlitz, Gothic 3, Brothers in Arms: Hell’s Highway, Unreal Tournament 3 и др. Всего в списке совместимых с PhysX проектов — 75 позиций. В первой половине 2009 года должно выйти еще около 40 игр, в числе которых столь ожидаемая нами Mirror’s Edge .

Спасательный круг

А потом под руку NVIDIA подвернулась фирма Ageia, которая потерпела крах со своим физическим ускорителем PhysX и медленно, но верно шла ко дну. NVIDIA подсуетилась и в феврале 2008 года выкупила бедствующую компанию. Графического гиганта заинтересовали не столько железные разработки Ageia, сколько программный набор PhysX SDK, который использовал аппаратные возможности чипа PhysX, но мог прекрасно обходиться и без него (в этом случае расчет физических эффектов ложился на процессор). Не прошло и полугода, как технология PhysX задышала с новой силой. Первым делом NVIDIA прикрутила ее поддержку к своим топовым решениям. С каждой новой версией драйверов совместимость с PhysX обретали и другие модели видеокарт.

На преобразование обычного фильма в формат, понятный плееру Apple iPod, программа Badaboom в компании с GeForce GTX 280 потратит в два раза меньше времени, чем процессор Core i7.

В середине августа 2008 года NVIDIA выпустила GeForce Power Pack, активирующий PhysX на платах серий GeForce 8xxx, GeForce 9xxx и GTX 2xx. Тем самым компания расширила пользовательскую базу до 80 миллионов человек во всем мире. Загрузить этот программный пакет может любой желающий, а находится он на странице www.nvidia.ru/theforcewithin.

В Power Pack входят: драйвера, бесплатная игра Warmonger — Operation: Downtown Destruction, демоверсия игры Metal Knight Zero, дополнительные уровни для Unreal Tournament 3, клиент проекта распределенных вычислений Folding@home, пробная версия видеокодера Elemental Technologies Badaboom, а также несколько демоприложений, показывающих возможности технологии PhysX. С нашими впечатлениями от игр и демок, входящих в состав Power Pack, вы можете ознакомиться в разделе, посвященном тестированию.

Пара слов о Badaboom. Просматривать видео любых форматов умеет только персональный компьютер. Остальным устройствам (консолям, плеерам, КПК и прочим) требуется перекодирование ролика в понятный им вид. Существует множество программ-кодировщиков, но все они используют ресурсы центрального процессора. Поэтому на преобразование стандартного полуторачасового фильма уходит порядочно времени. Badaboom — тоже кодировщик, но он задействует шейдерные процессоры видеокарт, благодаря чему процесс перегона форматов протекает как минимум вдвое быстрее (в зависимости от используемой видеокарты). Что самое приятное, при этом ЦП свободен для выполнения любых других задач. К примеру, при кодировании клипа из H.264 в MP4 процессор загружен всего на 6%.

У программы предельно простой интерфейс, в наличии много предустановок (для самых популярных устройств). Без минусов, правда, не обошлось: текущая версия Badaboom поддерживает ограниченное количество входных форматов. И, разумеется, владельцы видеокарт от AMD, а также интегрированных решений Intel использовать программу не смогут — Badaboom работает только с платами NVIDIA.

Игровое будущее

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

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

Один из вариантов применения метода трассировки лучей.

Еще повоюют?

Намерения NVIDIA тверды как никогда. Компания хочет, чтобы ее физическая платформа использовалась в как можно большем числе игр. Intel, в свою очередь, заявляет, что с ускорением физических эффектов прекрасно справятся многоядерные процессоры. На ее стороне — армия опытных программистов, которую компания получила после покупки компании Havok.

Сейчас Intel работает над архитектурой Larrabee. У первых графических чипов нового семейства будет свыше десяти ядер на одном кристалле. Разумеется, сфера применения таких процессоров не ограничивается одной лишь обработкой графики. Они будут использоваться для научных расчетов, моделирования природных процессов и, конечно же, ускорения физики в играх. Что немаловажно, программируется Larrabee теми же самыми командами, что и обычные процессоры архитектуры x86. Это сильно упростит написание приложений, совместимых с новыми графическими чипами Intel.

Компания AMD также не намерена сидеть в стороне. Уже сейчас ее процессоры и видеочипы оптимизируются под физический движок Havok. Как показывает практика, Havok очень хорошо дружит с процессорами AMD, особенно с четырехъядерными Phenom X4. К началу 2009 года компания планирует выпустить видеокарту, которая для ускорения вычислений будет использовать стандартные средства DirectX 11.

Практика

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

Допустим, вы счастливый обладатель платы GeForce 8-й, 9-й или 200-й серии. Как включить ускорение физики средствами видеокарты в играх? В каких приложениях можно оценить преимущество технологии NVIDIA PhysX? Действительно ли результаты столь впечатляющие, как обещала NVIDIA? Мы попробуем ответить на все эти вопросы.

Постановка задачи проста: доказать, что современные видеокарты NVIDIA справляются с обработкой физики лучше, чем последнее поколение процессоров, или опровергнуть это утверждение. Поэтому набор основных компонентов для тестового стенда был очевиден: взятый с пылу с жару ЦП Intel Core i7-920, пара мощных видеокарт ZOTAC GeForce GTX 280 AMP! Edition и другая парочка графических плат, но уже послабее — две ZOTAC GeForce 9800 GTX+. В остатке: материнская плата ASUS P6T Deluxe и 6 Гб оперативной памяти от OCZ. Испытания проводились в 64-битной версии Windows Vista Ultimate.

Набор тестовых приложений был следующим:

  • Unreal Tournament 3 с установленным PhysX-дополнением;
  • сетевой экшен с полностью разрушаемым окружением Warmonger — Operation: Downtown Destruction;
  • пре-альфа-версия игры Metal Knight Zero — многопользовательского сетевого шутера, в котором все окружение можно разрушить;
  • бенчмарк Nurien, основанный на технологиях одноименной социальной сетевой игры (разрабатывается).

Все они входят в состав GeForce Power Pack (в случае с Unreal Tournament 3 речь идет только о дополнении PhysX) и могут быть свободно скачаны с сайта компании.

Еще немного про PhysX

  • Поначалу NVIDIA планировала распространять инструментарий разработчика PhysX бесплатно. Но со временем компания изменила свое решение. Сейчас за доступ к SDK надо платить. Тем самым NVIDIA демонстрирует свою уверенность в светлом будущем PhysX.
  • О нестандартном применении ресурсов видеокарт. Владельцы современных плат NVIDIA могут принять участие в проекте распределенных вычислений Folding@home. Скачав и установив клиент, вы можете направить всю мощь своей графической платы на изучение процессов сворачивания и объединения белков в человеческом организме. Это поможет ученым найти лекарство от склероза, коровьего бешенства и других страшных болезней.
  • К 2012 году NVIDIA планирует оборудовать своими видеокартами три из пяти мощнейших суперкомпьютеров мира. Со временем технология CUDA позволит в сотни раз увеличить производительность таких систем и реализовать неведомые доселе возможности — например, распознавание запахов и зрительных образов.

Установка

Для начала следует обзавестись самыми свежими драйверами для видеокарты. На момент написания статьи была доступна версия GeForce 180.48, которая включала в себя драйвера PhysX 8.10.13. То есть нужно скачать всего один инсталляционный файл.

После установки драйверов надо открыть Панель управления NVIDIA (кликнуть правой кнопкой на рабочем столе и выбрать соответствующий пункт) и перейти на закладку с настройками PhysX. Здесь можно включить или выключить аппаратную обработку физики, а также, когда в системе установлено две (и более) видеокарты, выбрать режим их совместной работы. Если платы одинаковые, то доступно два режима: SLI, при котором обе видеокарты делят между собой как графическую, так и физическую нагрузку, и мульти-GPU, когда одна плата берет на себя всю графику, а вторая — всю физику. Если в системе установлены разные видеокарты (например, в первом разъеме PCIe x16 — GeForce 9800 GTX, во втором — GeForce 9600 GT), то разумно будет повесить обработку физики на слабейшую из них.

Одиночество первых

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

Чип был создан. Он состоял из 125 млн транзисторов и множества вычислительных ядер. Процессор умел выполнять до 20 млрд простых инструкций в секунду. Такой производительности достаточно для того, чтобы за единицу времени рассчитать 533 тыс. столкновений сложных объектов (представить реальную игровую ситуацию с таким количеством столкновений довольно сложно). Для обмена результатами вычислений с процессором и видеокартой использовался интерфейс PCI.

Спустя какое-то время вышла плата под названием PhysX. Она позволяла имитировать поведение твердых тел при столкновении, дым, движение ткани и взаимодействие с водой. К сожалению, платы PhysX мало кто покупал. Да и разработчики не особо хотели поддерживать детище Ageia. Адаптация игр под узкий круг владельцев соответствующего аппаратного обеспечения требовала больших финансовых затрат. Некоторые игры оптимизировались, но лишь поверхностно — разработчики боялись рисковать. Потенциал плат не раскрывался в полной мере, и это порождало замкнутый круг. Люди просто не видели преимуществ физической технологии Ageia.

Тестирование

Все тестовые забеги мы проводили в разрешении 1280×1024 при включенной 16-кратной анизотропной фильтрации, но без сглаживания. Столь низкое разрешение было выбрано не потому, что в нашем распоряжении не оказалось мониторов с большей диагональю. Дело в том, что в таком режиме объективнее всего отслеживается влияние центрального процессора на уровень fps в играх.

Давайте пройдемся по результатам наших испытаний.

Unreal Tournament 3

Оригинальный UT3 очень хорошо оптимизирован и не содержит каких-либо экстраординарных физических спецэффектов. Поэтому мы использовали PhysX-дополнение, которое включает в себя три новых уровня: Tornado, Lighthouse PhysX и Heat Ray PhysX. На первой карте хозяйничает гигантский смерч. Он свободно перемещается по уровню, снося все на своем пути и норовя догнать игроков. Вторая карта представляет собой один большой маяк, в котором можно раскурочить буквально каждую стену, лестницу и перекрытие. Ну а третий уровень — классическая карта Heat Ray c возможностью частичного разрушения и поддержкой еще нескольких физических эффектов.

Что же мы видим: тестирование только началось, а Core i7-920 уже посрамлен. Обе платы демонстрируют троекратное преимущество над процессором. Добавление второй видеокарты, которая занимается исключительно обработкой физики, приводит к увеличению производительности на 20-50% в зависимости от модели платы.

Warmonger — Operation: Downtown Destruction

Эта игра также базируется на движке Unreal Engine 3, но по числу физических «присадок» заметно опережает UT3. Разрушается здесь абсолютно все, а надежных укрытий не существует в принципе, так как любой камень, за которым вы решили спрятаться, может быть превращен в пыль после нескольких удачных залпов противника. Дым от оружия стелется по направлению ветра, а туман рассеивается от череды взрывов.

На этом этапе видеокарты NVIDIA лишь укрепили свои позиции — все то же троекратное преимущество. Процессор Intel начинает потихоньку сгорать от стыда. Интересно, что система с GeForce 9800 GTX+ после установки еще одной платы получает чуть ли не 100-процентный прирост, тогда как добавочная GeForce GTX 280 увеличивает fps лишь на 30%.

Metal Knight Zero

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

Комментарии к результатам излишни: разница между видеокартами и ЦП просто феноменальная. А вот добавление второй платы практически не влияет на показатели fps.

Nurien

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

Nurien — единственное приложение, в котором Core i7 смог хоть как-то реабилитироваться. Отставание ЦП всего лишь двукратное, а fps наконец-то превысил отметку в 25 кадров в секунду. Установка еще одной GeForce 9800 GTX+ дает прирост в 10%, а дополнительная GeForce GTX 280 практически никак не влияет на результат.

Таблица 1
Тестовый стенд
Материнская плата ASUS P6T Deluxe (Intel X58, Socket LGA1366, DDR3-1333, PCIe, PCI, SATA RAID, IDE, FDD, GbLAN, Sound, USB, FireWire, ATX)
Память 3x OCZ OCZ3P16002GK DDR3 2 Гб (1600 МГц, 7-7-7-24)
Видеокарты 2x ZOTAC GeForce GTX 280 AMP! Edition 1024 Гб (NVIDIA GeForce GTX 280, PCIe x16)
2x ZOTAC GeForce 9800 GTX+ 1024 Гб (NVIDIA GeForce 9800 GTX+, PCIe x16)
Жесткий диск Seagate Barracuda 7200.10 ST3400620AS 400 Гб (SATA, 16 Мб)
Оптический привод Nec DV-5800C (IDE)
Блок питания Antec TruePower Quattro (1000 Вт)
Драйвер для материнской платы Intel Chipset Software Installation Utility 9.1.1.1010
Драйвера видеокарты NVIDIA GeForce 180.48
Операционная система Windows Vista Ultimate 64-bit Edition, Service Pack 1
Таблица 2
Игровые тесты, PhysX силами видеокарт (разрешение 1280×1024), кадр/с
Видеокарта Unreal Tournament 3 (PhysX mod pack) Warmonger — Operation: Downtown Destruction Metal Knight Zero Nurien
GeForce 9800 GTX+ 30,1 45,4 61 53,3
GeForce GTX 280 50,3 70,2 64 64,8
2x GeForce 9800 GTX+ 46,8 83,5 62 66,3
2x GeForce GTX 280 54,5 86,4 63 67,4
PhysX силами центрального процессора
GeForce 9800 GTX+ 9,1 17,3 17 24,8
GeForce GTX 280 16,2 27 23 39