NVIDIA PhysX CPU против GPU


Каждый владелец видеокарты от фирмы NVIDIA хотя бы раз открывал ее панель управления. И наверняка попадал на пункт “Установка конфигурации PhysX ”. В этом разделе почти нет никакой полезной информации, но есть всего один параметр “Выбор процессора PhysX ”, который предоставляет возможность выбрать чьими силами обрабатывать интегрированную во многие игры, фирменную технологию компании NVIDIA – PhysX.

0

PhysX – кроссплатформенный, встраиваемый физический движок для симуляции ряда физических явлений. Первоначально разрабатывался компанией Ageia для своего физического процессора PhysX. После того, как Ageia была приобретена NVIDIA, движок перешёл в собственность компании NVIDIA, которая продолжает его дальнейшую разработку. NVIDIA адаптировала движок для ускорения физических расчётов на своих графических чипах с архитектурой CUDA. PhysX может также производить вычисления с использованием обычного процессора. В настоящее время PhysX доступен на следующих платформах: Windows, Linux, Mac OS X, Wii, PlayStation 3, Xbox 360, PlayStation 4, Xbox one. Движок используется во многих играх и активно предлагается для продажи (лицензирования) всем желающим. (c) Wikipedia

При просмотре этого пункта, очень многие задумывались вопросом: «А какой же параметр выбрать? Авто, CPU или GPU» – В этом мы сегодня и разберемся!

Стоит сразу отметить что некоторые возможности PhysX NVIDIA позволяет обрабатывать только на своих видеокартах, а остальным же стоит довольствоваться только на обработку силами CPU.

Тестовый Стенд
Монитор: DELL U2414H 1920х1080 60 Гц
CPU: Intel Core [email protected] 1.025v;
GPU: EVGA NVIDIA GTX 1070;
Motherboard: ASUS X99-A/USB3.1;
SSD (systeam+games): Intel 530 Series 120GB;
Memory: Corsair ValueSelect DDR4 8GB@2400.

Методика тестирования
Для тестирования были выбраны игры, которые используют технологии PhysX и имеют встроенный тест производительности, которым и производилось тестирование с разными режимами работы “Выбор процессора PhysX ” AUTO/GPU/CPU.
Вот список отобранных игр:
Rise of Tomb Rider
Batman: Arkham Knight
Metro: Last Light Redux
Mafia 2

Краткое описание основных технологий, которые используются в выбранных играх

Rise of Tomb Rider
Прошлая часть Tomb Rider использовала технологию AMD TressFX, которая позволяла реалистично симулировать в реальном времени шерсть и волосы персонажей. В новой части используется новая технология, которая создана на базе AMD TressFX, PureHair разработанная Crystal Dynamics при сотрудничестве с NVIDIA и опирающейся на PhysX.
tomb

Вторая технология, использованная тут это метод затенения VXAO, аналог HBAO+ и SSAO. VXAO является более качественным вариантом, по сравнению со своими конкурентами. Этот метод Ambient Occlusion (AO) позволяет реализовать еще более точное затенение с учетом освещенности и влияния объектов друг на друга. VXAO является частью технологии объемного освещения VXGI (Voxel Global Illumination), которая корректно учитывает прямой  и отраженной свет. В VXGI сцена разбивается на вексельную сетку, а потом осуществляется трассировка сцены с учетом разных параметров для каждого сегмента. Кроме корректного моделирования освещенности каждого участка при таком методе получается более точное затенение Ambient Occlusion. Наглядный пример ниже.
ssao_vxgi

Batman: Arkham Knight
Наверное, самый яркий представитель для данного тестирования. Здесь использовано масса технологий из библиотеки NVIDIA PhysX Gameworks , как доступных всем, так и несколько, которые могут использовать только владельцы видеокарт NVIDIA.
Cloud FX – представляет собой реалистичную симуляцию дыма и тумана. Позволяет имитировать полное поведение частиц и влияние на них внешней среды. Доступен только для только владельцев видеокарт NVIDIA. Еще одной такой технологией является интерактивные клочки бумаги. Это очень сложно описать, но это прекрасно можно увидеть на техническом превью игры, в котором показанные другие технологии, которые доступны всем.

Mafia 2
Старичок, в нем была использована технология APEX. Она позволяла работать с мелкими элементами, на которые делились объекты при разрушении. Разбивать большие объекты на части и оставлять на сцене его части.

Metro: Last Light Redux
Игра, которая “Унижала” топовые видеокарты того времени, поскольку здесь использовались все самые передовые технологии от NVIDIA. Симуляция разрушений, обсчет дыма, тесселяция.

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

Rise of Tomb Rider
Сглаживание было решено отключить, т.к. не оправданно перегружает систему и не влияет на результат нашего тестирования.
screenshot001
screenshot002
screenshot003

Результаты тестирования:
test1
test2

Batman: Arkham Knight
Для режима GPU:
screenshot001

Для режимов CPU/AUTO
screenshot002

Результаты тестирования:
test1
test2

Mafia 2
mafia

Результаты тестирования:
test

Metro: Last Light Redux
screenshot001

Результаты тестирования:
test1
test2

Заключение
Результат, я бы сказал, неожиданный. Почти во всех тестах автоматический режим опережает, или находится в пределах погрешности с его преследователями. Неясность вызвал только Batman: Arkham Knight. Тест перепроверялся 3 раза, и все время результат был одинаков, с чем это может быть связанно – не знаю. Что касается изначального нашего вопроса — «Что же лучше CPU или GPU для обработки PhysX?», однозначно ответить нельзя, т.к. в разных играх результаты могут перевернуться с ног на голову.

Послесловие
Результат крайне закономерен. Еще начиная работу в сфере видеокарт, NVIDIA, смогла привлечь программистов, которые смогли создать программное обеспечение. Оно и помогло им обойти своих конкурентов. И, как мы видим сейчас, программисты высокого уровня в компании не перевелись, что не может не радовать.

Автор статьи: Виталий Абрамович