09 декабря 2008
Обновлено 17.05.2023

Обзор технологии NVIDIA PhysX

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

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

Игровые тесты, PhysX силами видеокарт (разрешение 1280x1024), кадр/с
Видеокарта 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

Nurien

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

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

Процессор — не главное

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

В будущем графический чип может легко стать центральным компонентом компьютера. Апгрейд видеокарты обеспечит заметный прирост быстродействия, а на откуп процессору останется ряд базовых задач, в которых не требуется сложных многопоточных вычислений. Правда, компании-производители ЦП вряд ли смирятся с таким положением вещей. Так что нас с вами ждет очередной виток борьбы за выживание. Может быть, недалек тот день, когда процессор перестанет быть центральным?

Комментарии
Чтобы оставить комментарий,Войдите или Зарегистрируйтесь