PhysX (МФА: [ˈfɪzɛks] , произносится [фи́зикс]) — связующее программное обеспечение (англ. middleware ), кроссплатформенный физический движок для симуляции ряда физических явлений, а также комплект средств разработки (SDK) на его основе. Первоначально разрабатывался компанией Ageia для своего физического процессора PhysX. После того, как Ageia была приобретена nV >[1] [2] [3] [4] [5] [6] .
С 3 декабря 2018 года исходный код PhysX был перелицензирован под открытой лицензией BSD-3 [7] [8] .
Описание [ править | править код ]
Подпрограммное обеспечение PhysX SDK позволяет разработчикам игр избегать написания собственного программного кода для обработки сложных физических взаимодействий в современных компьютерных играх. 20 июля 2005 года компания Sony лицензировала PhysX SDK для использования в своей игровой приставке седьмого поколения PlayStation 3. [9] PhysX SDK может использоваться не только в среде Microsoft Windows, но и также в Linux, однако поддержка процессора PhysX пока работает только для Windows.
PhysX, что делать если хочется?
В отличие от большинства других физических движков, которые поставляются и устанавливаются вместе с игрой, PhysX SDK необходимо установить отдельно. Он устанавливается как отдельный драйвер. Если на компьютере установлена плата PhysX, то драйвер PhysX SDK при работе будет использовать её ресурсы. Если же PhysX отсутствует, то вычислительные задачи будут переноситься на центральный процессор. [10]
Физический движок PhysX SDK состоит из трёх главных компонентов по обработке физики:
После установки драйвера PhysX SDK присутствует возможность просмотреть работу этих трёх компонентов движка в действии.
13 февраля 2008 года компания NV >[11] Поддержка PhysX SDK была интегрирована в структуру CUDA, для которой уже есть множество драйверов под Linux. Таким образом, необходимость в выделенном физическом процессоре PhysX отпала. Поддержка PhysX SDK доступна для всех видеокарт производства Nv >[12]
В связи с прекращением поддержки Havok FX физический движок PhysX SDK являлся до 2010 года единственной технологией с поддержкой аппаратного ускорения. [16] Начальную поддержку технологии аппаратного ускорения с помощью OpenCL получил другой физический движок Bullet, благодаря активной поддержке компании AMD.
Хотя PhysX SDK разработан для использования в компьютерных играх, он может быть применён и в других приложениях.
Возможность запуска PhysX при сторонних GPU [ править | править код ]
28 июня 2008 года Эран Бэдит (англ. Eran Badit ), участник ресурса NGOHQ.com, запустил аппаратную поддержку PhysX SDK на видеокарте Radeon HD 3870. [20] Вначале компания NV >[21] Было обещано, что модифицированные драйверы для карт ATI скоро станут доступны для загрузки. По другим данным, в свою очередь, компания ATI официально не поддержала инициативу Бэдита. [22] Для написания официальных (не модифицированных) драйверов ATI с поддержкой PhysX компания nVidia предлагает лицензировать аппаратную поддержку CUDA, которая включает в себя PhysX. Однако технология CUDA конкурирует с технологией AMD FireStream.
NVIDIA PhysX FleX
В графических драйверах nVidia версии 186 была заблокирована возможность совместной работы двух графических карт, на которые установлены графические процессоры от разных производителей (AMD и nVidia). Таким образом, если раньше была возможность разделения вычислений по разным графическим картам (например, карта с процессором nVidia может рассчитывать игровую физику, а карта с процессором AMD — заниматься рендерингом изображения), то с версии 186, если в системе обнаружен GPU другого производителя (даже интегрированный в чипсет), то эта возможность блокируется. Кроме того, движок PhysX новой версии не поддерживает специализированные физические ускорители (PPU) PhysX, разработанные ещё Ageia, если в системе обнаружен GPU, выпущенный не NVIDIA.
Представитель nVidia объяснил эту ситуацию следующим образом:
![]() |
PhysX является открытым программным стандартом, и любая компания может свободно разрабатывать поддерживающее его аппаратное или программное обеспечение. NVIDIA поддерживает ускорение физических расчетов силами GPU NVIDIA, когда GPU NVIDIA используется и для графики. По многим причинам — частично из-за затрат на разработку, частично из-за затрат на тестирование и частично по деловым мотивам NVIDIA не будет поддерживать ускорение физических расчетов силами GPU, если графическая обработка выполняется GPU другого производителя. | ![]() |
APEX PhysX [ править | править код ]
APEX — это высокоуровневая надстройка, которая по замыслу NVIDIA должна упростить внедрение PhysX в игровые проекты и ускорить процесс разработки. APEX позволяет художникам и дизайнерам создавать физические эффекты при минимальном участии программистов. Вместо низкоуровневого API PhysX, разработчику предоставляется набор инструментов для создания определенных физических эффектов на базе готовых APEX-модулей. Использование этих модулей обеспечивается интеграцией фреймворка APEX в игровые движки.
Игровые движки [ править | править код ]
Игровые движки, использующие в качестве физической подсистемы компоненты PhysX SDK:
Игра Metro: Last Light (более известная русскоязычным игрокам как Metro 2033: Луч надежды), шутер от первого лица в пост-апокалиптическом сеттинге, присоединяется к линейке игровых проектов с поддержкой аппаратно ускоренных PhysX эффектов.
Upd #2: Metro: Last Light – GPU PhysX Профиль
Первая игра в серии – Metro 2033 – также отличилась поддержкой GPU PhysX, хотя она и была ограничена несколькими простыми эффектами частиц.
Оказался ли Last Light способен улучшить результат своего предшественника ? Давайте разбираться.
КОЛИЧЕСТВО | 8/10 |
GPU PhysX эффекты (названные в игре “Детальным PhysX” или “Advanced PhysX” в английской версии) в Metro: Last Light можно разделить на две базовые категории – физически симулируемые частицы и симуляцию дыма и тумана на основе алгоритма SPH.
Эффекты частиц включают в себя:
- Осколки (бетонная крошка, деревянные щепки, осколки стекла и п.р.) и искры от попаданий пуль по различным поверхностям.
- Обломки от разрушаемых объектов (заграждения, колонны, картонные коробки).
- Дополнительные искры и обломки при взрывах гранат.
- Частицы, генерируемые определенными типами монстров (к примеру, рако-пауки выбивают из земли мелкие камни, когда бьют по ней острыми клешнями).
- Частицы, привязанные к определенным объектам окружения (такие как искры от сварки).
Все эффекты частиц равномерно распределены по ходу прохождения игры и могут быть встречены практически на любом уровне Metro.
Кроме того, частицы и осколки взаимодействуют с игровыми персонажами и т.н. силовыми полями (к примеру, взрывная волна при подрыве гранаты разбросает обломки, лежащие на полу).
Используемая в Last Light симуляция поведения дыма и тумана выполнена по алгоритму Smoothed Particles Hydrodynamics (SPH, Гидродинамика Сглаженных Частиц) и ранее встречалась в таких играх как Batman: Arkham City/Asylum и Mafia 2.
Эффекты, основанные на методе SPH, довольно активно используются в игре. Они так же поддерживают взаимодействие с персонажами (игрок, NPC) и прочими объектами – например, при взрыве гранаты в облаке тумана образуется проплешина, которая вскоре самостоятельно затягивается.
К этому времени, уже могут слышаться нетерпеливые возгласы – “Эй ! А как же насчет той прекрасной симуляции ткани, что нам показывали в трейлерах ?”
Ситуация с тканью в Metro: Last Light довольно интересна – несмотря на распространенное мнение, большинство тканевых объектов в игре представляют из себя обычную, заранее рассчитанную анимацию , а вовсе не симуляцию в реальном времени.
Конечно, можно найти множество объяснений тому, почему ткань была выполнена именно в такой форме (необходимость соблюсти внешний вид и стиль игры на консолях, экономия ресурсов и п.р.) – но все равно, если бы использовалась настоящая PhysX симуляция, это было бы очень впечатляюще, а так это просто.. нормально.
Стоит отметить, что в игре все-таки есть заметно более простая, но реальная, физически симулируемая ткань , представленная в виде различных занавесей и оборванных штор (при отключении GPU PhysX, такая ткань считается на CPU).
К сожалению, “Детальный PhysX” оказывает минимальное влияние на качество симуляции физики ткани в Metro: Last Light – количество тканевых объектов остается неизменным, как и их детализация, при этом “детальная” симуляция лишь добавляет несколько незначительных особенностей, например, реакцию ткани на взрывы гранат. Ткань даже не желает рваться от попаданий пуль – а это почти что стандарт в проектах с GPU PhysX.
Проще говоря – PhysX ткань в Metro серьезно уступает ткани в других играх – Borderlands 2 или даже Mirror’s Edge.
Кроме того, прочие интересные физические эффекты, такие как симуляция жидкости или турбулентные частицы, прошли мимо Metro: Last Light.
КАЧЕСТВО | 7/10 |
Эффекты частиц в Metro: Last Light сделаны весьма аккуратно , в частности, нам особенно запомнились искры, взаимодействие которых с геометрией уровня рассчитывается в реальном времени – уж очень хорошо они смотрятся в мрачном и темном окружении игровых уровней.
Прочим типам физических частиц не хватает разнообразия, особенно в визуальном плане (обломки и осколки уж совсем одинаковы). Но несмотря на это, выглядят такие частицы неплохо и не вызывают каких-либо негативных эмоций.
Симуляция дыма и тумана по методу SPH выполнена на высоком уровне , при этом внешний вид и поведение данного типа эффектов хорошо согласованы с конкретным игровым окружением. Определенные примеры использования SPH довольно.. необычны.
Тем не менее, в некоторых областях SPH симуляции не хватает детализации – из-за явно недостаточного количества частиц, и, соответственно, их слабой реакции на действия игрока, мимо иных SPH объектов можно вообще пройти мимо, так и не заметив их “физической” природы.
ИГРОВОЕ ПОГРУЖЕНИЕ | 8/10 |
Когда мы говорим об использовании GPU PhysX эффектов в играх, мы всегда упоминаем фактор персонального вкуса и личностного восприятия – одних людей эффекты могут привести в восторг, на других они впечатления не производят и вскоре отключаются. Однако в случае с Metro: Last Light физические эффекты придутся по нраву большинству, как нам кажется.
Да, поддержка GPU PhysX в этой игре не настолько красочна и разнообразна, как в других проектах, вам вряд ли придется поднимать с полу челюсть или хотя бы удивленно поднимать брови – но в то же время, эффекты не выглядят избыточными и излишне навороченными.
В целом, дополнительные PhysX эффекты представляют собой не слишком яркое, но органичное и ненавязчивое дополнение для визуальной составляющей Metro: Last Light.
ПРОИЗВОДИТЕЛЬНОСТЬ | 7/10 |
В Metro: Last Light задействована довольно старая версия PhysX SDK – SDK 2.8.3 – в качестве физического движка, что вызывает удивления во времена, когда в играх уже вовсю используется PhysX 3.x.
Как и во многих других проектах, интеграция PhysX SDK состоит из нескольких ступеней:
- Базовой CPU физики в виде рагдоллов, физики твердых тел и контроллера персонажа, одинаковой для всех платформ
- Дополнительных физических эффектов, ускоряемых на GPU, о которых мы расказывали ранее.
Поддержку GPU PhysX можно включить, отметив галочкой опцию “Детальный PhysX”.
Отметим, что производительность аппаратно ускоренных физических эффектов держится на довольно пристойном уровне , особенно если при этом не “злоупотреблять” тяжелыми графическими опциями, такими как высокие настройки тесселяции и SSAA.
А вот просчет дополнительных PhysX эффектов на CPU отличается очень низкой эффективностью (особенно по сравнению с такими играми, как Borderlands 2) – зачастую при перестрелках частота кадров падает до 10-15 кадр/сек и даже ниже, хотя количество физически симулируемых частиц не достигает каких-то запредельных значений.
Чтобы дать вам представление о влиянии “Детальных” PhysX эффектов на производительность игры, мы решили произвести соответствующие замеры частоты кадров, но используя при этом не встроенный бенчмарк, а реальную игровую ситуацию в начале уровня “Лагерь”, наполненную яростной пальбой и взрывами.
Система: i7 2600K CPU, GTX 580 GPU, 8 GB RAM, Win 7 64-bit | 320.14 GPU Драйвера, 9.12.1031 СПО PhysX.
Игровые настройки: 1680×1024, Качество: Очень Высокое, Тесселяция: Высокое, SSAA: Выкл.
Как вы можете видеть, даже со включенными GPU PhysX эффектами частота кадров остается на достаточно комфортном уровне . Во время прохождения игры, мы не заметили каких-либо серьезных падений производительности.
В то же время, скорость просчета PhysX эффектов силами центрального процессора совершенно ужасна и, что самое плохое, неадекватна – игра может легко превратиться в слайд-шоу даже при минимальном количестве частиц на экране. Если у вас нет в наличии видеокарты от NVIDIA, к “Детальному PhysX” лучше даже не приближаться.
А вот владельцев Гибридных PhysX конфигураций ожидают приятные новости – с гибридами Metro: Last Light работает без особых проблем и привычных уже “плясок с бубном” над .dll’ками движка.
ИТОГО | 7.5/10 |
Metro: Light Light – отличная и интересная игра, которую хорошо дополняют не слишком навязчивые и довольно красивые GPU PhysX эффекты.
Настоятельно рекомендуется к ознакомлению.
Благодарим Александра Харламова (NVIDIA) за помощь, оказанную при подготовке данной статьи.
Дубликаты не найдены
Может сложиться впечатление (у неискушённого читателя), что PhysX работает только при наличии GPU NVIDIA, что неверно. При наличии GPU другого производителя движок тоже будет использоваться, но расчёт будет производиться на CPU.
И будет дико жрать FPS( Кстати,пару-тройку лет назад был способ запуска расчетов и на Radeon,но потом драйвера пофиксили(
Вы преувеличиваете — смотря какой процессор.
Mirror’s edge на ати карте 5830 изза этой хуерги тормозит в одном месте так, что пришлось просто удалить игру.
Всё просто. В большинстве игр к ярлыку после пути приписываешь -nophysx и проблемы исчезают.
Cor2du t6500 и ati radeon hd4650 Прошел всю с физиксом , лагало и то чуть чуть только когда по стеклу ехал и в тебя стреляли.
Кажись не из-за драйверов, а из-за закрытости самого физикса.
Это например отражено на технологии Hairworks, на зеленых она нормально работает, на красных из-за не возможности оптимизации — крайне сильное падение фпс.
При том что технология TressFX (аналог от красных) — открыта и одинаково оптимизирована для всех производителей.
У движка есть доп. функция — при любом его упоминании моментально образуются две стенки Зелёных и Красных, после чего с воплями идут друг на друга.
Помню еще тесты в журналах этой карты, которая не давала вообще никакого прироста нигде кроме как в спец.бенчмарке.
Один минус — у предметов словно нет веса. Все какое-то надувное у вашего физикса. А вот рокстаровский физический движок меня устраивает на 100%.
//разрешитедоебатьсяmode_on//
Он не рокстаровский. Это эйфория, а вот рокстар лишь прикрутила его с 4й части. Есть пробная версия — эндорфин.
//разрешитедоебатьсяmode_off//
Эйфория только считает анимации , за физику же отвечает физ движок Bullet.
Havok вроде называется движок как раз конкурент PhysX
Так сдохъ уже, вроде, нет? Самый свежий релиз в 2012 году был. Да и аппаратного ускорения (на GPU) там, как я понял, так и не сделали.
Его вроде порвали на части havok FX, havok destraction и т.д. к примеру в новой Rainbow Six Siege используется Havok FX.
PhysX нужен для розжигания холиваров.
так как репост сделать
Хороший пост.Продолжайте в том же духе.Удачи
С оригинальным Physx от Ageia мне доводилось сталкиваться только в одной игре — Two Worlds. Тогда я пользовался карточкой от ATI, на дворе стоял тот самый 2007й. Кстати, сейчас эта игра не запускается со стандартным инвидиевским физиксом, ему некую легаси-версию подавай.
А вообще, помню отзывы в прессе об этой технологии в 2007-2008 годах — тогда говорили, что выход ее неудачно совпал с экспансией многоядерных процессоров, что второе ядро cpuпрекрасно справится с расчетом физики. Но, с покупкой Агеи Инвидией все заткнулись.
Нет связанных сообщений
Источник: motorevive.ru
Детальный Physx — что это
Студия 4A Games реализовывает в своих играх передовые технологии в области. В Metro Exodus геймеры оценили возможности HairWorks и Advanced PhysX или «детальный PhysX». Кратко рассмотрим, что они дают.
Возможности
HairWorks – технология Nvidia, добавляющая игровым персонажам реалистичные, динамические, детализированные волосы, мех и шерсть. При этом задействуются физические ресурсы мощных графических адаптеров серии GTX с поддержкой тесселяции и DirectX 11. Если производительности графического ускорителя будет недостаточно, возможны подтормаживания игры, проседание FPS. Создатели модов сумели реализовать технология в Witcher 3, «прикрутив» Йеннифер реалистичную причёску.
PhysX – движок, технология моделирования реалистичных физических эффектов, поведения объектов, созданных на основе частиц. «Продвинутый PhysX» – это уже сами эффекты, которые рассчитываются графическим профессором. В играх вроде Metro и Batman эффекты на основе частиц включают:
- Осколки, щепки, крошка, обломки при повреждении твёрдых объектов.
- Огни, вспышки, искры при взрывах, столкновениях.
- Ореолы, физические поля, взрывные волны.
- Источники света, огня, привязанные к объектам, например, искры силовых электроустановок.
Эти и другие типы частиц взаимодействуют с окружающим миром: взрывная волна разбрасывает лёгкие предметы (картон, дерево), искры могут зажечь легко воспламеняемые вещества.
В Metro: Last Night и Mafia 2 внедрена симуляция дыма, тумана, газов, реализованная на алгоритмах гидродинамики сглаженных частиц (SPH). В тумане, например, во время проезда сквозь него авто или взрыва образуется проплешина, которая вскоре автоматически заполняется частицами газообразной воды.
Источник: physx.su
Танцы с бубном или простая установка PhysX
Многие пользователи ПК наверняка в курсе, что такое PhysX и для чего он нужен. рассказывать нет смысла.
В данной статье речь пойдёт о том, как всё-таки установить этот злополучный PhysX (на моём примере).
Те, кто устанавливал драйвера версии 320.*** наверняка заметили, что пункт PhysX отсутствует в «Программы и компоненты» в Windows 7. Заметил и я, когда в очередной раз установил свежие драйвера версии 320.18. Все программы рапортуют о присутствии PhysX, однако в списке установленных программ его нет. После некооторых манипуляций я добился того, что PhysX с сообщением: Данные настройки для этого продукта повреждены. Обратитесь в службу поддержки просто перестал устанавливаться:
25 мая 2013, суббота 22:20
blog_user_Jameson [ ] для раздела Блоги
RTX 4060 Ti сразу со скидкой 10 000р
4060 Ti дешевле 50 тр в Ситилинке
-17000р на 4070 Ti Gigabyte в Ситилинке
-20000р на Ryzen 3950X — пора брать
-9000р на RTX 4070 Gigabyte
1Tb SSD Crucial в ДВА раза подешевел
Многие пользователи ПК наверняка в курсе, что такое PhysX и для чего он нужен. рассказывать нет смысла.
В данной статье речь пойдёт о том, как всё-таки установить этот злополучный PhysX ( на моём примере).
Те, кто устанавливал драйвера версии 320.*** наверняка заметили, что пункт PhysX отсутствует в «Программы и компоненты» в Windows 7. Заметил и я, когда в очередной раз установил свежие драйвера версии 320.18. Все программы рапортуют о присутствии PhysX, однако в списке установленных программ его нет. После некооторых манипуляций я добился того, что PhysX с сообщением: Данные настройки для этого продукта повреждены. Обратитесь в службу поддержки просто перестал устанавливаться:
И никакие манипуляции в виде:
— полного удаления даже в безопасном режиме;
— «чистой установки»
. не помогали. драйвера устанавливаются благополучно, кроме одного.
Поиск по google ничего толком не дал, кроме одной мысли, что всё-таки почистить реестр, но не просто почистить, а не много потанцевать.
В общем, что мы делаем, точнее, что нам надо:
— программа Driver Fusion (можно скачать и бесплатную версию);
— желание установить PhysX;
— непосредственно сам PhysX;
— ну и прямые руки:
Сразу скажу: всё, что вы делаете — это на ваш страх и риск. Хотя рисковать тут нечего, если что — переустановка Windows
Итак, сначала удаляем все драйвера NV.
Затем запускаем программу Driver Fusion и выбираем в ней: NVIDIA PhysX.
И выбираем Analyze. Соответственно всё, что программа найдёт, то мы и удаляем.
Затем идём в реестр (msconfig — regedit) и «Правка — Найти» набираем слово — physx.
Теперь всё, что находим, связанное со словом «physx» мы просто удаляем. У меня это заняло около минуты. Всё, после этого делаем перезагрузку и ставим драйвер и PhysX по новой, должно получится.
И PhysX теперь ставится, и в списке устанолвенных программ благополучно отображается.
На этом всё. Надеюсь, что данная заметка окажется кому-нибудь полезной, на решение данного вопроса я потратил около 2-х часов времени, так что буду рад, если кому-то помог это время сократить
P.S. Отдельное спасибо камраду Куба за помощь в решении проблемы.
Покидать помидоры можете тут — https://forums.overclockers.ru
other_material_inline_bottom
Источник: overclockers.ru