Обзор физического ускорителя Ageia PhysX
Вступление
Помимо цвета, формы и запаха, каждый объект в нашем мире обладает дюжиной физических параметров, таких как масса, плотность, упругость и других, оказывающих влияние на его поведение при взаимодействии с другими объектами или с человеком. Резиновый мяч отскакивает от пола, вода послушно заполняет углубление, снаряд разрушает стену, разлетаются в разные стороны осколки разбитого стекла – подобных примеров из жизни можно привести миллионы. Но до недавнего времени ничего похожего не было в трехмерных компьютерных играх, призванных моделировать физический мир – реальный или фантастический. Игрок мог выпустить весь боезапас в одиноко стоящую бочку или тонкую стену здания, но бочка продолжала стоять на месте, как влитая, а на стене, в лучшем случае, появлялись отметины от выстрелов, имитируемые при помощи текстур-декалей.
За последнее время в визуализации виртуальных миров разработчики игр добились весьма впечатляющих успехов, благо значительно возросла и производительность графических карт. Демонстрация ранее немыслимых по сложности сцен без превращения игры в слайд-шоу стала возможной, и это, несомненно, добавило реализма современным играм в сравнении с играми пятилетней давности. Но ощущение реализма происходящего складывается из многих факторов, одним из которых, причем вряд ли менее важным, нежели фотореалистичная графика, является интерактивность воплощенного в игре мира, а именно с ней до сих пор имеются большие проблемы.
Дело в том, что аккуратная имитация поведения игровых объектов с использованием законов физики реального мира требует наличия значительных вычислительных мощностей. Если моделирование поведения сравнительно небольшого количества объектов еще вполне реализуемо и реализовано, в частности, в Half-Life 2, то полная имитация поведения всех или хотя бы большинства объектов легко способна поставить на колени даже самый мощный центральный процессор. Именно на его плечах сегодня лежит работа по обсчёту физической модели в игре. Казалось бы, с появлением двухъядерных процессоров появилась возможность возложить эту задачу на одно из процессорных ядер, в то время как второе продолжало бы отвечать за игровой A.I., заниматься поиском пути (pathfinding) и т.д.
Это логичное решение, являющееся, однако, полумерой – специфика моделирования поведения и взаимодействия большого количества сложных объектов, а также сложных систем частиц, использующихся для создания воды, дыма и т.п., требует применения параллельных вычислений, в противном случае мы рискуем получить неудовлетворительную производительность. Иными словами, для реализации в играх физической модели, максимально приближенной к реальной, необходимо вычислительное устройство с параллельной архитектурой, которое в состоянии быстро выполнить ряд довольно сложных расчетов. Надо сказать, что именно такой архитектурой во многом обладают современные GPU или же процессоры вроде Cell; более того, ATI Technologies и Nvidia уже объявили о возможности использования графических карт Radeon X1000 или GeForce 7 в качестве физических сопроцессоров.
Небольшая и сравнительно молодая компания Ageia Technologies, основанная в 2002 году, в течение долгого времени вела разработку специализированного сопроцессора PhysX, предназначенного для расчета физической модели в играх и совсем недавно продукты на базе этого чипа, наконец, появились в продаже. Мы рассмотрим новинку на примере платы Asus PhysX P1. Итак, что же представляет собой физический ускоритель, разработанный Ageia Technologies?
реклама
Ageia PhysX: технические характеристики
Суть концепции Gaming Power Triangle, предлагаемой Ageia Technologies, заключается в том, что для достижения максимальной степени реализма игровая система должна состоять из трех основных компонентов, каждый из которых берет на себя обработку соответствующей части игры.
Центральный процессор в такой связке занимается игровым процессом и расчетами искусственного интеллекта, задачей графического процессора является рендеринг и отображение игровой сцены, а на плечи PPU (Physical Processing Unit) ложится вся нагрузка по просчету физической модели игрового мира. Иными словами, PPU в этой концепции отвечает за движение и взаимодействие всех объектов в игре, начиная от моделей игроков и монстров, и заканчивая поведением жидкостей и обломков. Такая заявка требует огромных вычислительных мощностей, но сможет ли предоставить их разработка Ageia?
К сожалению, в настоящее время мы не располагаем подробной информацией об архитектуре чипа PhysX, являющегося сердцем ускорителя Ageia, но основные технические характеристики этого PPU нам известны.
Физический процессор Ageia PhysX производится на мощностях TSMC с использованием 0.13-мкм техпроцесса и состоит из 125 миллионов транзисторов. Это относительно немного, особенно в сравнении с современными GPU, число транзисторов в которых приближается к 400 миллионам в случае с ATI R580, но вполне сопоставимо с современными одноядерными CPU. Правда, в последнем случае надо учитывать, что в центральных процессорах большая доля транзисторов приходится на кэш L2, а в PhysX основная их часть принадлежит массиву вычислительных ядер, точное число которых нам, к сожалению, неизвестно. Компания-разработчик говорит о "дюжинах" таких ядер. С учетом того, что они представляют собой относительно несложные блоки исполнения математики FP32, их количество действительно может быть достаточно большим и достигать 20 и более единиц.
Тактовая частота чипа, разработанного Ageia, неизвестна. С учетом того, что в его состав входит множество вычислительных ядер, а производится процессор с использованием далеко не самого тонкого техпроцесса, она не может быть слишком высокой. При этом производительность PhysX нам известна: чип способен исполнять до 20 миллиардов простых инструкций в секунду. Если верить данным, приводимым Ageia, этого достаточно, чтобы рассчитать:
- 530 миллионов простых столкновений объектов типа "сфера" в секунду.
- 533 тысячи столкновений более комплексных объектов в секунду.
Отметим, что в реальной игровой ситуации едва ли количество столкновений сложных объектов приблизится ко второй цифре, а значит, что особых поводов для беспокойства о недостаточной производительности PhysX нет.
реклама
Процессор оснащен контроллером GDDR3, который общается с памятью по 128-битной шине. При частоте памяти 366 (733) МГц пиковая пропускная способность шины памяти составляет 11.7 ГБ/сек. В сравнении с современными графическими картами высшего класса, у которых этот параметр достигает более 50 ГБ/сек., это совсем немного, но вряд ли Ageia PhysX будет страдать от недостатка ПСП. Во-первых, в случае с PPU не требуется передача текстур (а значит и огромного объема данных), а во-вторых, физический ускоритель Ageia имеет обычный 32-битный интерфейс PCI, обладающий пропускной способностью всего 133 МБ/сек, который станет "бутылочным горлышком" гораздо раньше, нежели локальная память на плате ускорителя.
Сам факт использования PCI указывает на то, что объем данных, которыми ускоритель может обмениваться с остальными компонентами Gaming Power Triangle, сравнительно невелик. Причем сама Ageia говорит, что ситуации, когда ограничителем производительности станет пропускная способность шины PCI, вполне могут проявиться в ряде игр. Стоит упомянуть, что ранние образцы Ageia PhysX имели поддержку PCI Express x1, но в финальной версии ускорителя разработчик отказался от нее по каким-то причинам.
Ageia PhysX: принципы работы и возможные ограничения
Прежде чем мы узнаем, как работает Ageia PhysX, давайте определимся, для каких именно задач предназначен этот продукт. Сегодня в играх есть два "типа" физики:
- Физика геймплея – физические действия игрока или самой игры, от которых может сменится дальнейший ход событий в виртуальном мире. Разумеется, физика геймплея подразумевает расчёты для определенных физических эффектов, однако конечный результат должен быть запрограммирован разработчиком.
- Физические эффекты – поведение огня, воды, дыма, частиц, одежды, волос и т.п. вещей, от наличия или отсутствия которых для конечного игрока ничего, кроме определенных визуальных эффектов, не изменится.
Физический ускоритель ускоряет исключительно эффекты. До тех пор, пока разработчик не озаботится достаточной степенью физической интерактивностью игры или же не добавит каких-то новаторских возможностей, вроде gravity gun в Half-Life 2, любой физический ускоритель лишь сможет обеспечить незначительные улучшения спецэффектов.
Физический процессор PhysX способен оперировать объектами трех типов:
- Твердые тела (rigid body objects). Стоит сказать, что твердые тела в понимании Ageia и разработчиков игр не обязательно должны быть простыми, они могут состоять из множества частей, а также иметь подвижные сочленения. Иными словами, заставить подчиняться законами физики можно практически любую модель, присутствующую в игре. Правда, непонятно, насколько возможно реализовать деформации объектов с помощью твёрдых тел.
- Жидкости (fluids). Служат для имитации реалистичного поведения жидкостей (вода, кровь и др.), а также дыма, пыли, газа и т.п.
- Системы частиц (smart particles). Могут применяться для имитации поведения осколков, искр и т.д.
В отличие от существующих программных реализаций физической модели в играх, все объекты, обсчитываемые PPU PhysX, способны взаимодействовать друг с другом и окружающим пейзажем, причем, к разным объектам могут быть применены различные физические параметры: масса, плотность, сила трения и т.д. Все это, по замыслу Ageia Technologies, должно помочь разработчикам игр достигнуть невиданного ранее уровня реалистичности в их проектах.
Ни одна технология, особенно недавно анонсированная, не является полностью лишенной недостатков, поэтому сделаем небольшое отступление и поговорим о возможных слабых местах текущего воплощения концепции Gaming Power Triangle. Судя по всему, барьеров, ограничивающих производительность системы, оснащенной выделенным PPU, может быть, как минимум, три.
Первый связан с тем, что поведение жидкостей, хотя и моделируется чипом PhysX, но за их визуальное представление все равно отвечает GPU: параметры, рассчитанные PPU, передаются в соответствующий шейдер. Таким образом, если разработчик слишком сильно увлечется использованием объектов типа "fluids", узким местом в игровой системе может стать производительность пиксельных процессоров GPU. Но в этом случае вина не лежит на ускорителе Ageia и избавиться от "бутылочного горлышка" можно будет путем наращивания мощности графической подсистемы, либо оптимизацией игрового движка или драйверов.
Второй случай напрямую связан с аппаратными особенностями детища PhysX. При моделировании поведения частиц – осколков и т.д. – поток данных относительно невелик в силу простоты этих объектов. Однако в случае активного использования массивных систем частиц, где таких объектов миллионы, он может возрасти настолько, что пропускной способности шины PCI, по которой Ageia PhysX общается с графическим адаптером, окажется недостаточно, и в игре будут наблюдаться рывки и замедления, отрицательно влияющие на качество игрового процесса. Насколько вероятно возникновение такой проблемы, мы пока оценить не можем, но теоретически столкнуться с ней вполне реально, особенно в будущих играх, широко использующих подобные спецэффекты. Эта проблема может быть решена только выпуском новой версии PhysX, оснащенной более производительным интерфейсом PCI Express x1.
Наконец, последним ограничивающим фактором может стать некачественная реализация работы физического движка в игре (или же проблемы с драйверами аппаратного обеспечения).
Поддержка в играх: слабое звено?
При всех его возможностях, физический ускоритель бесполезен для конечного пользователя, если его поддержка отсутствует в играх. Как с этим обстоят дела у Ageia PhysX?
На данный момент, поддержкой данного PPU обладает 6 игр: Tom Clancy’s Ghost Recon Advanced Warfighter, Rise of Nations: Rise of Legends, Bet on Soldier: Blood Sport, Cell Factor, Gunship Apocalypse и City of Villains. В обозримом будущем этот список должен вырасти до 20 наименований, включая такой ожидаемый проект, как Unreal Tournament 2007 и пополниться следующими играми:
- Unreal Tournament 2007
- Sacred II
- Loki
- Dogtag
- Fallen Earth
- Crazy Machines 2
- Arena Online
- Infernal
- Warhammer MMORPG
- Eye of the Storm
- KARMA
- Vanguard: Saga of Heroes
- Alpha Prime
- Abyss Lights: Frozen Systems.
Достаточно скромно по отношению к общему количеству современных игр, но если Ageia удастся завоевать сердца разработчиков, то можно ожидать значительного пополнения этого списка. Для этого компания делает все возможное, предоставляя к их услугам соответствующий API/SDK – физический движок, ранее носивший название NovodeX, обладающий нативной поддержкой PhysX и предназначенный для разработки игр с продвинутой физической моделью как для платформы PC, так и, что крайне важно, для игровых консолей PlayStation 3 и Xbox 360.
реклама
В любом случае, идея использования отдельного процессора для обсчета физической модели в играх будет жить и получать все более и более широкое распространение вне зависимости от аппаратной среды – будь то специализированный чип или дополнительный видеоадаптер, используемый в качестве PPU. Причина столь оптимистичного заявления проста: следующая ступень реализма в играх невозможна без реалистичного поведения игровых объектов. При этом, специализированные устройства, как правило, могут предложить разработчикам больше мощности, нежели вычислительные устройства общего назначения – микропроцессоры.
Согласно имеющимся в нашем распоряжении неофициальным данным, по скорости обработки физики Ageia PhysX превосходит современный центральный процессор в 200 раз. Впрочем, монстр вычислений, такой как ATI Radeon X1900 XTX, обладает еще большей вычислительной мощью, хоть и теоретической.
Asus PhysX P1: дизайн печатной платы и конструкция системы охлаждения
Физический ускоритель Asus PhysX P1 представляет собой плату сравнительно скромных размеров, оснащенную небольшим кулером. На первый взгляд, он весьма напоминает графическую карту – глаз не сразу замечает отсутствие разъемов D-Sub/DVI.
По всей видимости, в основе дизайна печатной платы лежит один из инженерных образцов Ageia, на что указывают нераспаянные технологические разъемы в районе крепежной планки. Схема питания PhysX P1 довольно сложна и содержит большое количество электролитических конденсаторов, хотя сама карта вряд ли потребляет более 20-25 Ватт. Сердцем схемы являются два PWM-контроллера Intersil ISL6522CBZ, управляющие работой преобразователей постоянного тока (DC-DC converter). Поскольку шина PCI неспособна обеспечить даже столь невысокую мощность, на плате установлен стандартный четырехконтактный разъем типа Molex.
Так как процессор PhysX использует интерфейс PCI 3.0 с уровнем сигналов 3.3В, он соединен с разъемом через 3 чипа Texas Instruments TW222A. Эти элементы представляют собой микросборки, состоящие из 23 транзисторов n-МОП (NMOS) каждая и служат для ограничения уровня сигналов ввода-вывода. Таким образом, они предохраняют чип PhysX от повреждения в случае установки карты в слот PCI, использующий уровень сигналов 5В.
Демонтировав кулер, мы получили доступ к кристаллу PPU и смогли прочесть его маркировку. Чип маркирован, как AG1011-P, имеет ревизию A1 и выпущен на 40 неделе прошлого года. Иными словами, к концу сентября – началу октября 2005 года Ageia уже имела на руках полностью работоспособные чипы PhysX второй ревизии (отсчет ревизий ведется от A0). Очевидно, столь долгая задержка с появлением плат PysX на рынке была связана с необходимостью доработки программного обеспечения. Площадь ядра PhysX, выполненного по 0.13-мкм техпроцессу, довольно велика и составляет около 190 кв. мм. Как уже было сказано, в настоящее время его частота нам неизвестна.
На плате установлено четыре чипа памяти GDDR3 Samsung K4J52324QC-BC20 в 136-контактрых корпусах FPGA. Несмотря на то, что эти чипы имеют емкость 512 Мбит, общий объем памяти, доступной PPU, составляет 128 МБ. Возможно, половина банков памяти просто не используется. Номинальная частота для микросхем с суффиксом BC20 составляет 500 (1000) МГц, но память PhysX P1 работает на частоте 366 (733) МГц. Учитывая пониженное тепловыделение новых 136-контактрых корпусов и недобор по тактовой частоте, охлаждение им не требуется.
Ядро PPU охлаждается при помощи кулера, который должен быть уже знаком нашим читателям: им комплектовались видеоадаптеры Asus EN6600GT, N6600GT/TD, N6800XT и т.д. Единственным отличием кулера PhysX P1 является цвет – в данном случае он не окрашен "под медь". Расположение кулера, на наш взгляд, неоптимальное, так как кристалл PPU расположен почти под двигателем вентилятора, то есть, практически, в мертвой зоне, в то время как для оптимального охлаждения он должен был бы располагаться под оребренной секцией, продуваемой потоком воздуха. Впрочем, учитывая невысокую тактовую частоту PhysX, это, скорее всего, не является серьезной проблемой и кулер должен вполне справляться со своими обязанностями.
Конфигурация тестового стенда и методы тестирования
Для тестирования Asus PhysX P1 мы воспользовались нашей стандартной тестовой платформой, сконфигурированной следующим образом:
- Процессор AMD Athlon 64 FX-60 (2 x 2.60ГГц, 2 x 1МБ L2)
- Системная плата Asus A8R32-MVP Deluxe (ATI CrossFire Xpress 3200)
- Память OCZ PC-3200 Platinum EL DDR SDRAM (2x1ГБ, CL2-3-2-5)
- Графическая карта ATI Radeon X1900 XTX
- Жесткий диск Maxtor MaXLine III 7B250S0 (Serial ATA-150, буфер 16МБ)
- Звуковая карта Creative SoundBlaster Audigy 2
- Блок питания Enermax Liberty 620W (ELT620AWT, номинальная мощность 620W)
- Мониторы Dell P1130/Dell P1110 (21", максимальное разрешение 1800х1440х75 Гц)
- Microsoft Windows XP Pro SP2, DirectX 9.0c
- ATI Catalyst 6.5
- Ageia PhysX driver package 1.0.1.0
- Ageia PhysX engines: 2.4.3, 2.4.9 (только в демо CellFactor).
Выбор Radeon X1900 XTX обусловлен тем, что эта графическая карта на сегодняшний день обладает наиболее прогрессивной архитектурой среди решений с поддержкой SM3.0, а также демонстрирует высокую производительность, свойственную игровым системам высокого класса. Тандемы CrossFire или SLI было решено не использовать по причине весьма невысокой распространенности решений multi-GPU среди конечных пользователей.
В качестве тестовых приложений использовались следующие игры и демо:
- Tom Clancy’s Ghost Recon Advanced Warfighter
- CellFactor demo
- Hangar of Doom demo
- Ageia Control Panel Demo.
Тестирование физических ускорителей является нетривиальной задачей. Сама по себе плата Ageia не призвана ускорять уже имеющийся контент, она лишь позволяет использовать в играх новые спецэффекты, а также значительно увеличить количество объектов, обладающих физическими свойствами, по сравнению с версией, не имеющей поддержки PhysX. В силу этого, напрямую сравнивать систему с установленным ускорителем PhysX и систему без него занятие достаточно бессмысленное – во втором случае средняя производительность может оказаться выше при меньшем уровне реализма и качества изображения в целом.
Тем не менее, такая попытка была нами предпринята. Для этого мы использовали Tom Clancy’s Ghost Recon Advanced Warfighter (GRAW), так как эта игра умеет работать как с картой PhysX, так и без нее, а также демо, являющееся частью драйверов Ageia. Последнее представляет собой простую сцену с летящим шаром, разбивающим стену, состоящую из отдельных блоков и также может запускаться в случае отсутствия в системе платы PPU PhysX. Эти приложения тестировались обычным образом с помощью утилиты Fraps с записью средних и минимальных значений fps.
CellFactor и Hangar of Doom мы смогли протестировать только при установленном ускорителе Ageia. Для того чтобы получить сколько-нибудь полезную информацию, эти приложения тестировались таким образом, чтобы получить кривую производительности на протяжении определенного отрезка времени.
Также был снят ряд скриншотов, позволяющих оценить качество эффектов, обеспечиваемых PhysX и, в случае с GRAW, сравнить картинку с PPU и без него.
Результаты тестирования
Tom Clancy’s Ghost Recon Advanced Warfighter
Скриншоты слева получены при отсутствии в системе платы PhysX, а справа – в случае ее наличия.
Standard mode | AGEIA PhysX PPU |
Без использования физического ускорителя щепки, выбиваемые из ствола очередью, не подчиняются гравитации, а летят по заранее заданным траекториям. В случае применения PhysX количество щепок больше, а их поведение более реалистично. К сожалению, передать это на статичном скриншоте затруднительно. Также видно, что щепки, создаваемые PPU, имеют одинаковую форму, что несколько снижает реалистичность происходящего, но в динамике это не столь заметно, как на приведенном скриншоте.
Standard mode | AGEIA PhysX PPU |
Вторая сцена, вне всякого сомнения, выглядит лучше с применением платы Ageia. Сноп искр, выбиваемый очередью из двери стоящей машины, весьма впечатляет, особенно в динамике – падающие и отскакивающие от асфальта искры имеют индивидуальные траектории и выглядят совсем как настоящие. К тому же, их значительно больше, нежели при отсутствии в системе процессора PhysX. Впрочем, сколько бы мы ни стреляли по этой машине, краска на боках не облупится, вмятин не будет, а при попадании в бензобак взрыва не произойдёт.
Standard mode | AGEIA PhysX PPU |
В третьей сцене отличия также достаточно очевидны. При использовании PhysX многочисленные куски земли, вырванные очередью, ведут себя практически так же, как они вели бы себя в реальном мире. Кроме того, облачко пыли имеет более разнообразную структуру и в целом также выглядит более реалистично, нежели в режиме без поддержки PPU Ageia.
Standard mode | AGEIA PhysX PPU |
При подрыве машины гранатой, вариант, использующий PhysX, также выглядит привлекательнее обычного – разлетающихся обломков больше и ведут они себя практически так же, как это происходило бы в реальности. Кроме того, в этом случае в кадре присутствует довольно реалистичный дым.
Standard mode | AGEIA PhysX PPU |
То же самое можно сказать про разрушение кучи ящиков в пятой сцене. Обратите внимание – многие объекты на скриношоте, полученном при использовании Ageia PhysX, имеют своеобразные "тени", напоминающие эффект motion blur.
Standard mode | AGEIA PhysX PPU |
А вот шестая сцена выглядит очень похоже при использовании платы PhysX и без нее, разве что в первом случае присутствует гораздо больше мелких объектов, генерируемых PPU.
Standard mode | AGEIA PhysX PPU |
Подрыв забора в седьмой сцене уничтожает его в обоих случаях, но только при использовании PhysX можно увидеть реалистичное облако дыма и большое количество обломков досок на проезжей части. К сожалению, через некоторое время они исчезают, что серьезно снижает реалистичность происходящего.
В целом, Ghost Recon Advanced Warfighter выглядит заметно привлекательнее при использовании платы физического ускорителя Ageia PhysX, но нового уровня реализма не наблюдается. Более того, отсутствие интерактивных физических эффектов делает дополнительные элементы довольно жалкими...
К тому же сама игра, будучи выпущенной не только для ПК, но и для консолей PS2 и Xbox 360, далека от совершенства с графической точки зрения. В частности, текстуры в ней не отличаются высоким разрешением, впрочем, как и детализация уровней в целом. Иными словами, затрачивать $299 на покупку физического ускорителя для игры в Ghost Recon Advanced Warfighter вряд ли является удачной идеей даже с точки зрения ярого поклонника серии игр Tom Clancy’s.
Но все-таки давайте посмотрим, что может дать наличие Ageia PhysX в этой игре в плане производительности. Напомним, вследствие использования отложенного рендеринга (deferred rendering) она не поддерживает полноэкранного сглаживания.
Некоторый прирост средней и минимальной производительности имеет место быть: хотя физические эффекты в GRAW при использовании PPU гораздо сложнее, их обработкой занимается, главным образом, выделенный процессор, а не CPU. Количественного скачка не наблюдается и разрешение 1600х1200 остается недоступным в обоих случаях, но все же использование Ageia PhysX позволяет несколько увеличить "запас прочности", особенно в разрешениях свыше 1024х768.
CellFactor demo
Приведенные скриншоты демонстрируют качество эффектов, получаемых при помощи ускорителя Ageia в демо-версии Cell Factor. Если в случае с разлетающимися и ломающимся (но почему-то не деформирующимися) трубами, ящиками и бочками нареканий у нас не возникло, как и в случае с дымом, то эффекты, имитирующие жидкости, весьма далеки от идеала.
Жидкость, вытекающая из разбитой бочки и кровь главного героя, хотя и ведут себя в соответствии с законами физики, но ничем не напоминают жидкости в реальном мире. Особенно это касается крови, напоминающей вязкую массу, состоящую из шариков темно-красного цвета. Это не является недостатком ускорителя Ageia, так как зависит от применяемых разработчиками игры методов, и в финальной версии Cell Factor жидкости могут стать намного более реалистичными. В то же время, эффект нагретого воздуха, создающийся также при помощи объектов типа fluids и пиксельных шейдеров, выглядит вполне неплохо.
В остальном, даже одноуровневое демо Cell Factor смотрится весьма впечатляюще и действительно демонстрирует возможности выделенных физических ускорителей. Ничего похожего получить, используя только вычислительные мощности CPU, просто невозможно – слишком велико количество объектов, обладающих физическими свойствами. При этом, тяжелые объекты, такие, как контейнеры и техника, ведут себя иначе, нежели более легкие трубы и ящики.
Не имея возможности сравнить производительность в Cell Factor с использованием PhysX и без него, мы решили снять временную диаграмму. Это позволило нам выяснить, насколько сильно может падать скорость в игре в случае использования массовых эффектов.
Получив данные о производительности в каждый отдельный момент времени, нам удалось выяснить и среднюю производительность. Как видите, при использовании одиночного Radeon X1900 XTX она достаточно низка и составляет, в среднем, менее 40 кадров в секунду. Учитывая массированное использование спецэффектов, это довольно ожидаемая картина.
Графики моментальной производительности не отличаются ровностью и это говорит о том, что производительность в Cell Factor варьируется в очень широких пределах. Серьезные провалы скорости наблюдаются всякий раз в момент демонстрации эффекта с большим количеством объектов. Особенно это характерно для случаев имитации жидкостей. Не исключено, что в этом случае, проблема связана с производительностью пиксельных процессоров графической карты. Вероятно, она может быть решена путем оптимизации игрового движка или драйверов видеоадаптера.
В обычных же условиях, при простой пробежке игрока по уровню, средняя производительность значительно выше 30-35 fps, особенно в разрешении 1024х768. Cell Factor – игра нового поколения и от нее не следует ожидать особенно высоких результатов, используя аппаратное обеспечение сегодняшнего дня.
Hangar of Doom demo
Это демо поставляется на одном диске с драйверами Ageia и представляет собой мини-игру, в которой игрок должен расстреливать вражеские самолеты из стационарного орудия. В качестве небольшого "поощрительного приза" ему разрешается погулять по ангару, расстреливая ящики, бочки и авиабомбы, при этом последние взрываются, разбрасывая по сторонам другие объекты. Судя по косвенным признакам, Hangar of Doom использует модифицированный движок Unreal. Демо работает в разрешении 1024х768, опция смены разрешений отсутствует.
Основной задачей Hangar of Doom является демонстрация возможностей Ageia PhysX по части расчета поведения большого количества объектов. С этой задачей демо справляется неплохо, но при этом ящики, бочки и авиабомбы ведут себя так, словно они имеют одинаковую массу, что, конечно же, серьезно снижает ощущение реальности происходящего на экране.
В Hangar of Doom также наблюдаются значительные флуктуации производительности в пределах 10-40 fps, при этом средняя производительность составляет всего лишь около 20 кадров в секунду при использовании режима максимального качества. Основные провалы скорости наблюдаются в момент взрыва авиабомб и начала разлета окружающих их ящиков и бочек.
Ageia Control Panel Demo
Прирост средней производительности от наличия в системе PPU PhysX крайне невелик и составляет менее 10%, однако минимальная производительность в этом случае возрастает более чем на 40%. Вероятно, это следствие параллельной архитектуры чипа PhysX, позволяющей ему обрабатывать параметры нескольких объектов одновременно, не теряя или слабо теряя при этом в производительности.
Заключение
Из-за практически полного отсутствия игр, обладающих поддержкой физического сопроцессора на момент написания данной статьи, мы полагаем, что ее по справедливости следует считать лишь предварительным обзором Ageia PhysX. Судить о новой технологии по результатам одной реальной игры и трех демо было бы опрометчивым поступком, но все же некоторые выводы сделать можно уже сейчас.
Рыночные перспективы
Во-первых, очевидно, что успех Ageia PhysX полностью зависит от поддержки со стороны разработчиков игр – если такой поддержки не будет или она будет слабой, то с этим перспективным в теории продуктом может случиться то же самое, что случилось в свое время с Nvidia NV1. Эта аналогия уместна еще и потому, что единого стандарта для создания физических эффектов пока не существует – за обретение этого звания как раз и борются движки Ageia, Havok 4, Havok FX, а Microsoft готовит еще одного нового конкурента – DirectX Physics.
Последние два позволяют использовать для обсчета физической модели графические процессоры c поддержкой FP32. С учетом их распространенности на рынке, это делает Havok FX (а впоследствии и DirectX Physics) гораздо более универсальным решением, нежели движок Ageia, требующий наличия специализированного аппаратного обеспечения, выпускающегося в гораздо меньших количествах, по крайней мере, пока.
Отметим, что популярность и доступность многоядерных процессоров также не стоит на месте и разработчики вполне могут предпочесть использование для физических эффектов комплекса Havok 4, затачиваемого именно под многоядерные процессоры, в т.ч. и процессоры Cell в PlayStation 3.
Для популяризации своего подхода к созданию реалистичной физической модели в играх Ageia необходимо наличие хотя бы одной по-настоящему известной и популярной в массах игры. Пока такой игры не наблюдается, а Tom Clancy’s Ghost Recon Advanced Warfighter явно не относится к этому классу игр, но претендент на это звание уже имеется – это ожидаемый многими многопользовательский шутер Unreal Tournament 2007.
Впечатления от PhysX PPU
Что касается эффектов, которые позволяет создавать процессор PhysX, то пока они не отличаются разнообразием, и, по крайней мере, в Ghost Recon Advanced Warfighter – реалистичностью. Большое количество практически одинаковых обломков, к тому же исчезающих спустя некоторое время, отнюдь не добавляют игре реализма, скорее наоборот – способствуют возникновению у игрока ощущения искусственности происходящего на экране. В демо-версии Cell Factor дела обстоят намного лучше, но и здесь в бочке меда имеется изрядная ложка дегтя – имитация жидкостей не только очень далека от идеальной, но и приводит к значительному падению производительности в соответствующих сценах. Разумеется, в новых версиях API PhysX будут добавляться новые эффекты; в частности, в Cell Factor уже есть поддержка реалистичного поведения тканей. В перспективе использование объектов типа "cloth" позволит разработчикам игр создавать персонажей, одежда которых ведет себя так же, как и в реальном мире, и многое другое.
Подведем итоги. Физический сопроцессор Ageia PhysX действительно обладает заявленными возможностями и способен увеличивать степень реализма в играх. Однако отсутствие игр с поддержкой PhysX делает покупку платы на базе этого чипа, в частности, Asus PhysX P1, предприятием, практически лишенным смысла. Затратив $299 сейчас, вы получите разве что возможность играть в Ghost Recon Advanced Warfighter с несколько более высоким уровнем реализма, чем ранее. Улучшение игрового процесса в GRAW, на наш взгляд, не настолько значительно, чтобы платить за него такую сумму.
Появление новых игр с поддержкой PPU может изменить ситуацию на противоположную, но, тем не менее, запасаться платами PhysX впрок мы все же не рекомендуем из-за использования ими шины PCI. В играх нового поколения, активно использующих PPU, ее малая пропускная способность может стать узким местом плат PhysX первого поколения. К моменту появления на рынке значительного количества игр, использующих физический движок Ageia, компания, вероятно, уже выпустит новую версию своего ускорителя, использующую более производительную шину PCI Express, поэтому имеет смысл подождать.
Лента материалов раздела
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.
Комментарии Правила