Что такое нвидиа physx. Что такое PhysX – как разрешить проблемы с движком? Игровые тесты: Street Fighter IV
Общеизвестно, что история аппаратно-ускоренных физических эффектов в игровых приложениях на ПК началась с небольшой компании Ageia и их физического движка PhysX. Мы уже писали о несколько лет назад. Тогда ещё игр с поддержкой PhysX было очень мало, и смысла в покупке отдельной карты расширения для игровой физики было совсем немного, прямо скажем.
Но с тех пор прошло немало времени, и Ageia была куплена компанией Nvidia. Которая, естественно, приспособила PhysX для исполнения соответствующих эффектов на своих графических процессорах. С тех пор ускорение аппаратных физических эффектов стало конкурентным преимуществом Nvidia, по отношению к решениям AMD их единственному значимому конкуренту на рынке выделенных видеокарт для настольных ПК.
На данный момент вышло более десятка игр, где применяется ускорение PhysX и в которых наблюдается явный эффект от аппаратно-ускоренных физических расчётов на GPU. К сожалению, список игр всё равно недостаточно большой, и не все из этих приложений стали популярными у игроков. Это, пожалуй, единственный серьёзный недостаток нынешнего положения PhysX.
Но всё же постепенно это положение меняется к лучшему, и сегодня мы рассмотрим несколько игр, в которые PhysX эффекты привносят свежие впечатления, добавляя разнообразия и оживляя игровой мир. Можно по-разному относиться к физике PhysX, которая вроде бы не обязательна в вышедших играх. Но трудно возразить мнению, что она явно обогащает и украшает изображение и игровой процесс, и с PhysX эффектами любая игра выглядит лучше, чем без них. Конфигурация и настройки тестовой системы
Использовалась следующая программно-аппаратная конфигурация:
- Процессор: AMD Phenom II X4 940
- Системная плата: Asus M3A78-T
- Оперативная память: 4GB DDR2 SDRAM (2*2GB OCZ2N1000SR4GK)
- Видеокарты: Nvidia Geforce GTX 285 и Geforce 9800 GTX
- Жесткий диск: Seagate Barracuda 7200.10 320GB SATA
- Операционная система: Microsoft Windows Vista Home Premium SP2
В качестве центрального процессора системы мы традиционно использовали достаточно мощный четырёхъядерный CPU семейства AMD Phenom II. Его мощности вполне хватает, чтобы не ограничивать производительность видеоподсистемы в большинстве случаев. Хотя это всё же не топовый CPU на данный момент, так что более дорогие процессоры могут показать большую производительность в протестированных играх.
Для тестов физики были взяты две видеокарты Nvidia, обладающие поддержкой аппаратного ускорения PhysX: Geforce GTX 285 и Geforce 9800 GTX. Первая из них пока что является наиболее производительным одночиповым решением компании, а вторая будет служить как выделенный физический акселератор, что уже часто встречается в системных рекомендациях к играм с активным использованием PhysX.
В материале мы сравним производительность физических вычислений на CPU (такой результат в выбранных приложениях будет соответствовать всем системам без аппаратной поддержки PhysX, включая системы с видеокартами компании AMD), с одиночной Geforce GTX 285, когда физика выполняется совместно с графическими вычислениями на одном GPU, ну и наиболее мощной является сдвоенная конфигурация, где рендерингом занимается Geforce GTX 285, а физикой Geforce 9800 GTX. Последний режим будет весьма интересен и для тех, кто хочет модернизировать свою видеоподсистему, оставив старую видеокарту для PhysX вычислений.
Настройки видеодрайверов использовались устанавливаемые по умолчанию. Игровые приложения запускались в двух тестовых разрешениях: 1280x720 и 1920х1080 (также известные как 720p и 1080p) это стандартные HD режимы для распространенных ЖК-мониторов и телевизоров, или максимально приближенные к ним, при отсутствии поддержки данных разрешений в тестовом приложении.
Тесты проводились в двух режимах: в обычном режиме и с использованием полноэкранного сглаживания методом MSAA 4x из игровых настроек, если таковые поддерживаются самим приложением. Остальные игровые настройки приложений были выставлены на максимально возможный уровень. Результаты тестирования
Batman: Arkham Asylum
- Издатель: Eidos Interactive/Новый Диск
- Разработчик: Rocksteady Studios
- Жанр: action-stealth-adventure от третьего лица
- Время выхода: сентябрь 2009
- Средний рейтинг игровых изданий: 92%
Пожалуй, «Batman: Arkham Asylum» это одна из лучших популярных игр с поддержкой PhysX. Как понятно из названия, игра основана на одноимённом кинофильме о человеке-летучей мыши из комиксов. Действие игры происходит в психиатрической клинике «Arkham Asylum» в городе Готэм-сити. Бэтмен прибыл туда для того, чтобы сдать в эту клинику Джокера, но заключенные приготовились к этому и устроили Бэтмену ловушку.
Игра, собственно, и заключается в том, чтобы помочь главному герою побить толпу разнообразных злодеев, не дав им осуществить свой коварный план. Так что это боевик от третьего лица с элементами stealth, в котором чаще всего придётся сражаться со злодеями в рукопашных схватках.
С технической стороны игра довольно полно использует возможности движка Unreal Engine 3 и выглядит весьма неплохо. Для физических эффектов применяются высокоуровневые модули APEX, которые упрощают внедрение PhysX в игровые проекты. Среди физических эффектов в «Batman: Arkham Asylum» отметим имитацию тканей и других подобных материалов (флаги, плащ Бэтмена, разбросанные листы бумаги), физически корректное поведение частиц в эффектах объёмного дыма и тумана.
В игре есть настройки PhysX: Off, Normal и High. Для последнего режима рекомендуется отдельный акселератор уровня Geforce 9800 GTX. В режиме Off дополнительные физические эффекты отсутствуют (но их часть остаётся, например, плащ Бэтмена), а Normal и High отличаются количеством и сложностью эффектов. Все эти настройки работоспособны и на CPU, но со значительным снижением производительности.
Понятно, что указанные эффекты не влияют на игровой процесс напрямую, но они явно улучшают визуальный ряд и придают игровому миру немного более живой вид. Эффекты смотрятся неплохо, работают и на CPU, но в этом случае частота кадров заметно снижается. Давайте проверим, насколько сильно, на примере режима «High»:
Итак, приступим к анализу производительности в разных условиях и настройках. Во-первых, отметим, что производительность не зависит от выбранного разрешения и наличия сглаживания, за исключением конфигурации с одиночной Geforce GTX 285. Это означает, что общая производительность в «лёгких» режимах ограничена именно исполнением эффектов PhysX.
Первым делом сравниваем показатели CPU и GPU. Разница в различных разрешениях остаётся почти одинаковой, и с физикой на CPU в данном режиме будет играть практически невозможно частота кадров заметно ниже минимально допустимых 30 FPS. Даже с аппаратной физикой минимальный FPS близок к этой отметке, но CPU вообще не тянет все эффекты в Batman.
Наиболее комфортную производительность обеспечивают две видеокарты Nvidia в связке. Только в этом случае даже в разрешении 1920х1080 и включенном 4x MSAA сглаживании, частота кадров в секунду остаётся полностью комфортной для игры. Одиночная GTX 285 отстаёт не слишком сильно в лёгких режимах, но в тяжёлых начинает уступать уже более серьёзно. Так что рекомендацию отдельного PhysX ускорителя для максимальных настроек в этой игре можно считать абсолютно правомерной.
Cryostasis: Sleep of Reason (Анабиоз: Сон разума)
- Издатель: 1C/505 Games
- Разработчик: Action Forms
- Жанр: action-adventure от первого лица
- Платформы: PC
- Время выхода: декабрь 2008
- Технические данные: собственный 3D движок, большое количество PhysX эффектов
- Средний рейтинг игровых изданий: 69%
«Анабиоз: Сон разума» это или хоррор-шутер или приключенческая игра от первого лица, созданная украинской компанией Action Forms. Действие игры разворачивается в 1968 году, местом действия является атомный ледокол «Северный ветер», а главным героем младший научный сотрудник северной полярной метеостанции, прибывший на корабль.
Игра рассказывает о злоключениях сотрудника полярной станции, которого на этом ледоколе, застрявшем во льдах, встретили замёрзшие трупы и различные уродливые существа. Эти твари, находящиеся на корабле, потеряли естественный облик и стараются умертвить героя. Главная задача которого заключается в выживании, а наиболее интересной изюминкой игры является возможность увидеть прошлое глазами других людей.
Технически игра выполнена неплохо, причём основана она на игровом движке собственного производства. Но нас сегодня интересуют физические эффекты PhysX. Которых в игре также очень много. Пожалуй, в «Анабиозе» их разнообразие больше, чем в большинстве игр, которые вы сегодня увидите в статье.
Наиболее впечатляющими можно назвать водные эффекты, выполненные при помощи систем частиц, корректно взаимодействующих с игровым миром. Пусть такая имитация ещё не тянет на видеореалистичную воду, но является правильным шагом на пути к ней.
Кроме этого в «Анабиозе» применяется имитация тканей (развешанные везде тряпки), да и вообще все игровые объекты ведут себя физически корректно, включая трупы убитых тварей. В общем, PhysX эффекты в этой игре действительно эффектны, простите за тавтологию.
В бенчмарке и игре нет настройки для полноэкранного сглаживания, поэтому мы ограничились двумя диаграммами для разных разрешений. Интересно, что наблюдается зависимость производительности от разрешения при аппаратно ускоренной физике, и этому есть простое объяснение в бенчмарке много визуализации жидкости, которая прилично нагружает в том числе и «графическую часть» GPU. А вот в случае исполнения PhysX на CPU, виден упор именно в производительность центрального процессора.
И снова CPU не справляется со слишком большой вычислительной нагрузкой. С 10 средними и 3-4 минимальными кадрами в секунду ну никак не поиграешь. Особенно сильно тормозят эффекты имитации воды при помощи систем частиц уж слишком их там много. При малом количестве частиц CPU ещё как-то справляется, а потом начинает «проседать». Хотя это и для GPU работа немалая минимальная частота кадров иногда опускается ниже отметки в 30 FPS.
Выделенная под PhysX видеокарта Geforce 9800 GTX даёт некоторое преимущество только в тяжёлом FullHD разрешении. При разрешении рендеринга 1280х720 никакой разницы между этими конфигурациями снова не обнаружено. Так что выделенная под физику карта помогает и этой игре, но только в высоких разрешениях. В средних и одиночная GTX 285 прекрасно справляется со всеми возложенными на неё задачами.
Dark Void
- Издатель: Capcom Entertainment/1С-СофтКлаб
- Разработчик: Airtight Games
- Жанр: action-adventure от третьего лица
- Платформы: PC, Xbox 360, PlayStation 3
- Время выхода: январь 2010
- Технические данные: Unreal Engine 3, применение высокоуровневых модулей APEX
- Средний рейтинг игровых изданий: 59%
Самая свежая игра нашего обзора «Dark Void». Она появилась в продаже лишь в январе этого года, и выделяется неплохими физическими эффектами, использующими Nvidia PhysX и APEX. Это фантастический боевик от третьего лица, в котором сочетаются битвы с многочисленными врагами на земле и в воздухе. Причём, враги эти из параллельной вселенной, в которую герой попадает, потерпев аварию в Бермудском треугольнике.
Игра отличается от других схожих проектов возможностью полёта при помощи реактивного ранца, это делает из игры не совсем обычный трёхмерный боевик с новыми возможностями. Вроде бы всё довольно интересно, в том числе и основная задумка полёты во враждебно настроенном фантастическом мире. К сожалению, качество данного игрового проекта оказалось всё же ниже, чем у того же Бэтмена, и оценки в игровой прессе игра получила соответствующие.
А что с физическими PhysX эффектами? «Dark Void» это первая игра со столь сложными динамическими системами частиц для имитации эффектов дыма для реактивного ранца, вражеских летающих объектов, а также впечатляющих эффектов выстрелов и попаданий из фантастического оружия.
Так, оружие под названием Disintegrator использует систему частиц в количестве 30000 при каждом выстреле, а дым от реактивного ранца до 100000 частиц. Оба эти эффекта используют имитацию движения жидкостей и газов при помощи вычислительной гидродинамики. Другие виды оружия также используют системы частиц, взаимодействующие с окружающим миром.
Настройка сложности PhysX эффектов в игре четырёхуровневая:
Off PhysX эффекты отсутствуют;
Low включает системы частиц для оружия и это единственно возможная настройка для программного расчёта на CPU;
Medium дополнительно включает эффекты для оружия Disintegrator с расчётами турбулентности. Доступно только для GPU;
High максимальный уровень дополняет вышеперечисленное ещё более сложным эффектом для Disintegrator и расчёты турбулентности для дыма от реактивного ранца.
Настройки Medium и High настолько тяжелы даже для GPU, что для их использования рекомендуется отдельный графический процессор для PhysX расчётов. Да какие! Для Medium 9800 GTX, для High GTX 260 или быстрее. Разработчиком игры был выпущен отдельный бенчмарк, позволяющий сравнить производительность CPU и GPU в «Dark Void», именно его мы и использовали. В бенчмарке эффекты PhysX соответствуют уровню «Low», но даже в таких условиях он очень требователен к мощности CPU и GPU.
Скорость рендеринга в CPU режиме в «Dark Void» снова не зависит от разрешения, и упирается в производительность выполнения PhysX эффектов, в случае центрального процессора. Для графических решений в этот раз наблюдаем то же самое скорость ограничена явно не рендерингом.
CPU справляется с PhysX вычислениями лишь чуть лучше, чем в предыдущих играх, что, однако, не делает такой режим играбельным. 3-9 FPS это всё равно слишком мало для динамичной игры. Даже мощные GPU обеспечивают лишь 30 FPS с просадками до 17-18 кадров в секунду, что очень и очень мало. Интересно, что одиночная GTX 285 справляется с работой даже немного лучше связки GTX 285 + 9800 GTX. Видимо, сказывается то, что новый GPU выполняет физические задачи эффективнее старого.
В этой игре также рекомендуется установка отдельной видеокарты под физику, но в данном случае мы сравниваем конфигурации в том числе и с CPU, поэтому ограничены настройкой PhysX в игре в режиме «Low». И толку от выделенной Geforce 9800 GTX в таком режиме нет совсем. Вероятно, смысл в сдвоенной конфигурации должен появиться в более тяжёлых режимах с увеличенным количеством и качеством PhysX эффектов.
Unreal Tournament 3 (PhysX pack)
- Издатель: Midway Games/Новый Диск
- Разработчик: Epic Games
- Платформы: PC, Xbox 360, PlayStation 3
- Время выхода: ноябрь 2007
- Технические данные: Unreal Engine 3, дополнительные уровни PhysX pack
- Средний рейтинг игровых изданий: 83%
Эта игра является продолжением известной серии многопользовательских шутеров «Unreal Tournament». В третьей части можно увидеть всё то же самое, что и в предыдущих играх серии, но больше и лучше. Проект основан на базе игрового движка Unreal Engine 3, который изначально поддерживает физические эффекты PhysX, позволяющие ускорить их расчет в случае аппаратной поддержки.
Для укрепления рыночных позиций своего PhysX ускорителя Ageia в своё время поспособствовала в создании специального набора уровней PhysX pack, которые устанавливались дополнительно и использовали возможности аппаратно ускоренной физики. Толк от аппаратного ускорения есть только в этих специальных уровнях, что несколько снижает интерес игроков к дополнению.
Уровни из PhysX pack разрабатывались уже довольно давно, поэтому не особенно балуют разнообразием физических эффектов. В них есть разрушаемые объекты, большее количество частиц, а также эффекты дыма и торнадо. Все они работают и на CPU, но производительность при этом падает, естественно.
Для «Unreal Tournament 3» мы приводим только цифры средней частоты кадров для двух разрешений, так как встроенный бенчмарк других не даёт. Производительность, в случае физических вычислений на CPU, всегда упирается в центральный процессор. А вот для двух конфигураций с GPU-ускоренной физикой всё несколько сложнее. Вроде бы, разница есть, но очень небольшая. Так что основным ограничителем всё же является производительность рендеринга, ведь физических эффектов на дополнительных уровнях сравнительно немного.
Несмотря на это, мощности CPU всё же изрядно не хватает при средних 22 FPS играть в сетевой шутер точно не получится! А вот оба GPU обеспечивают почти вчетверо большую производительность и более чем 80 FPS, и этого вполне достаточно даже для требовательных игроков.
Сдвоенная GPU система обеспечивает лишь на 5% большую производительность, по сравнению с конфигурацией на базе одной Geforce GTX 285. Так что для этой конкретной игры в установке выделенного графического процессора под физику нет нужды, мощный GPU прекрасно справляется и с графикой и с физикой в одиночку.
Warmonger, Operation: Downtown Destruction
- Издатель: Net Devil
- Разработчик: Net Devil
- Жанр: многопользовательский шутер от первого лица (FPS)
- Платформы: PC
- Время выхода: ноябрь 2007
- Технические данные: Unreal Engine 3, физические эффекты разрушения, системы частиц
- Средний рейтинг игровых изданий: 55%
Ещё одна многопользовательская игра на движке Unreal Engine 3, но уже бесплатная и от стороннего производителя, а не Epic. Несмотря на то, что она предназначена только для сетевой игры, у неё даже есть сюжет. Действие игры проходит в будущем, две коммерческие фирмы не поделили нефтяное месторождение, а затем эта война переметнулась и в города. И главная задача игроков в Warmonger захват города, квартал за кварталом.
Технологию PhysX в этой игре планировалось использовать ещё со времён жизни Ageia, это позволяло сделать разрушаемыми многие объекты. Также, кроме физики разрушений, которая позволяет пробивать стены и сносить здания, PhysX используются для имитации поведения тканей и дымовых эффектов.
В игре множество систем частиц, и они тормозят игру без аппаратного ускорения в первую очередь. Остальные PhysX эффекты не очень сильно загружают CPU, и он справляется с разрушениями и небольшими кусками ткани. Проверим, что получается на практике. Так как в игре нет фиксированного бенчмарка, пришлось запускать ботов и наблюдать за ними, замеряя при это частоту кадров. Это увеличивает погрешность измерений FPS, но иного выбора в данном случае просто нет.
Для системы с PhysX-вычислениями, возложенными исключительно на CPU, производительность ограничивает именно центральный процессор, а в случае GPU-ускоренной физики общая производительность в разрешении 1280x720 упирается в скорость рендеринга, а в 1920х1080 частота кадров зависит уже и от исполнения физических расчётов на GPU.
Тестовый процессор AMD Phenom II снова не может обеспечить приемлемую производительность PhysX вычислений и в этой игре, так как 7-13 кадров в секунду явно недостаточно для плавности. Снова наблюдается зависимость от количества эффектов на основе систем частиц в кадре, именно с ними у CPU наибольшие проблемы.
Выделенный PhysX-акселератор в лице Geforce 9800 GTX даёт прирост скорости лишь в высоком разрешении, когда скорость не упирается в 3D рендеринг. В таком случае GTX 285 освобождается от физических расчётов, и частота кадров вырастает почти на четверть. А вот в сравнительно лёгком разрешении 1280х720 выделенный PhysX акселератор не обязателен, так как прирост от установки Geforce 9800 GTX в таких условиях невелик.
Crazy Machines 2
- Издатель: Viva Media/МедиаХауз
- Разработчик: FAKT Software
- Жанр: логическая головоломка
- Платформы: PC
- Время выхода: июнь 2008
- Технические данные: дополнительные уровни PhysX Fluids Levels
- Средний рейтинг игровых изданий: 79%
Уже по названию игры «Crazy Machines 2» понятно, что эта игра предлагает механические головоломки в стиле известной игры «The Incredible Machine», которые веселы и интересны, хотя и очень далеки от здравого смысла. Перед игроком стоят разные задачи, например, на некоторых уровнях нужно запустить фейерверк или развести огонь, используя подручные предметы в различных комбинациях и композициях.
Главное в такой игре - получение удовольствия от решения логических задачек при помощи создания причудливых композиций, с применением знаний из школьной физики. Как видно на скриншотах, Crazy Machines 2 продолжает традиции жанра подобных логических головоломок, предлагая за основу несколько плоскостей и компонентов. Также у игрока есть дополнительные детали, которые нужно расставить в определённом порядке для успешного завершения задачи.
Сама по себе игра вышла без возможности аппаратного ускорения физики, но затем были выпущены специальные дополнительные уровни «PhysX Fluids Levels», в которых используется PhysX ускорение. Новые забавные задачки этих уровней основаны на динамике жидкостей. Вода является рабочим телом, которое выпускается из специальных колонок, и заставляет включаться в работу другие компоненты.
Игра работает и без аппаратного ускорения PhysX эффектов на GPU, но скорости даже наиболее мощных CPU не хватает для обеспечения приемлемой частоты кадров. Когда число частиц воды становится больше определённого количества, всё действо на экране начинает тормозить. Посмотрим, как это выражается в цифрах.
Повторимся, что в этой игре из тяжёлых PhysX эффектов есть только имитация поведения жидкости при помощи систем частиц, но только они способны загрузить работой CPU на 100%. В низком разрешении скорость ограничена производительностью PhysX-эффектов, а в высоком сказываются и затраты на рендеринг. Впрочем, это не объясняет разницы в показателях, показанных при программном расчёте физики.
В общем, наш CPU снова не справился со сложной физической задачей, показав минимальную частоту кадров около 2 FPS. Причём, при старте симуляции, когда количество частиц ещё невелико, центральный процессор выглядит неплохо, и сдаётся лишь тогда, когда количество частиц становится слишком большим.
Интересно сравнение одиночной GTX 285 и её связки с 9800 GTX. Если в низком разрешении разница между производительностью указанных конфигураций небольшая, то в 1920х1080 она уже превышает 20%. Получается, что выделенный PhysX-ускоритель имеет смысл и для такой незатейливой с виду задачи. Впрочем, 66 FPS в среднем, с падениями до 39 FPS, которые даёт одиночная GTX 285 это вполне достаточно для неспешной логической игры.
Star Tales
- Издатель: QWD1
- Разработчик: QWD1
- Платформы: PC
- Время выхода: ноябрь 2009
- Технические данные: Unreal Engine 3, имитация тканей, системы частиц
«Star Tales» это почти неизвестная у нас китайская игра вольного жанра с элементами социальных сетей и танцевального симулятора. Собственно, она и привлекает то нас больше потому, что там используется неплохая анимация с имитацией поведения тканей на PhysX, которая ускоряется на GPU.
Игра разработана компанией QWD1, которая выступает одновременно и издателем. Пожалуй, это первая китайская игра, использующая игровой движок Unreal Engine 3 и эффекты PhysX. Собственно, это почти всё, что мы о ней знаем. Из PhysX эффектов в игре есть имитация тканей и системы частиц, которые хорошо видны в бенчмарке, выпущенном компанией уже довольно давно, и который мы использовали в статье.
«Star Tales» вышла прошедшей осенью, но мы будем использовать отдельный бенчмарк, выпущенный совместно с Nvidia для демонстрации PhysX возможностей в игре. По какой-то странной причине, бенчмарк не даёт использовать выбранные нами широкоэкранные разрешения 1280x720 и 1920x1080, и пришлось тестировать в близких к ним 1280x1024 и 1600x1200. Сравним производительность разных конфигураций в этом тесте:
Производительность в бенчмарке «Star Tales» в основном зависит от скорости исполнения PhysX эффектов. Традиционно это правило выполняется для расчётов на CPU, ну а для GPU дело обстоит несколько иначе. Упор в производительность физики есть только в низком разрешении, а с ростом сложности условий рендеринга, увеличивается и зависимость скорости от «графических» расчётов.
Привычно для нашего обзора, низкая скорость физических PhysX вычислений на CPU не позволяет назвать полученную частоту кадров приемлемой, ведь она весьма низка. Даже графические процессоры справляются с задачей с трудом, показывая в среднем более 60 FPS, но просаживаясь до 18-22 FPS в наиболее сложных кадрах бенчмарка.
Выделенный GPU для физики почти не даёт выгоды в лёгком разрешении 1280х1024 без сглаживания, не очень большая разница наблюдается и в двух средних режимах. А вот с ростом нагрузки на GPU в 1600x1200 с 4x MSAA, одиночная GTX 285 уже справляется несколько хуже, отставая от связки из двух карт почти на треть в среднем. Следовательно, и вывод снова тот же выделенная карта под физику имеет смысл лишь для максимальных настроек качества и высоких разрешений рендеринга.
Nurien Alpha
- Издатель: Nurien
- Разработчик: Nurien
- Жанр: социальные сети, танцевальный симулятор
- Платформы: PC
- Время выхода: ещё не вышла
- Технические данные: имитация тканей
- Средний рейтинг игровых изданий: N/A
А это корейский набор игр примерно того же жанра, что и предыдущая. Такое впечатление, что это сёстры близнецы. Конечно, компания Nurien, которая является одним из лидеров азиатского рынка социальных сетей и игровых онлайн-сервисов, называет свои творения новой вехой в развитии социальных сетей, но часть этого есть и в «Star Tales».
В подобной социальной сети нового поколения игроки могут создавать своих трёхмерных виртуальных персонажей, и всё действие будет происходить в 3D. Доступ к сервису планируется сделать бесплатным, но за всякие виртуальные вещи (одежда, украшения и т.п.), придётся немного заплатить. Также будет возможно играть в различные игры и участвовать в конкурсах.
«Nurien» включает три компонента: MStar, Runway и QuizStar. MStar это многопользовательский танцевальный симулятор, схожий с такими известными проектами как «Guitar Hero» или «Dance Dance Revolution». Runway это оригинальный проект, в котором игроки создают свои собственные линии одежды по определённой тематике, и затем соревнуются на виртуальных показах мод (результат как раз виден на скриншотах), а игровое сообщество оценивает их работы. Ну а QuizStar это игра жанра онлайновых викторин.
Пока что выход проекта намечен лишь в планах на текущий год, и вышел только бенчмарк, который мы и будем использовать. К сожалению, он не даёт никаких настроек, и позволяет тестировать только в разрешении 1024х768. Зато в Nurien Alpha можно использовать для PhysX расчётов как GPU, так и CPU, при помощи панели настроек драйвера Nvidia.
В этом бенчмарке доступно лишь одно разрешение, и в нём нельзя включить сглаживание, поэтому и диаграмма у нас одна. Интересно, что производительность хоть и упирается в скорость PhysX, но картина на диаграмме совсем не та, что мы видели ранее. Давайте рассмотрим результаты внимательнее.
Во-первых, центральный системный процессор неплохо справляется с работой в «Nurien Alpha», лишь втрое отставая от мощных GPU. А ведь в предыдущих играх отставание было много больше, до десятка раз. Тут же мы видим 11-15 FPS, что с огромной натяжкой можно назвать приемлемой частотой кадров. Тем более, что GPU тоже просаживаются до 32-34 FPS, хотя в среднем обеспечивают играбельные 45-50 средних кадров в секунду.
Во-вторых, разница между одиночной Geforce GTX 285 и двумя картами GTX 285 и 9800 GTX в этот раз обратная. То есть, не система из двух карт выигрывает, а одиночная GTX 285! И минимальная и средняя частота кадров на одном GPU выше, чем на системе из двух.
Значит, в этой игре (а может быть, только в бенчмарке) очень слабая нагрузка на графические вычисления, и сравнительно большая на физику. Причём, для того и другого в сумме достаточно мощности GTX 285, а 9800 GTX отстаёт именно из-за меньшей математической производительности. Такая ситуация забавна, и она скорее похожая на синтетическую, а не игровую. Тем более интересно будет оценить результаты следующего чисто искусственного бенчмарка.
PhysX FluidMark
- Разработчик: oZone3D.Net
- Жанр: PhysX бенчмарк
- Время выхода: август 2008
«PhysX FluidMark» это специализированный бенчмарк для физических эффектов, основанный на возможностях технологии Nvidia PhysX. Мы его включили в обзор для того, чтобы оценить, какую разницу в производительности различных конфигураций можно ожидать в синтетических условиях, а не в приближённых к игровым.
FluidMark выполняет симуляцию поведения жидкости (fluid simulation), имитируя лаву. Используются реальные физические расчёты и параметры, такие как вязкость свойство жидкостей и газов оказывать сопротивление перемещению одной части относительно другой. Для реалистичной визуализации рассчитываемых частиц используется алгоритм гидродинамики сглаженных частиц (Smoothed Particle Hydrodynamics SPH), как и в реальных PhysX играх.
Приложение использует OpenGL для графики, аппаратная поддержка PhysX не обязательна, эффект работает и на CPU. Мы не дождались новой версии бенчмарка, которая должна получить поддержку многопоточности на CPU, и поэтому стоит учесть возможность большей производительности CPU варианта при распараллеливании работы на все ядра центрального процессора.
Как мы и предположили выше по тексту, в этом случае взаимные результаты различных конфигураций схожи с тем, что мы видели в диаграммах прошлого теста, только в ещё более гипертрофированном синтетическом виде. Производительность почти во всех четырёх режимах упирается в скорость PhysX расчётов, за исключением самого сложного, разве что.
Результаты центрального процессора можно было бы назвать неплохими, всё-таки более чем 30 средних FPS, если бы не слишком низкое значение минимальной частоты кадров всего лишь 5 FPS. И снова наблюдается огромная зависимость FPS от количества рассчитываемых частиц. Был бы очень интересен результат обновленной версии теста, который эффективнее распределяет работу между процессорными ядрами, но она на момент проведения тестов ещё не вышла.
В этот раз ещё лучше видна синтетическая природа бенчмарка. Geforce GTX 285, обладающая большей вычислительной мощностью и специальными оптимизациями для расчётов на GPU, опережает Geforce 9800 GTX по минимальному показателю частоты кадров в разы, да и по средней производительности почти вдвое. GTX 285 лишь в наиболее сложном режиме немного уступает сама себе, оставаясь далеко впереди своей предшественницы.
Тест PhysX FluidMark можно расценивать как одно из синтетических приложений, в которых нагрузка на графические вычисления очень мала, зато физика используется по полной. Плюс, в этом случае явно используются аппаратные улучшения видеочипа GT200, на котором основана GTX 285, из-за чего преимущество нового GPU становится ещё выше. Возможно, в будущем появятся и игровые приложения со схожим поведением по производительности.
Другие применения
Естественно, мы рассмотрели не все игры с поддержкой PhysX. Существуют и другие подобные проекты. Например, отметим не совсем обычный боевик от первого лица Mirror"s Edge, тактический шутер Tom Clancy"s Ghost Recon: Advanced Warfighter 2, патч 2.40 к action RPG под названием Sacred 2: Fallen Angel и Sacred 2: Ice & Blood. Также можно вспомнить бюджетные игровые проекты Darkest of Days, Star Trek: D-A-C, Metal Knight Zero, выпущенный в виде PhysX бенчмарка, и некоторые другие менее известные игры.
К сожалению, тесты в них не вошли в статью по разным причинам. Какие-то игры и бенчмарки не заработали на нашей конфигурации (например, таким поведением отметились Darkest of Days и Metal Knight Zero), в других нет возможности проведения приемлемого тестирования без привнесения в него значительной погрешности в результате «ручной» работы тестера. Да и, в общем-то, у нас не было цели осветить вообще все PhysX игры, суть ведь понятна и так.
Более того, применение PhysX ведь совсем не ограничивается играми! Аппаратное ускорение PhysX используется и в серьёзных профессиональных приложениях различных симуляторах, приложениях для создания цифрового контента, плагинах к пакетам 3D моделирования (3ds Max, Maya, LightWave и др.). Их рассмотрение выходит за пределы тематики данной статьи, но само применение аппаратной физики Nvidia в столь серьёзных продуктах говорит о востребованности PhysX не только в игровых проектах. Выводы
Итак, подведём выводы. Судя по включённым в обзор играм, аппаратно-ускоренные PhysX эффекты действительно способны улучшить игры. Они добавляют столь важные мелкие и реалистично выглядящие детали к игровому миру, позволяют насытить сцены объектами и эффектами, которые в динамике очень похожи на то, что мы видим в реальном мире. Это явно положительное влияние PhysX, которое добавляет реализма играм.
С другой стороны, пока что почти все физические эффекты, созданные при помощи PhysX и требующие аппаратного ускорения, недостаточно сильно влияют на сам игровой процесс, фактически никак не изменяя его. То есть, они не являются строго обязательными, хотя и выглядят симпатично, особенно в динамике.
Хотя вышло уже почти два десятка игр, в которых используется аппаратное ускорение PhysX, и в которых есть видимый эффект от него, к сожалению, список таких игр остаётся не очень длинным, да и большая часть из игр не очень популярны среди игроков. Это мы считаем единственным серьёзным недостатком PhysX в его нынешнем состоянии.
Но компания Nvidia прилагает все усилия, чтобы PhysX использовали всё чаще, и список игр с такой поддержкой растёт. Необходимо учитывать и длительное время разработки игр, которое не позволяет играм мгновенно появляться на рынке. Но в будущем количество таких игр точно продолжит увеличиваться. Хорошим примером является выходящая совсем скоро игра Metro 2033, где PhysX применяется весьма активно.
Теперь о том, что касается производительности исполнения физических эффектов PhysX. Можно с абсолютной уверенностью сказать, что универсальные центральные процессоры (CPU) для этого подходят весьма слабо. Пусть они способны обсчитывать малое количество простых объектов и разрушений, но когда дело касается больших массивов частиц, их сложных взаимодействий и столкновений, то любой CPU сдаётся, обеспечивая игроку лишь слайд-шоу.
И тут очень выгодно смотрятся видеокарты компании Nvidia, обладающие поддержкой аппаратного ускорения PhysX. С их помощью эффекты в перечисленных выше играх выглядят свежо и привлекательно, они явно усиливают ощущения игроков от этих проектов. Даже мощная одиночная видеокарта Geforce GTX 285 прекрасно справляется и с графикой и с физикой в большинстве PhysX игр.
Но в отдельных случаях может понадобиться установка дополнительной видеокарты, которая будет заниматься исключительно физическими расчётами. Это может быть ваша старая видеокарта Nvidia, начиная с серии Geforce 8. Такой выделенный физический ускоритель даст возможность включить максимальные настройки в современных PhysX играх, таких как «Batman: Arkham Asylum» и «Dark Void», что будет особенно заметно в высоких разрешениях и при максимальных настройках качества графики, когда одиночная видеокарта не успевает обрабатывать и графику и сложную физику одновременно.
Кто-то может возразить, что выполнение физических эффектов на CPU специально тормозится в движке PhysX, в угоду быстрому исполнению на GPU. Это не соответствует истине. Вполне возможно, что часть из аппаратно ускоренных PhysX эффектов можно было бы ещё лучше оптимизировать для исполнения на универсальных процессорах, но тут есть два «но»:
Первое компания Nvidia, разрабатывающая и продвигающая PhysX, не производит CPU, и не заинтересована в трате своих ресурсов на такую оптимизацию. И тут ничего не поделаешь, ведь это коммерческая компания, целью которой является получение прибыли от продажи своей продукции, и она не обязана изо всех сил стараться помочь производителям CPU. Все эффекты PhysX работают на CPU не хуже, чем в аналогичных физических движках, и они могут использовать многопоточность этого вполне достаточно.
Второе PhysX даёт удобный инструментарий для игровых разработчиков, который позволяет им сравнительно легко получить сложные физические эффекты на обычных игровых ПК, без необходимости проведения кропотливых специфических оптимизаций для всего парка аппаратного обеспечения. Да и на CPU никогда не получить той скорости, на которую способен GPU (в определённых задачах, естественно). Так зачем мучиться и пилить дерево ручной пилой, когда под рукой есть бензопила? Лень двигатель прогресса, и в данном случае GPU с поддержкой PhysX это та самая бензопила. P.S.
Если у вас остались какие-либо вопросы по физическому движку 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 , клиент проекта распределенных вычислений [email protected] , пробная версия видеокодера 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 . То есть нужно скачать всего один инсталляционный файл.
|
После установки драйверов надо открыть Панель управления 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 особо нечего. Бегаем, стреляем, наблюдаем, как объекты разлетаются на мелкие кусочки в соответствии с законами физики. Плюс к тому, здесь в полной мере реализована симуляция ткани: флаги и прочие тряпки развеваются на ветру и рвутся точно так же, как и в реальной жизни.
По всей видимости, многие владельцы графических карт от 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 не соответствует операционной системе или модели графического чипа. На это тоже нужно обратить внимание.
Сама по себе физика в 3D играх – штука нужная и полезная. Ещё со времён первого Half-Life сердца геймеров буквально заворожила представленная возможность взаимодействия с окружающей средой – сколько же радости доставляло обычное передвижение игровых объектов, будь то ящик или бочка. Впрочем, воспоминания игровой физики оригинального Half-Life сегодня, когда на дворе вовсю идут дожди октября 2010 года, как минимум, вызывает улыбку.
В начале двухтысячных настоящей звездой и открытием стал Havok – программный физический движок от одноименной кампании, который без каких-либо сложностей интегрировался во все более-менее современные 3D “моторчики”. Одно из первых его воплощений можно было увидеть в игре 2001 года Max Payne, где физическая составляющая была на высоте. Однако по-настоящему широкую известность Havok приобрёл в конце 2004 года, когда “на экраны мониторов” вышел Half-Life 2… В какую нирвану вводило метание гравипушкой различных игровых объектов – от стеклянных бутылок до солдат альянса, думаю, рассказывать не нужно.
реклама
Это был настоящий фурор. Интегрированная в движок Source версия Havok 2.0 была продемонстрирована во всей своей красе и, несмотря на очень красивые физические эффекты и потрясающее взаимодействие с игровым миром, требования к аппаратной части были просто смешными. Физика обрабатывалась центральным процессором, приемлемого уровня FPS на средне-высоких настройках графики можно было добиться используя связку из Pentium III 1.2 ГГц и Radeon 9200 64 Мбайт. Только вдумайтесь – морально устаревшего ЦП 2000 года хватало игре для обработки сложных физических эффектов с головой!Чуть позже Havok PhysX нашли применение в десятках игровых приложений а сам движок был адаптирован практически для всех более-менее современных консолей (включая кроху PSP). Список игрушек, в которых использовался этот движок, действительно внушителен, и в нём можно найти более 150 наименований, в том числе и такие хиты как: Company of Heroes, Oblivion, StarCraft 2. Одно время, ирландские программисты из Havok даже планировали прикрутить аппаратную поддержку ускорения физических эффектов к видеокартам ATI и Nvidia, но, после покупки компанией Intel, от этой идеи отказались.
PhysX вчера и сегодня
Самым главным конкурентом Havok, среди современных физических движков, был и остаётся PhysX. На заре своего существования, одноимённая компания представляла собой небольшую контору, продвигающую свой программный физический движок NovodeX. Буквально через пару лет, NovodeX был существенно доработан, и выпущен на обозрение публике в качестве PhysX SDK. Почувствовав в своём творении огромные перспективы, компания решила обогатиться и выпустить на рынок нечто новое – дискретный ускоритель физики, который бы освобождал ресурсы CPU от лишней работы. С одной стороны – очень интересная задумка, ведь открывался совершенно новый класс компьютерных игровых комплектующих, не похожих ни на что ранее доступное. С другой стороны всё выглядело менее оптимистично, ведь на момент релиза количество игр с поддержкой вышеупомянутого API было просто ничтожным, и ускорителю было бы просто нечего ускорять.
Но, плюнув на возможные проблемы и рискнув всем, в начале 2006 года Ageia анонсирует дискретную плату Ageia PhysX, которая работает в слоте PCI-E и всецело занимается обработкой физики. Продукт получился вроде бы неплохой, но вот с играми, несмотря на рвение разработчиков, как-то не заладилось. На момент анонса было представлено всего несколько игр, самой известной из которых стал Tom Clancy"s Ghost Recon: Advanced Warfighter на стареньком движке Unreal 2, в которой возможности ускорителя были реализованы, дай бог, чтобы на одну треть. Короче говоря, с полномочиями “флагмана” представляющего всю мощь возможностей Ageia PhysX, Ghost Recon не справился – угловатая графика, поистине бедно смотревшаяся даже в далёком 2006 году, а так же криво прикрученные PhysX эффекты, сделали своё чёрное антипиарное дело.
Американская компания nVidia Corporation произвела на свет множество инноваций, как в технической сфере, так и в сфере программного обеспечения, однако, мало какая новая наработка имела такое же значение, как физический движок nVidia PhysX. Изначально, PhysX разрабатывался не nVidia, а небольшой калифорнийской компанией Ageia Technologies. Тогда ещё PhysX не имел большинства своих возможностей, но потенциал был виден невооружённым глазом.
В феврале 2008 года Ageia Technologies была приобретена nVidia Corporation и полностью вошла в её состав. Разумеется, все наработки Ageia Technologies также перешли в полную собственность nVidia. Руководством последней было принято решение переименовать PhysX в nVidia PhysX и сосредоточится на его активной разработке. Движок был оптимизирован для ускоренного проведения физических расчётов на графических чипах, имеющих также разработанную nVidia архитектуру CUDA. Кроме всего прочего, nVidia PhysX может производить вычисления и расчёты не только на графических чипах, но и на самых обычных центральных процессорах. На сегодняшний день данный физический движок доступен на всех популярнейших платформах, таких как Windows, Mac OS, Linux, Xbox 360, PlayStation 3 и даже Wii, однако аппаратное ускорение доступно только на платформе Windows.
Что такое nVidia PhysX
Чем же по своей сути является nVidia PhysX и благодаря чему он получил такую широкую популярность? PhysX является кроссплатформенным физическим движком, избавляющим игровых разработчиков от необходимости долгой, дорогой и трудоёмкой самостоятельной разработки собственного программного обеспечения, отвечающего за физическое взаимодействие различных тел.
Пример работы движка можно nVidia PhysX
Отличительной особенностью nVidia PhysX является то, что его необходимо скачивать и устанавливать отдельно, в то время как другие физические движки устанавливаются вместе с самой игрой. Сам движок состоит из трёх частей:
- Rigid body, отвечающий за обработку твёрдых тел;
- Cloth, отвечающий за обработку тканей;
- Fluid, отвечающий за обработку различных жидкостей.
Каждый из этих компонентов реализован на высшем уровне. Например, Cloth обеспечивает максимально реалистичное поведение тканей при взаимодействии с другими тканями и иными предметами, а также их разрывы и разделение на несколько частей. Ярким примером может служить игра Mirror’s Edge, где благодаря этой технологии была реализована реалистичное физическое поведение не только тканей, но и брезента, строительной плёнки и других подобных материалов. На сегодняшний день nVidia PhysX широко используется в более чем 150 игровых проектов. Можно с уверенностью сказать, что nVidia PhysX является самым широко распространённым физическим движком в мире.