Nvidia сделала код физического движка PhysX открытым — Gamedev на DTF

Nvidia сделала код физического движка PhysX открытым — Gamedev на DTF World of Tanks

* * *

«Физическая»
технология NVIDIA медленно, но верно
завоевывает сердца разработчиков игр. Сейчас ее поддерживают 140 игр, еще
несколько десятков находится в разработке. Ядро PhysX уже вживлено в большинство
самых мощных игровых движков — Unreal Engine 3 (Epic)

, Gamebryo 2.5 (Emergent Game Technologies), Diesel Engine (GRIN), Eclipse Engine (BioWare). Однако о полном
порабощении умов девелоперов новой технологией говорить пока слишком рано — на
это потребуется еще не один год.

Metal knight zero

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

Nurien

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

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

Nvidia сделала код физического движка physx открытым — gamedev на dtf

Он был доступен бесплатно с 2022 года.

Компания Nvidia открыла исходный код своего физического движка PhysX. Он доступен бесплатно для всех разработчиков под лицензией BSD-3. Код можно получить на GitHub.

В Nvidia отметили, что компания продолжает свои исследования в области физической симуляции.

Физический движок PhysX был создан компанией NovodeX AG в 2001 году. В 2004-м его разработчиков приобрела Ageia. Она занялась созданием «железа», способного взять на себя физические вычисления. В 2008 году Ageia была приобретена компанией Nvidia,

Технология использовалась во множестве игровых движков, среди которых Unity, Unreal Engine, Gamebryo и Torque. В марте 2022 года Nvidia выложила полные исходные коды PhysX на GitHub.

#nvidia

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%.

Движок physx на практике

Давайте посмотрим, что именно в играх дает этот движок.

На самом деле, если честно — разница достаточно заметная.. даже сложно представить, что этот движок имеет такое влияние на графику в играх..

Посмотрите сколько мелких частиц дает движок PhysX (слева он включен):

Еще повоюют?

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

Про WoT:  Ворлд оф танкс систем требования 2022 и компьютер для World Of Tanks

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

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

Место под солнцем

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

Так что, по сути, NVIDIA осталось только связать
движок со своими графическими процессорами и раскрутить его в среде
разработчиков. Здесь как нельзя кстати пришлись уже готовые и вполне работающие
концепции компании — платформа для вычислений общего назначения средствами
графического чипа (CUDA) и программа сотрудничества
с разработчиками игр The Way It’s Meant to Be Played.

Связать
движок с CUDA не составляло проблем — в
первых же драйверах PhysX NVIDIA анонсировала поддержку всех
выпущенных игр с физическими эффектами на основе Ageia PhysX SDK. Владельцы видеокарт GeForce, начиная с восьмого поколения,
получили подарок совершенно бесплатно — физика во многих играх им досталась без
аппаратного ускорителя Ageia (эту железку к тому времени
уже отправили на свалку истории), ведь все расчеты физики легли на плечи
графического чипа.

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

В ходе работы обе
стороны пытаются создать эффективный код, который будет работать максимально
быстро на видеокартах GeForce, добавить поддержку красивых
физических и графических спецэффектов (у ATI тоже есть подобная программа
взаимодействия с разработчиками — Get in the Game).

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

С момента анонса NVIDIA PhysX к калифорнийскому лагерю
присоединились производители игровых приставок, издатели и разработчики игр Epic, Electronic Arts, Capcom, Sega, THQ, GRIN, DICE и даже создатели iPhone.

А
теперь добро пожаловать в суровую реальность.

Практика

Допустим, вы счастливый обладатель платы 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) и могут быть свободно скачаны с сайта компании.

Призрачная угроза

В
последнее время все больше говорят об открытой платформе для вычислений общего
назначения средствами GPU под названием OpenCL — вот, мол, смотрите,
подрастает конкурент NVIDIA. На словах все и вправду
весьма внушительно: открытый стандарт, абсолютно бесплатный для любых
разработчиков, огромный список поддерживаемого оборудования, сотни энтузиастов
со взором горящим в десятках стран мира… Такой подход может разом лишить
преимуществ фирменные технологии конкурентов!

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

Про WoT:  Fatal error :: World of Tanks Blitz Russian Community

Такая
же ситуация сложилась и вокруг специализированных шейдеров Compute Shader, которые войдут в состав
будущего API DirectX 11. С их помощью тоже можно будет производить расчеты
общего назначения на мощностях любых современных графических чипов без
использования сторонних платформ и закрытых стандартов вроде NVIDIA CUDA.

В
теории для них тоже можно было бы написать свой физический движок. У Microsoft даже, скорее всего, нашлись
бы на это деньги, если бы не одно но: работать движок, написанный для DirectX
11, сможет только на PC-платформах — консоли его
просто не потянут, уровня их мощностей хватает только на DirectX 10, да и то с трудом.

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

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

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

Разрушить все

На
бумаге возможности движка PhysX выглядят просто потрясающе.
С его помощью можно создать по-настоящему интерактивное окружение с разрушаемыми
стенами, пробиваемыми заборами, плавающими по воде предметами и тому подобными
радостями.

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

Да, был Mirror’s Edge с трескающимся стеклом, был Advanced
Warfighter с красивыми взрывами, был даже Terminator: Salvation, где роботы из будущего реалистично
бросались остовами автомобилей. Только вот все это выглядит куда менее
эффектно, чем на самом деле позволяют технологии.

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

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

Терпение — это
искусство надеяться

Есть
и еще один фактор, который волнует разработчиков игр, — кроссплатформенность.
Технология NVIDIA PhysX реально работает не
только на PC, но и на консолях (Xbox 360, PlayStation 3, Nintendo Wii), и даже
на откровенно слабых мобильных платформах вроде iPhone.

Однако применяется она до
сих пор практически исключительно в PC-играх, оставляя консольным решениям
только самые примитивные физические расчеты. Разумеется, тут дело только в
мощностях: современные видеокарты с сотнями шейдерных процессоров легко
справляются с нагрузкой, но консоли тем же похвастаться не могут.

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

Такие
сложности, разумеется, не столько привлекают, сколько отпугивают девелоперов. Однако
скоро ситуация должна измениться: вопреки слухам, NVIDIA не стала сидеть на мешке
сокровищ Ageia и пожинать плоды чужих трудов
— программисты компании продолжили разработку физического движка.

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

В этой программе есть простые для
понимания инструменты — практически такие же, как ползунки «детализация
текстур», «детализация теней» в меню игр. Разработчику достаточно прописать
спецэффект и указать необходимый для его реализации уровень мощности
исполняющего устройства, а все остальные действия APEX проделает самостоятельно: каждый
раз при запуске игры будет просчитываться мощность игровой платформы и качество
физических эффектов установится автоматически.

Комплект
APEX, так же как и PhysX, состоит из двух частей — собственно движка и
библиотек к нему, которые можно скачивать и загружать в игру по мере
надобности. В настоящий момент практически все библиотеки, правда, находятся на
стадии бета-версий и для скачивания доступны только некоторые из них — модули
разрушений, реалистичной растительности, частиц (газ, туман, пыль и тому
подобное) и одежды.

Про WoT:  ПЕРВЫЙ ТАНКОВЫЙ БОЙ ТРЕТИЙ ТАНК

Но отзывы со стороны девелоперов уже очень хорошие —
фокус-группа NVIDIA в один голос утверждает, что работать с APEX удобно, а
эффекты ее выглядят намного реалистичнее эффектов PhysX. Кстати, если у вас
есть видеокарта NVIDIA GeForce 8800 или старше, вы можете убедиться в этом
сами: на нашем диске выложена маленькая демонстрационная игра, созданная с
использованием библиотеки APEX Soft Bodies. Только не забудьте поставить
соответствующие драйверы, прежде чем запускать игру, — их тоже можно взять с
диска.

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

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

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

Физика в надежных
руках

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

Постепенно игры научились просчитывать
взаимодействие объектов, управлять траекторией полета тел и художественным
разбрызгиванием крови. Во многом развитию физических спецэффектов
поспособствовал движок Havok Physics, представленный в 2000 году
одноименной ирландской компанией (Havok переводится с ирландского как «ответ на все вопросы»).

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

Лед
тронулся только в 2006 году, когда компания Ageia разработала ускоритель
физических эффектов и соответствующий программный движок PhysX. Архитектура системы позволяла
перегрузить все физические расчеты на плечи графического чипа, а программная
составляющая показывала просто невиданные доселе чудеса физики — десятки тысяч частиц
и объектов в одном кадре.

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

К
тому времени видеокарты сделали мощный шаг вперед — графические конвейеры со
строго прописанными функциями исчезли, их место заняли универсальные шейдерные
процессоры. Отныне графические чипы могли заниматься расчетами общего
назначения — немудрено, что ATI и NVIDIA разом ухватились за новую
возможность и анонсировали расчеты физики средствами GPU.

Создателей Havok в конце 2007 года выкупила
компания Intel. По слухам,
микропроцессорный гигант тут же приказал свернуть работы над продвинутым
движком Havok FX, который должен был
задействовать мощности графических чипов при расчетах физики, и даже заставил всех
работавших над ним инженеров подписать страшные договоры о неразглашении
информации.

Так что вместо того, чтобы придумывать конкурента PhysX, лучшие умы Intel принялись оптимизировать
движок для работы в среде многоядерных х86-совместимых процессоров — все это
впоследствии легло в основу готовящегося к выходу в следующем году проекта Larrabee.

NVIDIA же не оставалось ничего
другого, кроме как выкупить наработки Ageia:
транзакция была завершена в феврале 2008 года, и уже спустя несколько месяцев
калифорнийская компания анонсировала ускорение физики мощностями нового чипа и
интеграцию программного пакета PhysX с собственными разработками. ATI на пару с AMD остались не у дел.

Заключение

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

Но с другой стороны — можно посмотреть а что игра загружает меньше? Процессор или видеокарту? Если например в игре процессор не более 50 процентов грузится, это может быть если у вас топовый проц, можно попробовать выставить в Установка конфигурации PhysX — процессор (то есть ЦП или CPU). Может быть лучше. А может не будет эффекта — если не будет то возвращаем значение автовыбор.

Вот такие дела. Надеюсь эта информация вам помогла. Удачи и добра, до новых встреч друзья, берегите себя Nvidia сделала код физического движка PhysX открытым — Gamedev на DTFНа главную!11.04.2021

Оцените статью
TankMod's
Добавить комментарий