25 января 2010
Обновлено 17.05.2023

Нереальная физика. Тестирование NVIDIA PhysX на конфигурации SLI Multi-Card

Нереальная физика. Тестирование NVIDIA PhysX на конфигурации SLI Multi-Card - изображение обложка

Как известно, видеокарты NVIDIA умеют брать на себя часть обязанностей центрального процессора: перекодировать видео, ускорять математические расчеты и, конечно, работать с физическими движками — с тем же PhysX. Такая работа отнимает львиную долю производительности платы, и железные энтузиасты не первый год пытаются увеличить мощность компьютера и сэкономить деньги, обманывая NVIDIA SLI и соединяя в одну систему две видеокарты разных серий. Делать это они научились уже давно: компьютеры с двумя разными платами собирались еще в середине 2008-го, но для этого нужно было приложить немало усилий. Обзавестись двумя мониторами, или одним, но с парой входов — к примеру, DVI и VGA. После установки первой видеокарты выключить компьютер, вставить вторую видеокарту, подключить к ней еще один монитор, из безопасного режима Windows удалить все драйверы программой Driver Sweeper и затем снова установить драйвер NVIDIA ForceWare.

В октябре 2009 года появилась технология NVIDIA Multi-Card , которая позволила без особого труда собирать связки из двух видеокарт NVIDIA разных семейств, скажем, из GeForce GTX 295 и GeForce 9600 GT. В прошлом номере мы провели первые тесты этой технологии, а сегодня уже готовы обстоятельно рассказать, какие карты лучше ставить на расчет PhysX.

С чем есть

Физика в игре нужна, чтобы вы поверили в реальность происходящего. В играх она появилась очень-очень давно. Взять тот же Pong : если бы виртуальный мячик не отскакивал при ударе, как это делает мячик настоящий, разработчики ни за что не убедили нас, что это пинг-понг. С тех пор прошло почти сорок лет, но ничего не изменилось, увеличились лишь масштабы. Сейчас чуть ли не любая игра — это огромный мир с тысячами объектов, и каждый из них должен вести себя достоверно. К сожалению, устроить это не так просто.

Если выстрелить из дробовика в коробку, то она не только подлетит в воздух, но и разорвется в клочья. И когда в игре она лишь обрастает дырками от пуль, не двигаясь с места, это выглядит престранно. Однако так и происходит, ведь трехмерная модель — всего лишь набор полигонов, формирующих нужную форму. Чтобы игра отличала картонную коробку от железобетонного блока, нужно объяснить компьютеру, что такое гравитация, удар, ускорение, трение, указать вес коробки и материал, из которого она сделана.

Те, кто ушел дальше школьного курса физики или изучал сопромат и теоретическую механику, знают, что даже посчитать, с какой скоростью колесо скатится с горы, — невероятно сложно. А уж достоверно описать, как коробка отреагирует на попавшую в нее дробь, — та еще задачка. Студенты технических вузов по полгода рассчитывают, как какая-нибудь пружинка реагирует на сжатие, — а представьте, сколько таких колесиков, ящиков, пружинок в игре вроде Burnout Paradise. Да даже если весь состав Electronic Arts посадить все это программировать, то следующую их игру мы увидим лет через десять! К счастью, на свете есть физические движки.

Замещая реальность

По сути своей любой движок, будь то Havok или PhysX, это база данных с описанием материалов и их свойств. В случае с той же коробкой, например, разработчику достаточно сказать движку: «Она картонная и весит 200 граммов», — и движок автоматически подберет нужные формулы и даст понять игре, как реагировать на те или иные манипуляции с коробкой. И это отлично работает. Яркий пример — Half-Life 2 с его гравипушкой, которая позволяет разбрасывать ящики или переставлять бочки.

Но ящики и бочки — это, к сожалению, лишь малая часть реального мира. Если вы присмотритесь к той же Half-Life 2, то заметите, что все объекты в игре — абсолютно твердые тела. Они умеют прыгать, кувыркаться в воздухе, отскакивать от стен, но там даже самый простой объект при ударе не меняет своей формы. Причина — недостаточная производительность современных компьютеров. Написать формулы для работы с водой, тканью, резиной или туманом несложно, их огромное количество, но просчитывать такие формулы пока нечем.

Возьмем для примера ткань. Только подумайте, сколько точек в юбке обычной девочки. Тысячи! И чтобы подол правильно развевался на ветру, необходимо ежесекундно рассчитывать положение каждой точки, учитывать поведение всех соседних, силу ветра, направление движения персонажа. Это не говоря уже о том, что ветер создает множество маленьких потоков, которые также влияют на поведение ткани. И вот представьте, что ваш Core i7, который пыхтит с Windows, улаживает проблемы с драйверами, следит за ИИ персонажей, вдруг получает такую юбочку. Даже самые современные процессоры не готовы к таким нагрузкам.

Тесты

«Анабиоз: Сон разума»

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

Batman: Arkham Asylum

Собственно интересных задумок с физикой в «Бэтмене» немного, зато объекты в игре представлены самые разные. Плащ главного героя развевается на ходу, враги красиво разбрасывают сотни листиков бумаги. А еще нам показывают работу PhysX с частицами: тут очень красиво сделан туман, который плотным слоем стелется по земле.

PhysX FluidMark

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

Светлая мысль

Первой это поняла компания Ageia : в середине 2000-х она начала делать физический движок PhysX SDK , который научила считать поведение твердых тел, ткани, жидкости — и обрабатывать все аппаратными средствами. Своими силами Ageia разработала одноименную плату PhysX, которая и должна была помочь центральному процессору. Однако Ageia не хватило ни денег, ни сил, чтобы довести революционный проект до конца и получить необходимую поддержку от разработчиков игр. В феврале 2008 года компанию перекупила NVIDIA.

Основа платы PhysX — ядра общего назначения, примерно такие же, как на всех видеокартах NVIDIA. Учитывая, что в 2008-м уже вовсю продвигалась CUDA , встроить поддержку PhysX в драйверы не составило труда: все видеокарты NVIDIA после GeForce 8000 умеют работать с движком PhysX. Но и здесь есть свои недостатки.

При включении PhysX мы действительно разгружаем центральный процессор, но одновременно отбираем ресурсы у видеокарты, а ведь ей еще графику в игре считать. Получается палка о двух концах. Да, видеокарты быстрее считают физику, они заточены под это, но общая производительность системы все равно снижается. А терять дополнительные кадры в секунду ради каких-то ящиков хочется не каждому. NVIDIA с самого начала предлагала выход: купите, мол, вторую видеокарту и отдайте ее на растерзание физики. Но условия были больно жесткими. В SLI можно было ставить только идентичную первой плату, и если у вас уже стояла GTX 285, то за вторую такую карту приходилось отдать еще 12 000 рублей, что было слишком дорого за ящики и юбочки.

Время перемен

Технология NVIDIA Multi-Card — это, условно, разновидность SLI. С ее помощью можно объединить GTX 285 со старой GeForce 8800 GT или GTX 275 c GeForce 9500 GT, не используя дополнительные мостики или дорогие материнские платы. Порядок действий простой: установить более мощную плату (GTX 285, GTX 275 и т.д.), проинсталлировать драйверы, выключить компьютер, вставить вторую видеокарту. Windows сама подхватит еще одну плату и подберет драйверы под нее. От вас потребуется только войти в NVIDIA Control Panel и выбрать, какая из плат будет отвечать за PhysX.

Для тестов мы взяли сразу пять плат MSI : GeForce 9500 GT и 9600 GT , GeForce GT 240 , GT 220 и 210. Все эти карты стоят сегодня меньше 3500 рублей (которые вполне можно заплатить за достоверную физику), и нас интересовало, насколько они потянут PhysX. Чтобы не упираться в графику, в связку к ним мы установили GeForce GTX 285. Естественно, мы также проверили ее в работе без аппаратного ускорения и с включенным PhysX.

Компьютер для тестов собрали мощный. Материнская плата — MSI X58 Platinum , процессор — Intel Core i7 920 , память — три планки Kingston HyperX DDR3-1600 по 2 Гб. Сверху поставили Windows Vista 64-bit и скачали последние драйверы ForceWare 195.62. Для оценки производительности мы использовали пару игр — « Анабиоз: Сон разума » и Batman: Arkham Asylum — и специальный бенчмарк NVIDIA PhysX FluidMark. В играх мы выкручивали на максимум не только физику, но и общее качество графики.

Один хорошо, а двое лучше

Центральный процессор не справился с расчетами PhysX SDK — это стало ясно сразу. Даже наш мощный Core i7 920 не смог вытянуть ни одну из игр на приемлемый уровень производительности — посмотрите таблицы, везде не больше пятнадцати кадров. После переключения PhysX на GeForce GTX 285 ситуация кардинально изменилась — игры пошли на приличной скорости. Но по сравнению с тестами со включенным PhysX без поддержки второй видеокарты все равно получалось мало: без PhysX на GTX 285 набегало 144 кадра, с PhysX — уже 58.

Мы стали подбирать идеальную плату для расчетов физики, прогнали довольно много тестов и выяснили, что далеко не каждая видеокарта способна работать с PhysX: слишком большие объемы расчетов. Мало того, неподходящая плата и вовсе может стать узким местом всей системы. Сравните результаты! Первая же видеокарта, GeForce 210, не справилась со своими обязанностями и затормозила работу: по сравнению с тестом с одной GTX 285 мы потеряли в Batman 27 кадров в секунду. Но начиная с GeForce 9500 GT показатели поползли вверх. Несмотря на то, что абсолютная производительность PhysX по сравнению с одиночной GTX 285 ниже в три раза (см. результат FluidMark), в играх такая связка прибавляет по 10 кадров в секунду. То же можно сказать и про GeForce 9600 GT — прирост почти 40%. А вот карты новой серии, GT 220 и GT 240, вели себя неоднозначно. В игре «Анабиоз: Сон разума» результаты были на уровне одиночной GTX 285, а в Batman: Arkham Asylum производительность увеличилась на 37%.

Таблица 1
Технические характеристики
MSI N285GTX SuperPipe OC MSI N9500GT-MD512/D2 MSI N9600GT Zilent 1G
Ядро GT200b G96 G94
Количество транзисторов 1,4 млрд 314 млн 505 млн
Техпроцесс 55-нм 55-нм 65-нм
Количество потоковых процессоров 240 32 64
Частота графического ядра 680 МГц 550 МГц 650 МГц
Частота потоковых процессоров 1476 МГц 1375 МГц 1625 МГц
Тип, объем памяти GDDR3, 2 Гб GDDR2, 512 Мб GDDR3, 1 Гб
Частота памяти 2500 МГц 800 МГц 1998 МГц
Шина данных 512 бит 128 бит 256 бит
Количество текстурных блоков 80 16 32
Количество блоков растеризации 32 8 16
Интерфейс PCIe x16 2.0 PCIe x16 2.0 PCIe x16 2.0
Цена на январь 2009 года 13 500 рублей 1900 рублей 2800 рублей
Технические характеристики
MSI N210-MD512H/D3 MSI N220GT-MD512 MSI N240GT-MD1G
Ядро G218 G216 G215
Количество транзисторов 260 млн 486 млн 727 млн
Техпроцесс 40-нм 40-нм 40-нм
Количество потоковых процессоров 16 48 96
Частота графического ядра 589 МГц 625 МГц 550 МГц
Частота потоковых процессоров 1400 МГц 1360 МГц 1340 МГц
Тип, объем памяти GDDR3, 512 Мб GDDR2, 512 Мб GDDR3, 1 Гб
Частота памяти 1580 МГц 810 МГц 1580 МГц
Шина данных 64 бит 128 бит 128 бит
Количество текстурных блоков 8 16 32
Количество блоков растеризации 4 8 8
Интерфейс PCIe x16 2.0 PCIe x16 2.0 PCIe x16 2.0
Цена на январь 2009 года 1500 рублей 2200 рублей 3500 рублей
Таблица 2
Сравнительные тесты
PhysX FluidMark, 1680x1050 PhysX FluidMark, 1920x1080
GTX 285 + Core i7 920 23 23
GTX 285 214 249
GTX 285 без PhysX — —
GTX 285 + GF 9500 GT 74 65
GTX 285 + GF 9600 GT 128 108
GTX 285 + GF 210 31 33
GTX 285 + GF GT 220 77 69
GTX 285 + GF GT 240 — —
Сравнительные тесты
«Анабиоз: Сон разума», 1680x1050 «Анабиоз: Сон разума», 1920x1080 Batman: Arkham Asylum, 1680x1050 Batman: Arkham Asylum, 1920x1080
GTX 285 + Core i7 920 11,4 10,2 12 13
GTX 285 38,2 38,3 58 51
GTX 285 без PhysX — — 144 128
GTX 285 + GF 9500 GT 48,9 42,9 55 53
GTX 285 + GF 9600 GT 54,8 45,6 77 73
GTX 285 + GF 210 35,5 32,2 31 31
GTX 285 + GF GT 220 46,7 38 69 69
GTX 285 + GF GT 240 47 42,9 80 76

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