Содержание статьи



Полную версию статьи ты можешь
прочитать в декабрьском
номере "Железа"

В последние годы повышение зрелищности игр в основном двигалось в одном направлении – шлифовки визуальных красот. В это время такой важный компонент, как игровая физика, предусматривающая такие зрелищные эффекты, как столкновение и разрушение объектов, движение жидкостей и систем частиц, практически топталась на месте. Центральный процессор просто не мог бы взяться за решение еще и этой непростой задачи. Однако буквально совсем недавно разработчики игр и производители железа наконец-таки решились переломить такой ход событий и серьезно взялись за аппаратное физическое ускорение.

 

AGEIA

Начнем с первой и пока единственной готовой технологии аппаратного физического ускорения, которая была разработана молодой компанией AGEIA. Технология включает в себя две составные части: аппаратную – сам физический ускоритель, который представляет собой отдельную плату для разъема PCI или PCI Express x1, и программную – специализированное API. Компания решила полностью изменить саму концепцию игрового компьютера, заменив ее на принципиально новую схему, условно названную Gaming Power Triangle. По мнению AGEIA, над обсчетом игрового мира должны трудиться сразу три процессора – CPU, GPU, а теперь еще и PPU (Physical Processing Unit). Каждый из них должен заниматься своей собственной работой и при необходимости обмениваться данными с двумя другими.

Физика в физической форме

Технические данные об аппаратной составляющей устройства AGEIA, к сожалению, пока не совсем полные. Известно, что сердцем ускорителя является собственный уникальный процессор PhysX. Он содержит в себе 125 миллионов транзисторов и производится по 130 нм техпроцессу. Архитектура чипа на данный момент является секретом фирмы – даже неизвестно, является ли он одноядерным или многоядерным, а также не уточняется, на какой частоте он работает. На плату устанавливается локальная память типа GDDR3 объемом 128 Мб. Чуть позже появятся варианты и с 256 Мб. Разрядность шины памяти составляет 128 бит, тактовая частота чипов памяти – 733 МГц, а пиковая пропускная способность – 12 Гбайт/с. Непосредственно производство ускорителей было передано сторонним фирмам – ASUS и BFG, которые уже выпустили варианты PhysX под собственным брендами. Рекомендованная стоимость ускорителей составляется примерно $250, однако в магазинах за них спокойно запрашивают и $300, и $350.

Возможности


PPU без покровов

Максимум, на что способен чип PhysX – это выполнение двадцати миллиардов операций в секунду. С таким арсеналом можно будет рассчитывать до 530 миллионов столкновений объектов типа «сфера» (грубо говоря – точка) в секунду, или же 533 тысячи столкновений сложных объектов (состоящих из множества условных сфер) в секунду. По словам разработчиков этого должно вполне хватить для непрерывного наблюдения за 30-50 тысячами сложных физических объектов. Такое для современных игр кажется чем-то запредельным. Естественно, расчет траекторий движения твердых тел является далеко не единственной способностью PhysX, также он в состоянии симулировать поведение различных жидкостей (включая дым, туман и пыль) и систем частиц (к примеру, искр). Помимо этого физический ускоритель сможет имитировать деформации всевозможных материалов (начиная с металла и заканчивая тканями), реалистичное поведение любой растительности (хоть на лугу, хоть на голове персонажа) и многое другое.

Реалии

Спору нет, маркетинговые заявления звучат весьма заманчиво – сотни тысяч взаимодействующих объектов, естественный дым, туман и другие погодные эффекты… Однако, как несложно догадаться, рекламу и реальность всегда разделяет огромная пропасть. Начнем с того, что простой установки ускорителя в компьютер недостаточно – на общей производительности это никоим образом не скажется. Это, собственно, и подтверждается большинством бенчмарков, которые пока не видят никакой разницы между компьютером с PPU и без него. Для того чтобы ускоритель включился в работу, помимо установки соответствующего драйвера обязательным условием является его поддержка со стороны приложения. Уточним, что под «приложениями» пока понимаются только игры, хотя, конечно, в будущем теоретически возможно использование физического ускорителя и для решения более полезных задач, но пока об этом речи не идет, тем более на сегодняшний день и игр, совместимых с PhysX, катастрофически мало. Официальный список игр, поддерживающих ускоритель AGEIA, пока насчитывает всего двадцать наименований, причем на момент написания статьи лишь шесть из них были в продаже, а остальные должны были лишь появиться в течение года. Тем более из этого скудного списка потенциальные хиты можно посчитать буквально на пальцах одной руки, а человеку, особо не следящему за игровой индустрией, в глаза бросается и вовсе один Unreal Tournament 2007. Среди вышедших совместимых игр не все наделены изначальной поддержкой PhysX, но это легко исправляется с помощью соответствующих патчей.

В целом технологией AGEIA заинтересовалось достаточно много разработчиков, таких как Ubisoft, Epic Games, Ritual и других, причем свое желание сотрудничать с AGEIA выразили и некоторые российские разработчики, в том числе «Акелла», «Бука» и некоторые другие. Впрочем, некоторые игродельческие конторы, в частности id Software, откровенно раскритиковали PhysX, аргументируя это тем, что осуществление его поддержки вносит излишние трудности в процесс разработки и не привносит в игру эффектов должного уровня, так что пока они будут полагаться на собственные наработки в этой отрасли.

В принципе, фирменное API/SDK, ранее известное под названием NovodeX, выдается разработчикам абсолютно безвозмездно, если они, конечно, пообещают включить в свою игру поддержку PPU от AGEIA, в противном случае оно обойдется покупателю в пятьдесят килобаксов. Кстати, весьма ценно, что программный движок является кроссплатформенным и совместим с консолями нового поколения – Sony PlayStation 3 и Microsoft Xbox 360. Между прочим, в Sony уже приобрели лицензию.

В заключение этой части хочется сказать пару слов про то, насколько реалистично смотрятся существующие игры, поддерживающие ускоритель AGEIA. В целом, добавление новых физических эффектов слегка оживляет игровой процесс, но ничего кардинально нового не привносится. Да, к примеру, искр, отлетающих от расстреливаемого автомобиля, становится больше, и они стремятся подчиняться законам физики, однако при этом сама машина, как и раньше, остается неразрушимой. В общем, разработчики пока достаточно робко используют открывшиеся возможности. А если же они пытаются реализовать сложные разрушения, например, столкновение самолета с препятствием, то пока это совершенно не впечатляет и напоминает скорее кадры из малобюджетного компьютерного мультика, чем нечто, происходящее в реальности. Так что, можно сказать, технология пока выглядит сыроватой и, судя по всему, нуждается в доработке, хотя бы с программной стороны.

 

ATI vs. NVIDIA

Разумеется, заманчивая перспектива аппаратного физического ускорения не могла остаться без внимания других микропроцессорных корпораций, ведь дарить открывающийся рынок молодой никому не известной компании было бы чистым безумием. Поэтому и Intel, и AMD, и ATI, и NVIDIA, с завистью понаблюдав за анонсом PhysX, незамедлительно поделились с общественностью собственными мнениями о будущем физического ускорения. В частности, все четыре корпорации (если быть точным, то – три, так как теперь ATI можно считать подразделением AMD) сошлись во мнении, что разработка отдельного физического процессора на данный момент – пустая трата времени и денег, ибо современные многоядерные процессоры (по версии Intel) и графические чипы (по версии ATI и NVIDIA) запросто смогут взять эти задачи на себя. Впрочем, в Intel так и ограничились тем, что в очередной раз похвастались возможностями своих будущих процессоров, в AMD намекнули о теоретической возможности установки дополнительного сопроцессора в рамках платформы Torrenza, а ATI и NVIDIA, напротив, продемонстрировали практически готовые решения, причем, что интересно, весьма схожие.

Канадская физика


Не просто месиво, а физически
грамотное месиво

Канадская корпорация еще в преддверии запуска ускорителей семейства Radeon X1000 рассуждала о том, что новые графические чипы настолько хороши, что способны превосходно справляться не только со специализированными графическими расчетами, но также и с другими, можно сказать, произвольными вычислениями. Такая концепция получила название GPGPU (General Purpose computation on GPU), причем появилась она еще несколько лет назад – во времена вхождения в моду первых шейдеров. Действительно, современная видеокарта представляет собой поразительно мощное вычислительное устройство – графические чипы заточены под параллельную обработку огромного массива данных, точность вычислений над числами с плавающей точкой достигает 32-бит, есть возможность выполнять весьма длинные шейдеры, на борту имеется внушительный объем крайне быстрой локальной памяти, а обмен данными с внешним миром идет через шину PCI Express с очень высокой пропускной способностью. При этом если видеокарта «привыкла» работать, например, с текстурами, то это вовсе не означает, что вместо них нельзя скормить ей, допустим, некоторые данные физического типа и переписать пиксельный шейдер под вычисления, учитывающие законы физики.

Стоит отметить, что именно физические вычисления как никакие другие по своей структуре напоминают графические, так как они предполагают одновременно (читай, параллельно) обсчет движения и взаимодействия сотен и тысяч объектов. Причем, если требуется учитывать деформации и сложные столкновения, каждый объект придется делить на сотни или тысячи составляющих элементов, в результате на одной игровой локации количество взаимодействующих частиц может измеряться и миллионами. А с точки зрения вычислений это достаточно близко к классическим задачам по обсчету графики. Правда, во время презентации X1000 дальше нескольких демок, рисующих перспективы GPGPU, дело толком так и не зашло. Возможно, эта затея так и пылилась бы до лучших времен на полке, однако расторопность AGEIA и шумиха вокруг их новинки в прессе заставили ATI поспешить с выводом собственной технологии на рынок.

3 в 1

Впрочем, никаких велосипедов в ATI изобретать не стали и предложили аппаратное физическое ускорение просто как дополнительный режим Crossfire. Таким образом, при установке двух видеокарт одна из них будет заниматься привычной работой по рендерингу графики, а вторая переключится на физические задачи. Такой режим был назван «1+1». При этом в ATI постарались учесть и тот факт, что подобное предложение может не понравиться тем, кто хочет использовать мощь обеих видеокарт для картинки максимального качества и при этом не хочет отказываться от физического ускорения. Специально для таких эстетов с толстым кошельком был разработан режим «2+1», который предполагает наличие трех (!) видеокарт, две из которых, как ни в чем не бывало, будут трудиться в связке Crossfire, а третья взвалит на свои плечи груз физических вычислений. Стоит заметить, что разделение обязанностей будет не столь строгим, и, например, «графическая» видеокарта, работающая вполсилы, сможет брать на себя часть работы от «физической» карты. Кстати, будет ли режим «3», направляющий усилия всех трех ускорителей полностью на графику, пока не уточнялось. Конечно, на первый взгляд установка трех полноценных видеокарт кажется дикостью, но после Quad SLI этим уже никого не удивишь. Само собой, для выхода «2+1» на рынок необходимо, чтобы и производители системных плат прониклись этой идеей, а также потребуется выпустить и новые чипсеты, способные потянуть три полноценных графических порта. Хотя с последним особых проблем возникнуть не должно, так новый анонсированный ATI чипсет, названный RD600, точно будет поддерживать три слота PCI Express x16.

 

Havok FX


Модель игровой физики от ATI

Ходили слухи, что ATI займется разработкой и программной составляющей физики, однако они не подтвердились, вместо этого ATI заручились поддержкой компании Havok, издавна знаменитой своими творениями в области игровой физики. Движок Havok FX, чье появление на свет было намечено на эту осень, оптимизирован под выполнение всего спектра физических вычислений усилиями видеокарт, поддерживающих Shader Model 3.0, так что ему потребуются видеокарты не старее, чем из семейства Radeon X1000. Более того, в ATI заявили, что минимум для игровой физики будет X1600, а для действительно крутых эффектов лучше обзавестись X1800 или X1900. Конечно, совершенно не обязательно покупать для графики и для физики одинаковые ускорители, причем при установке двух разных видеокарт для выполнения физических задач по умолчанию будет выбрана более слабая.

Кстати, немаловажный вопрос поддержки Havok FX со стороны разработчиков пока отдельно не обсуждался, впрочем, учитывая популярность предыдущих программных движков Havok (вспомнить хотя бы Half-Life 2 и Painkiller), можно не сомневаться, что и новое творение окажется в центре внимания, конечно, при условии, что в Havok не затянут с выпуском
API.

Если тебя интересует сравнение в фактической производительности между ATI и AGEIA, то этими сведениями уже охотно поделились в ATI. В частности, утверждается, что X1600 XT быстрее PhysX в два раза, а X1900 XTX быстрее конкурента аж в девять раз. Также канадцы не забыли сравнить свои ускорители с платами NVIDIA, в связи с чем с гордостью констатируют факт, что RV530 (Х1600) обгоняет в физике G70 и G71 в четыре раза, а R580 (X1900) превосходит их и вовсе в пятнадцать раз. Тут, правда, стоит обратить внимание, что все эти цифры только со слов представителей ATI. Можешь не сомневаться, что в интервью AGEIA говорили совершенно противоположные вещи, заверяя, что их устройство справляется с физическими расчетами на порядок лучше любых видеокарт. Пока сложно сказать, кто же все-таки прав, так как ни Havok FX, ни тем более игры на его основе так и не готовы, поэтому и проверить физические способности видеокарт попросту не на чем.

Физика от американцев


Эффект применения SLI для
физических вычислений

Как мы уже говорили, в NVIDIA разработали практически полный аналог системы ATI. Первоначально распространялись довольно невнятные слухи о возможности установки на будущие видеокарты дополнительного «физического» чипа, однако на самой презентации ни о чем подобном не говорилось. На практике в NVIDIA продемонстрировали схожую физическую подчасть от SLI и Quad SLI, такую же асимметричную конфигурацию с тремя платами и всю ту же любовь к Havok и к тому же самому программному движку Havok FX. Из существующих плат для физических задач сгодятся GeForce 6 Series и 7 Series, однако какие именно не уточнялось. Также упоминалось, что хоть наличие SLI-системы и будет желательным, но и одна видеокарта сможет попутно с графическими вычислениями заниматься физикой, пусть и не столь эффективно.

Расстановка сил

В целом, предложения ATI и NVIDIA смотрятся достаточно бодро. Новая идея сможет порядком повысить интерес простых пользователей к системам SLI и Crossfire, к тому же фактическое объединение ATI с NVIDIA вокруг Havok FX ставит юного конкурента в лице AGEIA с ее фирменным API в весьма затруднительное положение. Единственная надежда AGEIA – успеть до выхода Havok FX заручиться поддержкой максимального количества разработчиков. Впрочем, особо обнадеживаться AGEIA не стоит, так как, вероятно, сторону графических гигантов займет и корпорация Microsoft. Грядущая Windows Vista с ее «феноменальными» игровыми возможностями должна будет не только существенно повысить уровень визуального реализма, но и поднять уровень игровой физики на принципиально новый уровень. Разработчики графических чипов заверяют, что унифицированные шейдеры по стандарту DirectX 10 будут справляться с физическими расчетами значительно лучше, чем существующие разделенные пиксельные и вершинные. Более того, не исключается возможность, что Microsoft разработает и собственный программный физический движок, который станет составной частью DirectX 10. Естественно, для расчетов он будет полагаться на ресурсы видеокарты, а не каких-либо дискретных физических ускорителей. В любом случае, Vista, похоже, собираются в очередной раз задержать на неопределенный срок, так что если в Microsoft имеются подобные наработки, до релиза еще остается время, чтобы довести их до ума.


PhysX под маркой BFG

Когда?

Когда же, наконец, физическое ускорение переберется в большинство игр, пока достаточно сложно ответить. Многие разработчики заняли выжидающие позиции, наблюдая за реакциями пользователей на PhysX, или же ожидая появления первых полноценных продуктов на основе Havok FX. Некоторые компании вообще решили до выхода DirectX 10 ни под каким предлогом не трогать физическое ускорение. Так что настоящий рассвет «физики» стоит ожидать не раньше первого-второго квартала следующего года.

 

Полную версию статьи ты можешь
прочитать в декабрьском
номере "Железа"
:

Оставить мнение