Физкульт-привет! Автор: Дмитрий Лаптев.

Физкульт-привет!

Автор: Дмитрий Лаптев.

© 2003-2006, Издательский дом | http://www.computerra.ru/

Журнал «Домашний компьютер» | http://www.homepc.ru/

Этот материал Вы всегда сможете найти по его постоянному адресу: /2006/122/284580/

Часто ли нам приходится присутствовать при рождении нового класса компьютерных компонентов? Еще как нечасто! Однако, прямо сейчас, набрав в известной поисковой системе словечко PhysX, вы имеете возможность убедиться, что карты на этом процессоре уже доступны в рознице, причем двух производителей – ASUS и BFG. Физические игровые ускорители, таким образом, обрели физически-осязаемую сущность. Можно ли обойти это событие вниманием? Вопрос риторический!

Не в fps счастье

Сразу заметим, что подходить к оценке новинки, сама перспектива появления которой еще несколько месяцев назад многими считалась «уткой», исключительно с потребительскими мерками целесообразности покупки «здесь и сейчас», по меньшей мере, неостроумно. Гораздо уместнее оценить почин, благо, как это всегда бывает в случае с новыми графическими эффектами, попробовать на зуб ростки «реалистичной физики» нам уже вполне позволяют.

Пока на сегодняшний день вышла в свет только одна игра с реализованной аппаратной поддержкой физических расчетов – Tom Clancy’s Ghost Recon Advanced Warfighter (в просторечье – GRAW), а также имеется и некоторое количество демо-версий готовящихся игр. Однако, список игр, которые должны выйти в ближайшие несколько лет, превышает сотню, да и число разработчиков, планирующих задействовать физический движок от AGEIA в своих играх, достаточно внушительно и перевалило за 60.

Но в первую очередь хотелось бы высказать решительное «фи» в адрес отдельных поверхностно смотрящих коллег, которые, мимоходом оценив новинку по шаблонам, принятым для тестирования видеокарт, возмущенно резюмировали: за что платить $300, если никакой прибавки «кадров в секунду» в распространенных тестах и играх она не обеспечивает?

Действительно, fps после установки физического ускорителя не увеличивается. Но пора определиться с ложными и истинными приоритетами – наращивание частоты кадров выше 50-60 в секунду никак не отражается на увлекательности игрового процесса. Гораздо актуальнее потратить дополнительную мощность на качественное улучшение игрового процесса, а именно такая задача стоит перед физическими ускорителями.

Согласитесь, большинство из нас, запуская новую игру, вовсе не желают пройти ее как можно скорее и приняться за следующую. Хочется получить некое эстетическое удовольствие, эмоциональную разрядку, да просто приятно провести время. Именно поэтому графические «излишества», стремление к фотографической реалистичности и новым ощущениям от игрового процесса востребованы, хотя их получение стоит все дороже. Причем в равной степени и для разработчиков игр (бюджет знаковых игр, собирающих «кассу», подстать кинопродукции), и для игроков, щедро спонсирующих производителей видеокарт, процессоров и прочих компонентов, покупать которые нам все чаще рекомендуют «парами».

Так что же именно способен добавить физический ускоритель, и в частности, «первая ласточка» в новом классе игровой периферии – карта на основе AGEIA PhysX, – к игровому процессу?

Ответ прост – динамику, возможность взаимодействовать с предметами, ранее представленными в играх как статичные декорации. Причем в отличие от ранее жестко запрограммированных сценариев поведения «взрываемых» бочек, коробок и прочих стандартных объектов (пройдя несколько уровней, пользователь наизусть заучивал последствия своих действий, дозволенных игрой), теперь вы вовсе не встретите однообразия. Ведь последствия любого взаимодействия зависят от угла приложения, силы и массы других факторов – в жизни даже нарочно трудно устроить два идентичных по последствиям «погрома». Разумеется, у первого поколения ускорителей мощность не столь велика, и неизбежные огрехи в драйверах еще мешают насладиться подлинной реалистичностью. Но и сейчас успехи видны невооруженным глазом, и кроме свободы взаимодействия с игровым миром, можно отметить чуть более реалистичное «поведение» огня, воды, ткани, волос и прочих текучих и свободно подвижных субстанций. Но почему все это до сих пор составляло проблему?

Физика вчера

Задача моделирования взаимодействия нескольких предметов игрового мира между собой – наиболее ресурсоемкая среди тех, что возникают при программировании игрового движка. Строго говоря, узнать, столкнулись ли два «идеальных» объекта и какое положение они должны занять после взаимодействия – задача несложная и описывается известными каждому школьнику законами. Но если в кадре оказывается хотя бы десяток подвижных тел различной природы и свойств, то объем работы, ложащейся на процессор (и, что самое главное, выполнить ее необходимо в реальном времени), становится угрожающим. А надо учесть, что для полноценного моделирования не только твердых, но и эластичных объектов, жидкостей и, тем более, так любимых игровыми дизайнерами взрывов, количество частиц в кадре, поведение которых рассчитывается независимо друг от друга, необходимо увеличить до нескольких тысяч.

Не секрет, что сегодня многие природные явления в играх реализуются искусственным путем, например, вместо «честного» отображения тумана, используются так называемые алгоритмы затуманивания. Иными словами, модифицируются текстуры твердых объектов заднего плана. Тогда как настоящий туман состоит из водяных капель и не бывает абсолютно однородным. Список «несовершенств» можно продолжать и продолжать, многие из них на первый взгляд покажутся несущественными, однако особенность человеческого восприятия в том, что фальшь, даже не очень явная, подсознательно отмечается и мешает состояться эффекту присутствия.

Наглядный образец реализации «физики» силами центрального процессора представляет собой игра Painkiller. Притом что эффекты в ней отнюдь нельзя назвать идеально реалистичными, да и сама игра вышла довольно давно, она является весьма тяжелой даже по меркам самых мощных современных процессоров. Иными словами, производительность в этой игре упирается в центральный процессор, даже если вы установите дорогую видеокарту, тогда как в остальных играх с упрощенной физической моделью основная нагрузка приходится на видеоакселератор. Законный вопрос: почему же, несмотря на совершенствование центральных процессоров, им все еще не по силам столь естественно-научная задача?

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

Графические процессоры на сегодняшний день имеют до 48 конвейеров, AGEIA PhysX – 16 специализированных исполнительных модулей. Разумеется, такое количество вычислительных блоков требует весьма существенного усложнения кристалла – большого количества транзисторов и сложной управляющей логики (диспетчера) для распределения нагрузки. Учитывая, что при производстве таких чипов применяются менее прогрессивные технологические процессы, нежели для центральных процессоров, частота специализированных процессоров не превышает гигагерца. Тем не менее, на своих задачах они по производительности превосходят универсальные процессоры, как минимум, в десятки раз. И такой прирост есть смысл реализовывать с точки зрения разработчиков игр – программисты, как известно, не склонны тратить силы на оптимизацию, которая все равно не дает заметного на глаз результата. Именно поэтому массово и всерьез «затачивать» физику под двухъядерные процессоры они не торопятся, осознавая, что результат не оправдает потраченных средств. А вот в поддержку едва вышедших физических ускорителей высказались более чем дружно.

Физика сегодня

Итак, уже никто не сомневается, что будущее – за интерактивными развлечениями, и публика, с удовольствием «отведав» графических яств, пришедших в нашу жизнь с игрой FarCry и получивших логическое развитие в играх типа F.E.A.R. и многих менее громких проектах, с не меньшим энтузиазмом воспримет очередное усиление развития в сторону большей свободы действий в игре.

Но каким именно способом это будет достигнуто – вопрос на сегодня открытый. Помимо самостоятельных физических ускорителей (а кроме AGEIA, на этот сегмент никто пока не претендует), для нужд аппаратной обработки «физики» планируется задействовать видеокарты, а также ресурсы будущих четырехъядерных процессоров и даже систем с несколькими процессорами.

Разумеется, все заинтересованные компании расхваливают свой подход, мы же, скорее всего, будем в ближайшие несколько лет наблюдать конкурентную борьбу (а возможно, и симбиоз) разных способов ускорения, из которых со временем отберется наиболее удачный. А по мере «обживания» физических движков, в играх появится возможность выбирать уровень пригодности компьютера к «физическим упражнениям», подобно тому, как сейчас мы имеем возможность регулировать графические настройки.

В пользу самостоятельных ускорителей, помимо временнуго преимущества (все остальные варианты не стоит ждать раньше осени, а наиболее вероятно – к Новому году), говорит возможность оптимизировать вычислительное ядро так, чтобы в нем не было «лишних» транзисторов. Что напрямую повлияет на «энергетическую» эффективность. В отличие от современных видеокарт, физический ускоритель на AGEIA PhysX может довольствоваться менее мощным кулером и не требует подвигов от блока питания. Цена также может оказаться привлекательной, но лишь после насыщения спроса у наиболее активных ценителей игровых новинок. В минусах – ориентация на поддержку шины PCI, уже исчезающую из арсенала материнских плат (впрочем, запланирован выход и PCI-Express-версии).

Нетрудно догадаться, что решающим фактором станет программная поддержка (или ее отсутствие) у разных аппаратных вариантов. Здесь у AGEIA на сегодня позиции также наиболее выигрышные. Хотя средства разработки – это частная собственность AGEIA, условия лицензирования весьма привлекательны. Более того: многие разработчики игр воспользовались предложением AGEIA в первую очередь потому, что программная составляющая досталась им практически бесплатно. И, что очень важно и на первый взгляд даже странно, физический движок AGEIA не требует в обязательном порядке использования одноименного ускорителя (то есть в усеченном виде вполне может существовать при поддержке лишь центрального процессора)! Учитывая, что игры без хотя бы минимально правдоподобной физической модели в скором времени могут выйти из моды, нетрудно догадаться, почему предложение AGEIA встретило такой горячий отклик.

Есть и еще два серьезных козыря (скорее даже джокера). Первый – это поддержка физического движка AGEIA в Xbox 360 и PlayStation 3 – ведущих игровых приставках нового поколения. Учитывая, что значительное число игр на сегодня – мультиплатформенные, то есть выпускаются как в расчете на ПК, так и приставки, возможность разрабатывать общую программную основу для разных платформ несомненно привлекательна. Что касается традиций ПК-платформы, как показывает практика, жизнеспособность тех или иных новаций в долгосрочной перспективе зависит от воли компании Microsoft, и уже ведутся работы над очередным дополнением DirectX под говорящим названием Direct Physics. Разумеется, до финальной версии еще очень далеко, но на сегодня доподлинно известно, что физический движок AGEIA уже лицензирован Microsoft и, несомненно, будет в том или ином виде использован. И это второй козырь, который позволит AGEIA укрепить свои позиции.

ATI + NVIDIA = Havok

Впрочем, констатировать, что остальные действующие лица индустрии игрового железа опоздали на поезд AGEIA, преждевременно. На сегодня оба основных производителя графических процессоров – ATI и NVIDIA – владеют гораздо большими ресурсами и имеют сложившуюся поддержку со стороны разработчиков игр, поэтому в долгосрочной перспективе они вполне могут опередить новичка. Графические процессоры обладают гибкой и вместе с тем многопоточной архитектурой и могут быть запрограммированы для обсчета физической модели без каких-либо перемен в «железе». Фактически, как ATI, так и NVIDIA достаточно разработать соответствующий драйвер с поддержкой новых функций, после чего видеокарта начнет помогать центральному процессору не только при наложении текстур на объекты трехмерного мира. Причем бета-версии для внутреннего тестировании и демонстрации – доступны. Оба производителя в качестве программной основы планируют использовать движок Havok FX. Показательно, что он уже используется под управлением центрального процессора во многих играх и действительно позволяет реализовывать интересные эффекты, в меру имеющихся вычислительных возможностей. Такие игры как Age of Empires III, Deus Ex: Invisible War, F.E.A.R., Half-Life 2, Max Payne 2, Medal of Honor: Pacific Assault, Painkiller, Splinter Cell 3, The Elder Scrolls IV: Oblivion, The Matrix: Path of Neo, Thief: Deadly Shadows, Tribes: Vengeance, Vampire: Masquerade Bloodlines используют программную версию Havok FX.

К сожалению, деталями реализации на сегодня поделилась только компания ATI, и то – лишь в общих чертах. Соответственно, ответ на вопрос «Чей вариант окажется привлекательнее и мощнее?» – придется на время отложить. Ожидается, что ATI позволит использовать несимметричные конфигурации: для просчета физики вполне можно обойтись менее мощной видеокартой (например, оставить свою старенькую, но не младше Radeon X1600), поручив графическую часть чему-нибудь более серьезному. Необходимости в использовании одинаковых карт для физики и графики нет – они поймут друг друга в любом случае.

Возникает законный вопрос – оправдана ли покупка второй видеокарты, нельзя ли обойтись одной? Можно. Но, как и в случае с ускорением графических расчетов, если вы хотите получить максимум спецэффектов, не нанося ущерба частоте кадров в игре, обойтись без второго графического процессора не удастся. Приводит ATI и результаты внутреннего сравнения потенциала своих карт с ускорителем от AGEIA. Так, для Radeon X1600 заявлено двукратное преимущество в скорости просчета физики, если же рассматривать самую мощную модель – 1900XTX, ее скорость должна превзойти конкурента в девять раз. при этом не стоит забывать, что цены заглавных моделей видеокарт не сравнятся даже с первоначально завышенными на карты с AGEIA PhysX. На демо-стенде ATI в сцене с несколькими тысячами падающих камней графический процессор демонстрирует скорость порядка 50 fps, в то время как переключение в режим программной обработки физики даже самым мощным из существующих центральных процессоров, вызывает торможение до 6-7 кадров в секунду. Разумеется, все эти оценки – прикидочные и доверять им следует с осторожностью, поскольку сегодня измерить производительность в реальных играх и независимых условиях ни ATI, ни NVIDIA нам не предлагают.

Для увлеченных игроманов, кому и двух видеокарт мало, появится возможность установить три: две будут заниматься графикой (CrossFire/SLI) и одна – физикой. Материнские платы с поддержкой трех графических портов уже появились, например, Gigabyte M59SLI-S5 на чипсете nForce 590 SLI для процессоров AMD с разъемом Socket AM2.

А как же быть с поддержкой от Microsoft? Все просто – она отнюдь не исключается, поскольку для принимаемых на работу в подразделение Direct Physics обязательное требование – владение языком программирования HLSL, используемым при разработке графических приложений. И внутри команды предполагается тесное сотрудничество с разработчиками Direct3D. Скорее всего, физический движок от Microsoft будет универсальным и ко времени выхода сможет исполняться как на самостоятельных ускорителях, так и силами видеокарт и центральных процессоров.

4х4

Что говорит в пользу третьего способа – обработки физической модели силами процессоров будущего, которые станут многоядерными и за счет высоких, по сравнению со специализированными чипами, частот теоретически должны обеспечить неплохую производительность и для многопоточных физических расчетов? Ответ краткий – универсальность. Можно реализовать более сложные эффекты, не требуется специализированный движок с поддержкой «железа», так что программисты, не желающие лицензировать готовые средства для разработки, вольны писать свои собственные. Как упоминалось, два основных «готовых» средства разработки от AGEIA и Havok также могут (и работают) под управлением ЦП. На первый взгляд, есть лишь одно смущающее обстоятельство: четырехъядерники появятся лишь в следующем году, а о сроках появления восьмиядерных процессоров пока можно только гадать.

Тем не менее, испытать мощность 4 ядер можно будет уже совсем скоро! Инициатива носит название «4х4», предлагается компанией AMD и, по сути, является распространением многопроцессорных рабочих станций на игровой сегмент. Основой такой системы будет двухпроцессорная материнская плата, в качестве процессоров в нынешнем году послужат двухъядерные модели, а уже в будущем году на ту же самую плату можно будет поставить пару четырехъядерников, получив, таким образом, в собственное распоряжение 8 ядер. Ничего фантастического в такой конфигурации, впрочем, нет. Ни для кого не секрет, что процессоры Athlon 64 основаны на той же архитектуре, что и серверные Opteron, имеют поддержку шины Hyper-Transport и архитектуру Direct Connect (прямой «канал связи» между процессорами и собственный массив памяти, напрямую подключаемый к каждому процессору).

Иными словами, допустить к работе в многопроцессорной конфигурации «настольные» процессоры AMD может с минимальными аппаратными изменениями, которые, очевидно, даже не повлияют на себестоимость процессоров (а значит, появление многопроцессорных систем для широкого круга пользователей всего лишь вопрос времени). Материнские платы для двух процессоров, конечно, отличаются более сложной и дорогой разводкой, но поскольку никакого специализированного чипсета для них не потребуется, цена предполагается на уровне топ-моделей нынешних однопроцессорных семейств. Впрочем, такие системы, укомплектованные по максимуму, все же будут недешевы и вряд ли поначалу широко распространены, более вероятно их позиционирование для сегмента ярых фанатов. Но сами по себе двухпроцессорные платы, возможно, найдут спрос и среди тех, кто не собирается комплектовать свой компьютер парой FX-процессоров. Специально для них AMD обещает еще один, более доступный способ расширения игровой функциональности – во второй процессорный разъем устанавливать процессор вообще не обязательно, там может оказаться… микросхема физического ускорителя. Какого именно и сколько это будет стоить, пока неизвестно, но не исключено, что такой способ окажется наиболее дешевым ввиду наименьшей себестоимости инфраструктуры.

На сегодня поддержку будущей платформы объявили в своих разработках компании Bioware, Cakewalk, Crytek, Havok, Irrational Games, Midway, Nero и Sony. Таким образом, честь иллюстрировать ее преимущества на момент выхода (предположительно – в начале осени), помимо игр, удостоены программы видео– и аудиоредактирования. Роль ударной новинки (подобно FarCry, в свое время сопровождавшей выход Athlon 64) отводится игре Crysis от компании Crytek, демонстрация которой на недавней E3 взволновала игровую общественность весьма нестандартным видеорядом. Удастся ли AMD в очередной раз «угадать» тенденцию? Посмотрим. Ждать осталось недолго.

Физиология

Пока же можно скоротать время, тестируя первого представителя семейства физических ускорителей. Нам досталась карта от BFG, отличающаяся от версии ASUS лишь комплектацией.

С пользовательской точки зрения запуск в работу физического ускорителя ничем не отличается от установки видеокарты. Также необходимо подключить шлейф дополнительного питания, причем, если вы о нем не вспомните, типичное для видеокарт предупреждение на экране не появится, и компьютер просто не стартует. Нагрев невелик, хотя активное охлаждение карте необходимо; кулер вращается довольно быстро и, увы, добавляет еще один источник шума, к счастью, не столь значительный даже по сравнению с самыми малошумными видеокартами (исключая, разумеется, те, что имеют пассивное охлаждение). После установки драйверов перезагрузка не требуется, можно сразу же начинать игру.

Как уже отмечалось, на сегодня эффект работы физического ускорителя в играх с поддержкой AGEIA PhysX фактически сводится к увеличению числа коробок, ящиков и прочего «мусора», который можно реалистично взорвать или раскидать. Поскольку все эти дополнения реализованы «поверх» имеющегося сценария и носят демонстрационный характер, ощущение их «необязательности», конечно, присутствует. Есть и чисто техническое ограничение – много движущихся объектов в кадре требуют особых приемов отрисовки, на сегодня же видеокарты не оптимизированы для такой работы. Как следствие, падает заветный уровень кадров в секунду. И едва ли владелец новой дорогостоящей карты, призванной, судя по названию, «ускорять», ожидает от нее такого подвоха. Таким образом, на сегодня физические ускорители «прописаны» исключительно владельцам топовых видеокарт. Но и они могут быть не совсем довольны, поскольку для предупреждения полного «ступора» системы на слабых компьютерах при увеличении числа подвижных объектов в кадре выше определенного уровня, «лишние» предметы (например разлетающиеся осколки при взрыве) тают в воздухе. Конечно же, для первой пробы все эти недостатки неизбежны и простительны, но если прогресс не будет быстрым, первооткрывательский восторг покупателей таких карт может очень быстро смениться недоумением – за что они отдали свои деньги? 

Ответить на этот вопрос, впрочем, можно, запустив те же игры с включенными физическими эффектами, но заблокировав аппартное ускорение. Наглядный пример демонстрирует игра CellFactor: Combat Training. В одном из эпизодов можно пострелять в колышущийся на ветру парус, оставляя в нем правдоподобные отверстия от выстрелов. Никакого замедления при игре с физическим ускорителем на этом месте не отмечается, тогда как без него игра тормозит до уровня ниже 10 fps и наблюдается неудовлетворительная картина при изображении взрывов: осколки повисают в воздухе и никакой физической достоверности в их прерывистом полете не усматривается. Особо надо отметить, что в наших тестах использовались отнюдь не самые слабые процессоры – Athlon 64 X2 4200+ и еще не выпущенный официально, но уже попавший к большинству заинтересованных тестеров процессор на ядре Intel Conroe (в нашем случае старший представитель линейки с частотой 2,66 ГГц и 4-мегабайтным кэшем). Разумеется, нельзя исключить некую рекламную оптимизацию (вернее, ее недостаток для режима программного расчета), но даже с такой поправкой очевидно, что нынешним процессорам (и вероятно, любым двухъядерным) в одиночку с задачей реалистичного отображения интерактивной обстановки не справиться.

Резюмируя, отметим, что срочно приобретать ускоритель на AGEIA PhysX всем неравнодушным к компьютерным играм пользователям мы не рекомендуем. Но если вы привыкли отдавать $500-1000 за один лишь процессор или пару видеокарт, приобрести физический ускоритель имеет смысл уже сейчас. Определенное количество положительных эмоций гарантированно, и в будущем их градус может только повыситься.