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

Что такое PhysX?

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

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

При этом в самой программе можно найти и специальную панель управления с графическими характеристиками установленного адаптера.

Основные направления в моделировании

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

Понятно же, что в игре добиться реалистичного поведения жидкости путем написания программного кода бывает достаточно трудно. Таким образом, в PhysX выделяют три основных направления, по которым и производится моделирование:

  • жидкости;
  • ткани;
  • твердые тела.

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

Установка NVIDIA PhysX для Windows

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

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

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

Можно ли использовать PhysX для других видеокарт?

В интернете некоторые пользователи и разработчики утверждают, что этот программный продукт можно использовать исключительно при работе с видеокартами NVIDIA. Это не так. Еще в 2008 году некто по имени Эран Рэдит на основе PhysX SDK смог запустить и оптимизировать аппаратную поддержку для графических ускорителей Radeon серии 3870, после чего ему было даже предложено вступить в команду разработчиков. По другой информации, несмотря на наличие открытого исходного кода и распространение этого ПО по лицензии GNU, вроде бы компания NVIDIA неоднократно заявляла, что поддержка GPU (графических процессоров) от ATI не входит в ее планы и поддержки иметь не будет. Но и тут нашлась лазейка. Дело в том, что многим разработчикам игр для реалистичного моделирования игровых процессов предлагается установить специальный пакет APEX PhysX, который позволяет дизайнерам и художникам выполнять необходимые действия по прорисовке объектов без явного участия программистов.

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

Что же касается сбоев при установке, чаще всего они почему-то проявляются при попытке инсталляции PhysX в Windows 7 (в основном появляются сбои с номерами 1714 и 1316), причем именно при повторной инсталляции. Доподлинно не известно, почему это происходит, но некоторые специалисты выяснили, что большей частью это связано с некорректной первичной или повторной установкой драйверов NVIDIA (или при замене видеокарт, но при наличии установленного пакета PhysX), для которых даже программы-оптимизаторы не всегда удаляют соответствующие записи в системном реестре. В этой ситуации придется удалять все библиотеки драйверов целиком и полностью вручную.

Иногда можно порекомендовать воспользоваться утилитой Driver Sweeper, выделить компонент PhysX (если переустановить не получается именно его), а затем выполнить его анализ. Все найденные объекты нужно удалить, затем почистить системный реестр (опять же самостоятельно, путем поиска по названию апплета - PhysX), после чего выполнить полную перезагрузку компьютера. И вот только после всех вышеописанных действий можно установить пакет PhysX заново. Кроме того, очень может быть, что и сама версия PhysX не соответствует операционной системе или модели графического чипа. На это тоже нужно обратить внимание.

Q : Слышал про ускорение физики средствами видеокарт. Хотелось бы узнать про это поподробнее. И какие видеокарты умеют ускорять физику?

A : Для начала немного истории. В 2006 году компания ATI первой заявила о возможности ускорения физики средствами видеокарт. Аппаратное ускорение физики должно было продвинуть физические эффекты на новый уровень.
Через нескольких месяцев даже была продемонстрирована такая возможность (прочитать можно в этой статье - ATI Physics. Часть вторая – тестируем своими руками ). В качестве физического движка использовался движок HavokFX, разработка компании Havok. На этой демонстрацией дело и закончилось. Про этот проект больше ничего не было слышно. А после покупки компании Havok корпорацией Intel и во все думали что Intel отменит этот проекта. Однако в конце 2008 года AMD заявила что продолжает сотрудничество с Intel в сфере аппаратной физики на видеокартах.

Тем временем NVIDIA, которая тоже говорила о возможности ускорения физики на своих видеокартах, сидела молча до определенного момента. В начале 2008 года NVIDIA заявила о покупке компании AGEIA, которая разработала собственный ускоритель физики PhysX и специальный физический движок PhysX. Дела у компании AGEIA шли не очень хорошо, игр с использованием их физического движка было не много, поэтому и физические ускорители продавались очень плохо. После своего приобретения NVIDIA сразу же принялась переводить API PhysX на свои видеокарты при помощи CUDA.

Итак на данный момент аппаратное ускорение физики средствами видеокарт поддерживают только с игры физическим движком PhysX*и только на видеокартах NVIDIA GeForce 8-й, 9-й, 200-й и 400-й сериях.
Видеокарты AMD Radeon пока не умеют ускорять физику.

Q : Что такое PhysX?
A : PhysX это физический движок с возможностью аппаратного ускорения. Для того что лучше понять, PhysX можно разделить на две части: CPU PhysX и GPU PhysX.

CPU PhysX это многоплатформенный физический движок в котором работает только процессор. Т.е. никакие ускорители физики (Ageia PhysX) или видеокарты тут ничего не дают. Этот физический движок существует практически под все современные игровые платформы: PC, PlayStation 3, XBox 360, Wii.

GPU PhysX это расширенные возможности физического движка в котором для расчета эффектов может использоваться видеокарта с поддержкой CUDA, т.е. NVIDIA GeForce.

В большинстве игр где есть физический движок PhysX используется только CPU PhysX. Всего таких игр насчитывается более 200.
Игр где есть GPU PhysX значительно меньше, немногим более 20. Причем большая часть из них третье сортный трэш. Качественных игр с GPU PhysX можно посчитать по пальцам: Unreal Tournament 3 (со спец дополнением), Mirror"s Edge, Batman: Arkham Asylum, Анабиоз: Сон Разума (Cryostasis: Sleep of Reason) и Metro 2033.

Q : Могу я использовать видеокарты ATI Radeon для GPU PhysX?
A : Нет. Т.к. ATI Radeon не поддерживают CUDA. Возможно позже если NVIDIA перенесет PhysX под OpenCL или DirectCompute, тогда и на ATI Radeon будет возможность работать с GPU PhysX.

Q : Можно в паре с ATI Radeon использовать видеокарты GeForce для ускорения GPU PhysX?
A : Да. Но если без модификаций, то только с драйверами ForceWare 257.15 Beta. Если с модификациями, то читаем тему - Ускоритель физики + ATI Radeon, возможно ли? .

Q : Какую видеокарту выбрать для отдельного ускорения GPU PhysX?
A : На данный момент больше чем GeForce GT240 нет смысла брать.

Список игр где используется PhysX SDK
Хороший сайт по PhysX - PhysXInfo.com - Projects using PhysX SDK
Информация на сайте nVIDIA - PhysX

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

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

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

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

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

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

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

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

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

В середине августа 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 тверды как никогда. Компания хочет, чтобы ее физическая платформа использовалась в как можно большем числе игр. 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) и могут быть свободно скачаны с сайта компании.

Установка

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

Тестовый стенд
Материнская плата 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

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

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

Все тестовые забеги мы проводили в разрешении 1280x1024 при включенной 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 особо нечего. Бегаем, стреляем, наблюдаем, как объекты разлетаются на мелкие кусочки в соответствии с законами физики. Плюс к тому, здесь в полной мере реализована симуляция ткани: флаги и прочие тряпки развеваются на ветру и рвутся точно так же, как и в реальной жизни.

Много воды утекло с тех пор, как компания Ageia, основанная в 2002 году в Санта-Кларе, впервые заговорила о важности интеграции физических вычислений в игровые приложения. По мнению Ageia, это позволило бы добиться на порядок более реалистичного и качественного игрового процесса. Первоначальная концепция компании предполагала наличие специальной (Physics Processing Unit, Модуль Обработки Физики) для аппаратного ускорения физики, однако со временем от этой задумки не осталось и следа ввиду ее неэффективности и экономической нецелесообразности. Но вопреки неудаче с , сама идея ускорения физики была подхвачена индустрией и сегодня получила серьезное развитие. Мы попробуем разобраться, что же дает игровая физика, как ее можно использовать, и стоит ли вообще игра свеч.

Легко представить ситуацию масштабного взрыва в игре. К сожалению, в большинстве случаев визуализация такого, казалось бы, естественного и часто используемого эффекта оставляет желать лучшего – вместо сотен частиц, недавно бывших частью целостного объекта, мы наблюдаем какую-нибудь текстуру не самого высокого разрешения, достаточно посредственно имитирующую происходящее. Можно привести и куда более миролюбивые примеры – игры с действительно правдоподобной, а не просто красивой водой можно пересчитать по пальцам. Как было бы здорово понаблюдать за водопадом, подчиняющимся законам Ньютона, а не желаниям разработчиков! Или же посмотреть на развевающуюся подвижную одежду на персонажах вместо статичной, как будто прилипшей к моделям... Все это, по задумке Ageia, и должно было стать сегодняшней реальностью.

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

В конце концов, Ageia осознала, что затея близка к провалу, конкуренты вроде Havok, не требующие отдельного оборудования, наступают и сначала свернула производство , а затем и сконцентрировалась на PhysX API, как чисто программном физическом движке для обычных центральных процессоров. Хотелось бы на этом месте написать стандартную для сказок хэппи-энд концовку в стиле «… и стало у Ageia с тех пор все замечательно, и индустриальным стандартом был признан PhysX API», но не тут-то было. Идеей ускорения физики достаточно давно интересовалась NVIDIA, а в свете продвижения своей вычислительной платформы CUDA, у «зеленой» корпорации появился отличный повод вместо начала разработки своей технологии «с нуля» с потрохами купить компанию, а API портировать на CUDA для использования своими видеокартами. В конце прошлого года так и произошло – за 30 миллионов долларов Ageia была перекуплена калифорнийскими соседями и перестала существовать как отдельная организация, а основной штат занялся переносом API на видеокарты NVIDIA. С этого момента для нас и начинается самое интересное. Ведь несмотря на то, что фактически затея самой Ageia не удалась, получаемые результаты в тех немногочисленных играх, где была реализована поддержка технологии, были впечатляющими. И теперь, с релизом последней на данный момент версии драйверов ForceWare за номером 177.83 от 12 августа, любой пользователь видеокарт GeForce с поддержкой CUDA (т.е. восьмой серии и выше) может воспользоваться преимуществами ускорения физики PhysX без установки отдельной платы, как это было ранее.

По статистике NVIDIA, технологией PhysX смогут воспользоваться более 70 миллионов обладателей GeForce по всему миру. Именно этой реинкарнации PhysX и посвящена сегодняшняя статья.

Кстати, данные о статистике приведены неспроста. Помните, в начале статьи мы говорили о том, что любая технология, пусть даже самая совершенная и отработанная, может получить распространение только при реально большом количестве возможных пользователей. Именно с этим Ageia просчиталась, продавая задорого свои карты PhysX – они оказались просто никому не нужны. Теперь же NVIDIA делает ставку на более чем 70 миллионов GPU, которые потенциально могут стать заодно и ускорителями физики (а надеяться на это действительно стоит, F@h для GeForce прекрасно себя оправдывает, побивая все рекорды производительности). Для того, чтобы продемонстрировать на что способна новая технология, NVIDIA вместе с новыми драйверами представила набор PhysX Pack, в который входят несколько технических демонстраций, патчи для существующих полноценных игр и даже отдельные мини-игры.

Сегодня мы рассмотрим реализацию PhysX от NVIDIA, расскажем, как задействовать новые возможности графических ускорителей. Заранее скажем, что полный спектр возможностей доступен только при наличии нескольких GPU семейства GeForce в системе, однако и для одиночных карт припасено немало интересного. Приступим же!

Согласно словарному определению, физика – наука, изучающая материю, энергию, движение и силы. Русский язык не передает этой тонкости, однако, название технологии PhysX было выбрано неспроста – торговая марка созвучна с английским словом physics, как раз и обозначающим науку, столь нелюбимую многими в детстве. Возникает логичный вопрос – а как же все это связано с реальными играми? Игровая физика – все то, как двигаются и взаимодействуют объекты. В привычном понимании вещей всю работу по просчету этих взаимодействий выполняет центральный процессор (у которого вполне себе ограниченная производительность, которой должно хватить на огромное количество ежесекундных расчетов кроме игровой физики). Несмотря на то, что в подходе NVIDIA эта обязанность переложена на графический процессор, не следует думать, что GeForce PhysX рендерит графику. Пусть отныне и задействован GPU, используется он именно в расчетах, а графика остается графикой. То есть, как и ранее, PhysX отвечает за сложные движения объектов, элементарных частиц, флюидов и т.д. с поправкой на реалистичную гравитацию, ветер, густоту среды, плотность веществ и так далее, а уже после этих расчетов происходит обычный графический рендеринг.

Из-за того, что ранее физику приходилось рассчитывать средствами CPU, уже и так серьезно загруженного работой (один только искусственный интеллект в современных играх чего стоит), приходилось упрощать сложные расчеты, прибегать к округлениям и условностям, вследствие чего падала реалистичность. Более того, не существовало стандартного унифицированного подхода к созданию игровой физики – Ageia конечно продвигала свой PhysX API, да и Havok различных версий использовался во многих играх, но в любом проекте происходили доработки «под себя». Конечно, это высвобождает процессорные ресурсы и одновременно еще сильнее нагружает графическую систему, однако раз NVIDIA считает возможным сохранить баланс между расчетами физики и графики силами графических плат, значит, для этого действительно есть основания.

Теперь, благодаря наличию унифицированной аппаратной базы огромной мощности (вспомните математические возможности GT200) и единому средству разработки от NVIDIA, у разработчиков появилась возможность не задумываться о выборе физического движка и моделировать физику более качественно. Вот некоторые из заявленных возможностей GeForce PhysX:

  • Реалистичные взрывы, поднимающие клубы пыли, и сопутствующие разрушения с обломками и осколками
  • Моделирование персонажей с куда более сложной, нежели существующая сейчас, анимацией и более «живым» поведением
  • Возможность создания впечатляющих видов оружия с невероятными эффектами
  • Реалистичное моделирование ткани, собирающейся в складки или рвущейся «по-настоящему»
  • Плотный дым и туман, обволакивающий движущиеся объекты

Все это теперь может быть рассчитано на видеокартах, причем по заявлениям NVIDIA намного быстрее, чем на CPU (а верить этим заявлениям стоит, вспомните производительность видеоконвертеров, оптимизированных для унифицированной шейдерный архитектуры GeForce). В качестве примера, где кое-что из заявленного уже сейчас реально работает, можно привести Tom Clancy’s Ghost Recon Advanced Warfighter 2. В игре упор сделан на реализм, разработчики сознательно уделили огромное внимание проработке физики, так как без этого GRAW 2 потерял бы существенную долю своей привлекательности. Например, хорошо видно, как на скриншоте при взрыве граната разрывает ящик на частицы, которые бы не были отрисованы и просчитаны без PhysX, причем даже производительности современного двухядерного CPU было бы недостаточно.

Многие некомпетентные источники в Сети размещают обзоры NVIDIA PhysX, в которых говорят, что ускорение физики улучшит фреймрейт и плавность игры. К сожалению, авторы таких заявлений неправы – PhysX никогда не был предназначен для того, что бы заставить игры «бегать» быстрее. Конечно, при некоторых исключениях такая возможность присутствует, однако в нормальной ситуации использование продвинутой физики от бывшей Ageia наоборот приводит к падению производительности. Это вполне логично, неважно, о чем мы говорим – об отдельной плате, или же об ускорении физики силами GPU – физический движок рассчитывает лишь взаимодействие объектов, а сами объекты, коих при взрыве может стать в сотни раз больше, должны быть отрисованы видеокартой.

Иными словами, получается две ситуации:

  • Если вычисления PhysX производятся с помощью GPU в сильно процессорозависимой игре, и это разгружает процессор, то FPS может вырасти (вопрос только в том, что такие игры можно пересчитать по пальцам одной руки, а с учетом того, что обычно в паре с мощной видеокартой в системе установлен далеко не бюджетный процессор...);
  • Если же игра более требовательна к графической подсистеме, получается, что и без того ограниченные ресурсы GPU расходуются на физические расчеты, а потом видеокарте приходится рисовать еще и более сложные кадры – налицо все условия для падения количества FPS.

Еще раз повторимся – работа, которую проделывает ускоритель физики, ускоряет именно физику. Если выстрелить во взрывоопасную бочку, PhysX рассчитает только поведение частиц, а вот видеокарте придется рендерить фрейм со всеми этими частицами с увеличившимся количеством текстур, шейдеров и повысившимися требованиями к скорости заполнения сцены.

Это самая весомая причина, по которой предложенное NVIDIA решение не очень рационально. Да, использование PhysX серьезно улучшает реалистичность картинки, однако это может приводить к значительным провалам производительности, так что стоит всякий раз подумать, стоит ли жертвовать FPS во имя физики. Однако, как мы уже говорили в начале статьи, NVIDIA позаботилась о балансе и предложила отличное решение этой непростой проблемы.

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

  • Стандартный вариант, использование одного GPU для одновременной обработки и графики, и физики (как нам уже ясно – далеко не оптимальный вариант, необходим слишком мощный GPU);
  • Режим SLI – на установленные в SLI видеокарты подается распределенная нагрузка из рендеринга и задач PhysX;
  • Режим Multi-GPU – также требует пары видеокарт в системе, однако четко разделяет обязанности так, что одна карта занимается только графикой, а вторая – только физикой.

На наш взгляд наиболее интересным выглядит несимметричный во всех отношениях третий вариант. Еще давным-давно схожий режим первой обещала ATI для своих Crossfire связок, однако, на данный момент он все еще не реализован. Согласитесь, отличным способом задействовать старый видеоадаптер может стать его превращение в аналог PhysX карты, при этом графическая производительность основной видеокарты не пострадает (имеется в виду от расчета физики). Вполне реальна ситуация, когда пользователь меняет какой-нибудь или на новенький . В таком случае старую карту можно не продавать за бесценок, а разумно использовать – PhysX не требует сверхпроизводительных карт вроде , хотя и их использовать, конечно, можно. Кстати, еще одним примечательным моментом данного режима является отсутствие привязки к nForce платформе. Если для организации SLI необходим чипсет семейства nForce, установленный на материнской плате, то для установки PhysX-видеокарты в дополнение к основной требуется лишь второй слот PCI-Express Graphics, а сейчас большинство современных плат обладают парой таких слотов.

Не стоит забывать и о том, что если вы выберете путь добавления дополнительных графических карт для активации Multi-GPU, или даже SLI конфигурации, естественным следствием помимо положительных эффектов для физики или графики станет и рост энергопотребления системы. Использование пары мощных видеокарт даже в режиме покоя может поднять требования системы до 200 Вт, чего уж говорить о работе под 100%-нагрузкой. Так что, если вы не уверены в мощности своего блока питания, стоит в первую очередь озаботиться этой проблемой, чтобы вместо прелестей PhysX не получить нестабильную систему.

В наших тестах мы использовали материнскую плату на базе , и пару видеокарт – мощную для графики и для физики. Наши замеры показали, что в пике нагрузке при использовании таких комплектующих потребление системного блока может составить внушительные 432 Вт. Ясно, что если использовать более производительную, чем , карту, потребление только лишь увеличится.

Отдельной проблемой Multi-GPU, которая на данный момент не решена, является необходимость подключения монитора (или ТВ, любого схожего устройства) к дополнительной видеокарте, занимающейся обработкой PhysX. Согласно данным NVIDIA, это недостаток Windows Vista, возможно в скором времени последует исправление этой ошибки, и можно будет ограничиться подключением основного монитора к видеокарте. При ускорении PhysX средствами одиночной видеокарты, или пары GPU в SLI режиме, схожих проблем нет.

После сборки системы мы загрузили операционную систему, установили последние драйверы ForceWare 177.83, а затем софт PhysX версии 8.07.18, после чего компьютер был перезагружен.

На наш взгляд было бы логичным размещение настроек PhysX в общей ForceWare Control Panel, однако соответствующий значок появляется в обычной Панели Управления Windows.

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

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

А теперь давайте рассмотрим, что приготовила нам NVIDIA в составе PhysX Software Pack, приуроченного к релизу драйверов, поддерживающих PhysX на GPU.

К сожалению, времени на тестирование было немного, но пропустить эту игры было бы просто преступлением. В Software Pack входит кумулятивный патч для игры до версии 1.5, который привносит поддержку GeForce PhysX в GRAW2. Побочным, особо приятным эффектом является удаление всех сохраненных игр. Красота, как говорится, требует жертв, так что пришлось проходить Ghost Recon с самого начала до уровней, на которых мы обычно проводим тесты. Правда, позитивный момент оказался в том, что представилась возможность посмотреть на игру под новым углом и проверить все заявления NVIDIA о возможностях PhysX на деле.

В настройках игры после установки драйверов и описанной выше процедуры настройки появился пункт PhysX Quality Settings, мы установили его значение на Extreme для того чтобы посмотреть все, на что способен PhysX в GRAW2.


Первое, что бросилось в глаза – намного более подвижные от ветра деревья и огромное количество присутствующих на картах частиц, движущихся также с учетом направления ветра. Присутствуют и обещанные реалистичные облака пыли, возможно, даже смоделированные на основе мягких частиц. Создаваемая игрой атмосфера стала заметно глубже, несмотря даже на то, что количество FPS немного упало, относительно игры без PhysX. Благодаря дополнительным деталям погружение в игровой процесс действительно впечатляет, наголову превосходя GRAW2 с обычной физикой.


По результатам тестов очевидно, что, как мы и предполагали, лучшим выбором стала связка для графики и выделенная для физики. С другой стороны, по современным меркам Ghost Recon 2 не очень требовательная игра, и в нашем случае даже в разрешении 2560 x 1600 одиночная отлично справлялось и с расчетами физики, и с рендерингом, держа планку FPS на высоком уровне. Конечно, с более GPU-зависимыми играми так поиграть уже не получится, но полученные данные только еще раз подчеркивают математическую мощь GT200.

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


Демонстрация вышла очень убедительная. Уже с первых минут обучения игра показывает все, на что способен PhysX – везде тучи мелких частиц, реалистично двигающаяся ткань, постоянно меняющая свое положение от внешних воздействий. Конечно, на полноценную игру Warmonger не тянет, так как был создан специально по заказу NVIDIA и является фактически расширенным техно-демо, однако реализация физики находится на первоклассном уровне. К сожалению, скриншоты не могут передать реальной анимации и в статике не выглядят впечатляюще, однако поверьте на слово, если у вас нет возможности посмотреть PhysX в действии самим – в динамике ощущения потрясающи. В Warmonger можно также оставить включенными эффекты физики отключив GeForce PhysX, однако это значит переложить аппаратное ускорение с плеч GPU на CPU, что даст в итоге абсолютно удручающую картину производительности. Только посмотрите на графики! Они красноречиво доказывают превосходство GPU над CPU в физических расчетах. Графические платы в действительности намного более эффективно справляются с поставленной задачей.

Общие слова, сказанные о Warmonger, действительны и в отношении Metal Knight Zero. Игра входит в состав PhysX Software Pack, является бесплатной, и, хотя NVIDIA и присваивает MKZ статус полноценной игры, она таковой не является. Это еще одна техническая демонстрация, только акцент здесь скорее сделан уже на взрывах. Они проработаны действительно потрясающе – газовые баллоны взрываются феерично, оставляя за собой сотни частиц и огромные клубы дума. От одного такого взрыва могут остаться более 2000 микрочастиц. Очень впечатляет. В игре встроен бенчмарк, запустив его, мы получили такие результаты:

Многие, посмотрев на скриншоты, предположат, что Nurien – еще один способ увидеть красиво нарисованных девушек. Конечно же, девелоперы это отрицают. Разработчики обещают, что техно-демо выльется в глобальную социальную игру вроде Second Life, где особое внимание будет уделено одежде персонажей (ну и, конечно же, тому, как все это отлично обрабатывается PhysX’ом). Уже сейчас визуальная составляющая выглядит отлично, можно также создавать свой образ. Игра основана на движке Unreal Engine 3, что объясняет простую адаптацию к PhysX (UE3 изначально поддерживал данную технологию). Выглядит демонстрация отменно, видно, что Ньютоновская физика здесь везде, от развевающихся волос до складок платьев и клубов цветного дыма на заднем плане.



Кстати об UE3. В пак PhysX будут также входить три специальные карты и патч для оптимизации UT3 под физику от NVIDIA. Это совершенно отдельная история, выходящая за рамки статьи, однако если у вас есть Unreal Tournament третьей редакции, посмотреть обязательно стоит.

Ну, в этот раз хотя бы слово Demo вынесли прямо в название очередной программы из вышедшего набора NVIDIA. Движок здесь – все тот же UE3, Demo является совместной разработкой программистов NVIDIA и Ageia. Сам Kulu – некое большое слизистое существо инопланетной внешности. Сначала существо обездвижено и находится в защитном поле. Своими действиями мы это поле отключаем, и существо начинает охоту за игроком. Конец демонстрации особо примечателен, но описывать мы его не будем, чтобы не испортить, например, аппетит, читающим статью. Как и полагается, PhysX везде и повсюду, в очередной раз NVIDIA доказывает, что раньше наша игровая жизнь без этой технологии была никчемна. В целом The Great Kulu просто демонстрирует, каких возможностей визуализации физических эффектов можно ожидать от грядущих игр.


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


Несмотря на то, что Fluids выполнена не в виде игры, именно тут у NVIDIA получилось лучше всего показать возможности PhysX. Обязательно посмотрите демонстрацию, если не на настоящей карте, то хотя бы на YouTube.

Если говорить кратко, сегодняшнее тестирование нас впечатлило. Благодаря стараниям NVIDIA доступно несколько вариантов аппаратной реализации PhysX , в частности подробно рассмотренный нами режим Multi-GPU. Если ваша графическая карта не в состоянии справляться с одновременной обработкой и графики, и физики, достаточно просто добавить дешевую карту вроде , чтобы устранить досадное недоразумение. Если же вы обладатель мощной платы последнего поколения, вроде , достаточно будет возможностей и одного этого GPU, чтобы без проблем играть со включенным PhysX.

Протестированный сегодня вариант комбинации и дополнительной показал себя с лучшей стороны. Ни в одном приложении карты не разочаровали, причем производительность такой пары была бескомпромиссна во всех режимах. Эти карты могут стать прекрасным выбором для построения high-end системы с ориентацией на PhysX с нуля.

На самом деле горизонты возможностей раздвинуть можно еще шире. Например, уже сейчас в продаже доступны материнские платы на базе GeForce 8200 с графическим ядром, также поддерживающим обработку PhysX. Достаточно добавить внешнюю видеокарту и подключить встроенную графику для обработки PhysX, чтобы из бюджетного ПК сделать мощную игровую машину.

Как мы уже отмечали, крайне положительным моментом в новой реализации PhysX является уже существующая огромная база карт, поддерживающих CUDA, и, соответственно PhysX. Причем самое интересное в том, что буквально на днях появились новости об энтузиастах, портировавших драйверы NVIDIA PhysX на видеокарты ATI! Более того, сделано это было не без поддержки программистов NVIDIA, которые, очевидно, заинтересованы в максимально широком распространении технологии. В любом случае, даже если такие эксперименты останутся просто не очень удачными попытками, ничто не мешает объединить в одной системе видеокарту Radeon для рендеринга графика и GeForce – для физики. AMD пока не поддерживает никаких обособленных технологий, делая ставку на DirectX 11, Intel же уже давно купила Havok, так что в скором времени, похоже, нас ждет противостояние не только концепций рендеринга графики, но и обработки физики.

К сожалению, несмотря на законченность представленного NVIDIA решения, корпорации все равно необходимо заручаться поддержкой производителей, организовывая что-то вроде физического аналога программы The Way It’s Meant To Be Played. Основной недостаток, приведший AGEIA к неудаче – слабая поддержка со стороны игростроителей – все так же не устранен. Игр с поддержкой PhysX, пусть и в удачном исполнении на GeForce, просто мало. Упомянутый DX11, который, между прочим, выходит уже через 18 месяцев, будет поддерживать новый тип микропрограмм, Compute Shaders, и очевидно, что универсальный API будет предпочтительнее для разработчиков. При этом, в общем и целом развитие физического ускорения уже дошло до такого уровня, что игнорировать это девелоперам нельзя, и, очевидно, что в новых играх на физику будет обращаться особое внимание.

А что же с процессорными расчетами? Похоже, что физика, ускоряемая CPU, доживает последние дни. Есть задачи, решаемые на классической архитектуре x86 быстрее, другие же эффективнее работают на унифицированных шейдерных архитектурах, вроде Graphics Tesla от NVIDIA. Ускорение физики явно относится ко второй группе, что однозначно показало сегодняшнее тестирование. Даже не очень быстрая по современным меркам в состоянии обеспечить необходимую производительность для расчетов PhysX любой сложности. В это же время Core 2 Duo не справляется, опуская планку FPS ниже допустимого уровня.

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

В заключении хочется еще раз поблагодарить NVIDIA за проделанную работу. Ведь мало того, что PhysX позволяет добиться действительно качественного моделирования физики, корпорация открывает доступ к новому поколению физических эффектов еще и бесплатно! Раньше карта PhysX продавалась за 249 долларов, а сейчас достаточно иметь многофункциональный GPU с поддержкой CUDA и установленные драйверы, чтобы получить схожие результаты. PhysX – действительно интересная технология, превосходно реализованная. Попробовав единожды поиграть с PhysX, хочется видеть эффекты такого же высокого уровня и в остальных играх. Пожалуй, наиболее ожидаемые игры с реализацией физики от NVIDIA – Empire: Total War и Mirror"s Edge. А сейчас действительно стоит посмотреть технологию в действии, например, в GRAW2 с установленном патчем версии 1.5. Или же в Unreal Tournament 3 с PhysX модом. Если вы обладаете видеокартой с поддержкой CUDA, т.е. GeForce 8 и выше, просто скачайте пак, предлагаемый NVIDIA, и вы не останетесь разочарованы.

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

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

На сегодняшний день в мире существует несколько популярных физических движков: Hawok, Newton Game Dynamics, Bullet Physics Library и другие. Более всего нас интересует NVIDIA PhysX – он действительно «самый-самый». Почему? Сейчас узнаем!

Разработкой движка PhysX (в переводе с англ. «физика») начала заниматься компания Ageia. Со временем компанию поглотил гигант игрового мира NVIDIA, в результате чего движок был переименован в NVIDIA PhysX . В настоящий момент несколько сотен игр можно ускорить за счёт физического движка от NVIDIA.

Главная заслуга движка – ускорение графических адаптеров и, следовательно, улучшение картинки и появление дополнительных эффектов. Запустив PhysX, вы сразу почувствуете разницу! Преследуя какого-либо монстра или пришельца, в тёмном подземелье из труб польётся вода, на мокром бетоне появятся куски бумаги, ветер закружит листья, а в ночное время вы сможете увидеть дым или туман. Без PhysX эти эффекты скудны или вообще невозможны. Преимущества на лицо – такой игровой процесс только на руку заядлым геймерам!

К сожалению, данную технологию способны поддерживать только видеокарты NVIDIA. Но существует ещё одна причина, по которой многие пользователи отказываются от движка PhysX. Она, как ни странно, заключается в его преимуществах. Дело в том, что физический ускоритель на самом деле никакой не «ускоритель». Появление новых эффектов (да, они красивы, не спорю!) зачастую требует дополнительных ресурсов компьютера. Быстродействие видеокарты падает, и игра попросту глючит. С другой стороны, никакая технология, никакой суперский процессор или видеокарта не смогут обеспечить вам весь реализм картинки: комья грязи, разлетающиеся при взрыве снаряда, противная паутина и треск кафельной плитки.

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