![]()
В игре нет бенчмарка, поэтому мы не можем сказать, как повлияло на скорость работы игры использование продвинутой «железной» физики. Но в целом воздействие PPU на эффекты GRAW следует признать минимальным: искры стали красивее, взрывы стали сочнее, но стоит ли подобное улучшение 300 долларов, которые ASUS просит за PhysX P1? На наш взгляд — не стоит. Также надо упомянуть об одном весьма неприятном эффекте (вы можете его видеть в видеоролике со взрывом гранаты, ссылка на который приведена выше): все мелкие осколки, разлетающиеся от эпицентра взрыва в случае использования PPU бесследно растворяются в воздухе сразу после того, как взрыв заканчивается. Странно, правда? Мы еще вернемся к этому факту в заключительной главе нашей статьи. CellFactor: Combat TrainingПоскольку мы не смогли достать копию игры Bet on Soldier с Expansion Pack, а City of Villains является MMORPG, то мы были вынуждены перейти от исследования полноценных игр к демо-версиям, сделанным специально для демонстрирования возможностей PPU. (Таким образом, кстати, GRAW на момент нашего тестирования являлась едва ли не единственной полноценной игрой, обладающей поддержкой PPU PhysX.) Первой и наиболее «раскрученной» из таких демоверсий, несомненно, является демка шутера CellFactor: Combat Training, которая (официально) вообще не запускается на компьютерах не оснащенных PPU. На данный момент игра состоит из одного единственного уровня (уровень напоминает некое подобие открытой карты из Quake 3 Arena с огромным количеством раскиданного по углам и проходам хлама в виде ящиков, взрывающихся бочек, труб и прочего строительного инвентаря), на котором счастливые обладатели PPU могут устраивать сетевые баталии:
На примере CellFactor хорошо прослеживается практическое доказательство нашего теоретического предположения о том, что PPU — это в первую очередь количественное улучшение уже виденных нами физических эффектов. В 2003-м году в Max Payne 2 с полок падало на пол по 5 коробок, а тут — летает по 500 ящиков одновременно. Проблема в том, что весь этот обильный физический мусор скорее мешает нежели помогает геймплею. Да, взрывы и разлетающиеся во все стороны обломки выглядят замечательно — первые раз пять. Потом глаз привыкает к этому великолепию и... обнаруживает всё тот же геймплей 1997-го года розлива. Кстати, насчет запуска демки CF без PPU: сетевые умельцы довольно быстро отыскали параметр командной строки, позволяющий запускать демку и без наличия ускорителя физики. Мы опробовали этот способ и получили следующие результаты: без PPU взрывы ощутимо тормозят, а при попадании в кадр пресловутого «паруса» (подвешенный кусок реалистично деформирующейся материи, в котором остаются треугольные дырки от выстрелов) fps вообще скатываются к однозначным показателям. Таким образом, как минимум на примере демо-версии CellFactor можно утверждать, что PPU реально ускоряет сложные физические эффекты, основанные на многочисленных столкновениях большого количества игровых объектов. Осталось понять, сможет ли PPU показать нам нечто большее, чем просто количественное улучшение уже виденных нами раньше эффектов. SwitchballСледующей мы рассмотрели демо-версию игры Switchball. Игра представляет собой забавную головоломку, большинство паззлов которой построено на физических эффектах. Полная версия Switchball доступна для покупке на сайте компании-разработчика. Вы управляете шариком, который должен прокатиться по подвешенному в небе лабиринту — расталкивая деревянные ящики, сооружая себе мостики через пропасти и очищая проходы при помощи водометов.
Switchball позволяет отключать использование аппаратной физики в своих настройках, однако попытка поиграть в него после этой операции оборачивается вот такими сообщениями: Согласитесь, выглядит это несколько подозрительно: неужели расчет весьма нереалистичной на наш взгляд, состоящей из набора крупных частиц водяной струи (см. скриншоты с системы с PPU) настолько неподъемен для CPU, что нельзя даже попробовать? Разрешите нам в этом усомниться. Видимо, это не более чем маркетинговое решение. Stoked Rider: Big Mountain SnowboardingПоследней демо-версией в нашем сегодняшнем обзоре стала демка игры Stoked Rider: Big Mountain Snowboarding. Эта игра также не позволяет выбирать использовать или нет PhysX для обсчета физики, однако она все же замечательно запускается и без наличия PPU, и демонстрирует точно такое же (прямо скажем — никакое) качество графики и эффектов: Мы даже не будем ничего комментировать: скриншоты говорят сами за себя. РазмышленияМы познакомились с первым в мире физическим сопроцессором — Ageia PhysX PPU. Пожалуй, основная проблема этой карты на данный момент заключается в явно недостаточной её поддержке со стороны игровых приложений. Поддержка в играх, стандартизация APIСайт компании Ageia содержит список игр, выходящих на ПК в ближайшем будущем и так или иначе поддерживающих PPU. Вот наиболее интересные из них:
Не густо, не правда ли? Несколько лучше дела обстоят с поддержкой инициатив и железа Ageia на уровне разработчиков и издателей: уже более 60 компаний объявили о своем желании поддерживать PPU в своих будущих проектах. Но пока это всего лишь отдаленные светлые перспективы — а карты продаются уже сейчас по отнюдь не самой низкой цене. Несомненной победой для Ageia является интеграция API PhysX в middlware-движок Unreal Engine 3. Таким образом, можно рассчитывать, что какой-то процент игр, построенных на этом движке, будет поддерживать «железное» ускорение физики. (Отметим, впрочем, что в качестве другой опции UE3 предлагает использование вездесущего физического движка Havok.) Не меньшей удачей для становления PPU PhysX следует признать заключенное летом прошлого года соглашение между Ageia и Sony, согласно которому API PhysX включается в стандартный набор инструментов разработчика для консоли PlayStation 3. Впрочем, всё это не слишком поможет продажам PPU, если «железные» физические эффекты будут и дальше реализовываться, как в GRAW — не самым интересным образом. Кроме того, у нас есть определенные сомнения относительно возможности и необходимости встраивания сложных физических эффектов во все новые игры. Каким-то проектам просто не нужна сложная физика, а каким-то — достаточно вычислительных способностей CPU и GPU. Последним, впрочем, ничто не мешает использовать всё тот же API PhysX — просто в случае наличия в компьютере PPU физические расчеты будут выполняться не на CPU и GPU, а на физическом сопроцессоре. Второй существенной проблемой PhysX PPU является его полная закрытость: Ageia не позволяет использовать PPU иначе, чем через свой собственный закрытый API. Исторический опыт показывает, что подобный путь, как правило, оказывается бесперспективным, хоть зачастую и позволяет «быстро стартовать» с нуля. На наш взгляд Ageia поступила бы правильнее, если бы открыла архитектуру PPU для программных API своих конкурентов — в первую очередь API Havok — сохранив за собой эксклюзивное право производства чипов PhysX. Подобный шаг способствовал бы гораздо более агрессивному продвижению поддержки PPU Ageia в игровых проектах — возможность выбрать устраивающий тебя API наверняка понравилась бы разработчикам. Наконец, все знают, что настоящего успеха добиваются только API, включенные в состав платформы Microsoft DirectX. В перспективе Ageia должна добиваться стандартизации своей «физической архитектуры» в рамках DirectX — это не только позволит ей стать де-факто монополистом на рынке физических ускорителей, но и существенно ослабить позиции Havok — ведь отдельный программный физический движок окажется никому не нужным после появления бесплатной версии такового в составе DirectX. А уж если этот API DirectPhysics будет еще и ускоряться на PPU производства Ageia, то шансов у конкурентов вообще остается не много. Здесь, впрочем, кроется подводная часть айсберга — выпуская PPU, Ageia отбирает хлеб у таких «небольших» компаний, как Intel, AMD, ATI и NVIDIA. Железное противостояниеНадо сказать, что PPU вышел как нельзя вовремя: именно сейчас, в ближайшие год-два, на CPU будет ощущаться нехватка вычислительной мощности в области обработки игровых физических эффектов. Причиной тому является выход нового поколения игровых консолей, в которых используются особые многоядерные процессоры (3-ядерный CPU с 6 логическими процессорами в Xbox 360; 1+7-ядерный процессор Cell в PlayStation 3), одним из основных применений для которых станет как раз расчет физических эффектов. Поскольку сейчас с целью максимизации объемов прибыли большинство игровых проектов выпускается сразу для всех основных платформ, то принципиальная кроссплатформенность API PhysX, поддержанная специальным «железом» на платформе Windows ПК для многих разработчиков будет весьма заманчива. С другой стороны, любой код, успешно исполняемый на ядрах процессоров консолей нового поколения, будет ничуть не менее эффективно исполняться на ядрах современных процессоров архитектуры x86. И так сложилось, что именно сейчас вечные конкуренты Intel и AMD совместными усилиями переводят индустрию на многоядерные x86-процессоры. Уже сейчас двухъядерные процессоры производства Intel стоят менее 200 долларов — дешевле, чем PPU! В ближайшее время, после очередного этапа снижения цен, двухъядерные процессоры опустятся и до 100 долларов. И одно из двух полноценных x86-ядер надо будет чем-то занять в новых играх. Чем? По мнению компании Ageia CPU должны рассчитывать искусственный интеллект и выполнять общие задачи, связанные с работой игрового приложения. GPU в схеме, предлагаемой Ageia, осуществляет рендеринг, а PPU — считает физические эффекты. Проблема этой схемы состоит в том, что ИИ и некие «общие задачи» вряд ли смогут загрузят все ядра современных CPU на 100%. Конечно, двухъядерные CPU не смогут тягаться с PPU PhysX в скорости расчетов столкновений игровых объектов, однако они, во-первых, могут стать той самой «золотой серединой» между полным отсутствием физики и поддержкой дорогостоящего и слабораспространенного физического сопроцессора, а во-вторых, позволить реализовывать в играх физические эффекты, вообще недоступные на сравнительно ограниченных в плане функциональности PPU. Причем, поддержка многоядерных процессоров (многопоточный расчет физики) реализована не только в движке Havok, но и в API самой Ageia. Поэтому нам представляется весьма вероятным, что физику на ПК в ближайшее время будут затачивать все-таки не под PPU, а под двухъядерные CPU. Более того, заглядывая в более отдаленное будущее, мы предвидим большие проблемы у Ageia в конкуренции с компаниями Intel и AMD. Дело в том, что уже в 2007-м году на рынке должны появиться первые 4-ядерные x86-процессоры, использовать которые подо что-то кроме игровых физических расчетов будет достаточно трудно. Наконец, на каком-то этапе развития архитектуры x86 дальнейшее наращивание числа полноценных x86-ядер теряет смысл — зато остается смысл наращивания простых конвейеров, «заточенных» под исполнение определенного типа вычислений. Т.е. на каком-то этапе PPU как таковой будет попросту интегрирован на кристалл CPU. Впрочем, это перспективы отдаленные, а пока что PPU Ageia на фоне двухядерных CPU выглядит победителем в плане производительности. Другим фронтом наступления на выделенные физические сопроцессоры являются новые видеочипы — GPU от компаний ATI и NVIDIA. Современные графические технологии стали настолько гибкими и программируемыми, что вполне допускают исполнение некоторых физических расчетов. Причем, это выглядит достаточно логичным: ведь GPU в любом случае вынужден рендерить физические эффекты, так почему бы не использовать его еще и под их расчеты? (Кстати, о рендеринге. Одной из замалчиваемых Ageia проблем PPU является необходимость отрендерить все посчитанные сопроцессором эффекты. И здесь PPU ничем не может помочь и без того перегруженной видеокарте. Другими словами, количественное увеличение числа участвующих в физических интеракциях объектов — это хорошо до тех пор, пока GPU способен это самое число отобразить с достаточной для игровой графики скоростью. Это одно из узких мест в работе физического ускорителя: PPU может посчитать миллиарды столкновений сотен тысяч объектов — но кто и как будет всё это рендерить? Именно этим, судя по всему, вызвано немедленное исчезновение взрывных осколков в GRAW после завершения взрыва.) На данный момент инициатива с выполнением физических расчетов на GPU активно продвигается компанией Havok в своем API Havok FX — явно в противовес усилению влияния Ageia PhysX на игровых разработчиков. Havok FX позволяет осуществлять расчеты столкновений игровых объектов на современных GPU. Здесь, правда, следует оговориться, что на данный момент компаниями ATI и NVIDIA для поддержки физических расчетов продвигаются «тандемы» из двух и даже трёх видеокарт, одна из которых посвящена сугубо расчетами физических эффектов. Согласитесь, затея сомнительная: современные видеокарты стоят, как правило, дороже PPU PhysX, сильнее греются и больше шумят. Впрочем, вариант с использованием одной или двух видеокарт выглядит интересным в силу своей врожденной гибкости: если у вас есть две видеокарты, то вы вольны самостоятельно выбирать, подо что вам использовать этот тандем. Вы можете использовать обе видеокарты для рендеринга кадров (SLI или CF), а можете отдать одну из них под физические расчеты, удовлетворившись меньшей частотой кадров, но возросшим качеством игровых спецэффектов. Таким образом, даже если приложение не поддерживает физические расчеты на GPU, ваша вторая видеокарта не будет простаивать — в отличие от PPU, который можно применять только для физических расчетов. Опять же, в будущем представляется весьма вероятной доработка GPU для более эффективного исполнения физических расчетов (своего рода «интеграция» PPU на кристалл GPU). Не исключено, что после такой доработки физические расчеты будут успешно исполняться и всего лишь одной видеокартой (в принципе, ничто не мешает исполнять их на одной видеокарте уже сегодня — кроме недопустимого падения скорости рендеринга). Стоит также отметить, что потихоньку вызревающий в недрах Microsoft API DirectPhysics, судя по всему, будет схож с выпускаемым в ближайшее время API Havok FX. То есть, DirectPhysics также будет опираться в своей работе на GPU. Для компании Ageia это — не слишком хороший признак. Если PPU PhysX останется проприетарной со всех сторон разработкой, то шансов захватить рынок у него фактически не будет. ВыводыИтак, на данный момент мы вынуждены констатировать недостаточность поддержки PPU Ageia PhysX со стороны игровых приложений. Сам PPU, несомненно, обладает недюжинным потенциалом в области ускорения определенного типа физических эффектов, однако будет ли этот потенциал реализован на практике — покажет время. С другой стороны, именно время поджимает компанию Ageia: постоянное удешевление многоядерных CPU, активная разработка компаниями — производителями видеочипов алгоритмов и способов исполнения физических расчетов на новых GPU оставляют PPU не так уж много места для маневра. Если PPU и API PhysX не будут широко поддержаны индустрией в ближайшие несколько лет, то весьма вероятно, что лидерами рынка «аппаратного ускорения физики» станут новые многоядерные CPU и оптимизированные под физические расчеты GPU. Мы будем следить за дальнейшим развитием ситуации и, думаем, еще вернемся к тестированию PPU PhysX — когда на рынке появятся новые популярные игровые приложения, перепоручающие физические расчеты сопроцессору PhysX производства компании Ageia. Данил Гридасов (degust@ixbt.com)
Опубликовано — 20 июня 2006 г. | Комментарии? Поправки? Дополнения? degust@ixbt.com | ![]()
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||