`

СПЕЦІАЛЬНІ
ПАРТНЕРИ
ПРОЕКТУ

Чи використовує ваша компанія ChatGPT в роботі?

BEST CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

ASUS PhysX P1 – время ускорителей физических эффектов пришло?

Статья опубликована в №25 (544) от 4 июля

0 
 

Кажется, еще совсем недавно компания 3dfx представила свой «графический акселератор» – устройство для ускорения трехмерных расчетов в компьютерных играх. Первые Voodoo работали совместно с основной видеокартой и обеспечивали небывалый для того времени рывок в качестве графики. Теперь нашему вниманию предлагается PhysX – по сути, тоже акселератор, на сей раз «физический».

Сегодня ни у кого не вызывает сомнений, что нововведение 3dfx стало «моментом истины» для компьютерных игр и повлекло за собой действительно революционные изменения в технологиях визуализации. Удастся ли Ageia повторить этот успех? Для того чтобы ответить на поставленный вопрос, попробуем вначале разобраться, что же представляет собой PhysX P1 и какие именно функции он выполняет.

Теория и рыночные обстоятельства

ASUS PhysX P1 – время ускорителей физических эффектов пришло?
ASUS PhysX P1 – один из первых продуктов на базе PPU Ageia

Ageia определенно старается не утомлять общественность избытком информации о технических особенностях своего детища. Тем не менее известно, что центральный процессор PhysX – это массив узкоспециализированных вычислителей, работающих параллельно. По заявлениям компании, чип производится с соблюдением норм 0,13-микронного техпроцесса, его частота не разглашается. Помимо этого, платы на базе PhysX вставляются в слот PCI, оснащены простейшим кулером и могут иметь 128 или 256 MB оперативной памяти стандарта GDDR3. ASUS PhysX P1, в частности, выглядит практически как обычная видеокарта бюджетного класса, если не принимать во внимание отсутствие каких-либо интерфейсов, передающих сигнал на монитор, и некоторые особенности размещения компонентов на PCB. Основная задача устройства – снять часть работы по просчету физических эффектов с центрального и графического процессоров. Что же именно ускоряет PhysX? На самом деле речь идет о полностью аппаратном обсчете столкновений физических объектов – сферических, выпуклых и «более сложных». Несомненным плюсом акселератора является возможность одновременно рассчитывать взаимодействие огромного числа таких объектов – от 530 млн операций в секунду для сферических, до 533 тыс./с – для тех самых более сложных. Это действительно впечатляющие значения, которые могли бы серьезно улучшить физическую модель в играх, но в то же время не следует забывать, что все необходимые данные, в том числе для физических расчетов, по-прежнему должен подготовить CPU, а GPU, в свою очередь, произвести рендеринг финальной сцены. То есть ускорение от PhysX можно будет прочувствовать лишь в тех случаях, когда именно физическая составляющая расчетов станет узким местом, ограничивающим итоговую производительность системы. Как изменится положение дел в будущем – нам предстоит увидеть, но на сегодняшний день игр, в которых регулярно возникают такие ситуации, нет.

Нельзя не упомянуть об альтернативных решениях для просчета физики, предлагаемых производителями графических чипов – ATI и NVIDIA. Маленькая Ageia явно не конкурент этим компаниям – ни по масштабам, ни по выпускаемому продукту, и, тем не менее, оба графических гиганта не преминули использовать шумиху вокруг PhysX и физики в играх для наделения своих видеокарт дополнительными преимуществами в борьбе за рынок.

Канадская ATI Technologies предлагает использовать CrossFire-системы, представляющие собой, как известно, тандем из двух видеоадаптеров, в режиме, когда одна из плат занимается рендерингом, а другая – рассчитывает физические эффекты. Помимо этого, будет предложен вариант, когда связка из двух видеокарт функционирует в CrossFire, а для обсчета физики применяется третья, которая может быть значительно ниже по классу. К примеру, возможна ситуация, когда две платы Radeon X1900 ХТХ совместно работают над рендерингом сцены, а Radeon Х1600 ХТ обсчитывает физические эффекты.

Подобные планы вынашивает и NVIDIA для своих SLI-конфигураций.

Программная и аппаратная поддержка работы с физическим движком должна появиться в арсенале обеих компаний уже во второй половине этого года.

Кроме того, усилия Ageia сводит на нет еще одна концепция – обсчетом физики вполне может заниматься второе (а в перспективе – третье или четвертое) ядро центрального процессора. Учитывая до сих пор слабую распространенность оптимизации ПО под многопоточность, нередка ситуация, когда второе ядро простаивает и могло бы выполнять полезные функции, к числу которых можно отнести и поддержку физических расчетов.

Не следует забывать и о ключевом игроке, имеющем если не решающее, то весьма значительное влияние на рынок, – речь идет о Microsoft с ее DirectX. По последней информации, эта компания собирается включить физический движок с рабочим названием Direct Physics в следующую версию своего API. С его помощью расчеты физических эффектов планируется производить силами видеоадаптеров. Не самый утешительный вариант развития событий для Ageia.

Кроме того, уже сейчас хорошо зарекомендовал себя и Havoc FX – физический движок, который успешно использовался в Half Life 2 и The Elder Scrolls 4: Oblivion и многих других проектах последнего времени. Опять же PhysX SDK предстоит непростая борьба с уже укрепившимся на рынке Havoc FX.

И все бы ничего, но стоимость акселератора PhysX P1 равна $300 – и это очень много. За такие деньги вполне можно приобрести производительную видеокарту средневысокого класса или новый процессор и немало других радостей жизни. С точки зрения покупателя мотивация выкладывать такую сумму за устройство спорной на сегодняшний день полезности – минимальна.

Разумеется, для того чтобы приложение могло использовать возможности Ageia PhysХ, оно должно быть оптимизировано под данный ускоритель. С этим ситуация тоже не самая радужная. Разработчикам игр при создании физической модели предстоит выбирать, какой из методов физического ускорения будет применяться (реализовывать несколько алгоритмов очень сложно в силу трудоемкости процесса). С учетом того, сколько решений для просчета физики будет доступно в перспективе, нас ожидает если не война подходов и движков, то как минимум неопределенность, а следовательно, отсутствие стандарта. Вряд ли это положительно скажется на реализации идеи физического ускорения в реальных играх.

Первые впечатления

Пока же имеется игра Tom Clancy's Ghost Recon: Advanced Warfighter, которая изначально поддерживает Ageia PhysX PPU (Physical Processing Unit), ряд проектов, совместимых с физическим ускорителем после установки патча (Bet on Soldier: Blood Sport, City of Villains, Rise of Nations: Rise of Legends), а также несколько перспективных демо-версий. Нельзя сказать, что этот список очень богат, но, тем не менее, среди грядущих проектов, в которых заявлена поддержка Ageia PhysX, ряд весьма ожидаемых игр, в том числе Sacred 2 и Unreal Tournament 2007.

ASUS PhysX P1 – время ускорителей физических эффектов пришло?
Взаимодействие множества объектов в демо-программе выглядит действительно эффектно

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

Заглавный в списке Ageia на сегодняшний день проект – Tom Clancy's Ghost Recon: Advanced Warfighter – порадовал отличной графикой. Нельзя сказать, что физическая модель игры сильно впечатляет – на многие объекты законы физики вообще не распространяются, другие ведут себя крайне неестественно. Действительно привлекает внимание система частиц, очень эффектно выполняются разлет и взаимодействие разнообразных осколков и обломков, например при попадании пуль в бетонные стены и деревянные поверхности, а также при взрывах.

Сравнение эффектов с установленным в системе ASUS PhysX P1 и без него дает не столь значительную разницу, как того стоило бы ожидать. Да, действительно, при наличии аппаратного расчета физические эффекты выглядят более реалистично, а осколков от взорвавшейся гранаты больше. В то же время разница эта практически незаметна, и сторонний наблюдатель вряд ли обратил бы на нее внимание.

Отметим, что все обломки, камни и шрапнель, образовавшиеся в результате взрывов и перестрелок, очень быстро и безвозвратно исчезают, и это неудивительно. Все же очень тяжело рендерить такое количество разнообразных объектов, и PPU PhysX тут уже ничем не может помочь.

Тем более неудивительно, что производительность с использованием физического ускорителя возрастает лишь незначительно – не более 2–5% (в лучшем случае) в разрешении 1280×1024 с максимальными настройками. Как уже было сказано, PhysX частично уменьшает время просчета лишь одной стадии при формировании 3D-изображения, а она крайне редко становится узким местом.

Выводы

Напоследок немного информации, почерпнутой из пресс-релизов, а также из интервью официальных лиц Ageia. Так, комментируя подход ATI Technologies к проблеме физического ускорения, представители компании отмечают, что современные игры предъявляют запредельные требования к видеокартам, и в этой ситуации нагружать видеоподсистему еще и просчетом физики неразумно и неэффективно. Оптимальная конфигурация должна комплектоваться триадой CPU–PPU–GPU, ведь для применения третьего видеоускорителя для физических эффектов понадобится еще и материнская плата с тремя слотами PCI Express x16 – как правило, не из дешевых. Действительно, эти доводы имеют под собой основание.

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

Как бы то ни было, несмотря на наличие грозных конкурентов, продвигающих собственные подходы к ускорению физических эффектов, у Ageia уже есть некоторое преимущество – компания является пионером на рынке аппаратной физической акселерации и успела заручиться поддержкой многих именитых разработчиков игр. Кто выстоит в грядущей борьбе и сможет ли PhysX укрепиться на рынке в роли необходимого устройства хотя бы для энтузиастов (учитывая цену, это уже можно будет счесть успехом), покажет время. Ясно одно – противостояние будет нелегким.

Возвращаясь к 3dfx, припомним, чем окончилась ее история – постепенно функциями 3D-акселерации обзавелись все видеокарты, а API Glide в силу своей закрытости стал терять поддержку среди разработчиков, которые предпочли менее продвинутые (на начальном этапе) OpenGL и Direct 3D. Ну а саму 3dfx немного позже приобрела NVIDIA. Применительно к Ageia подобный вариант развития событий кажется достаточно вероятным.

Не играми едиными: альтернативные модели использования графических акселераторов

Желание задействовать мощности игровых 3D-акселераторов не по прямому назначению появилось у пользователей разных категорий уже довольно давно. В самом деле, не все же время в игры играть – а производительность современных GPU при выполнении некоторых операций такова, что просто грех ее не употребить «в мирных целях», т. е. для неигровых задач, требующих значительных вычислительных мощностей.

Первые попытки задействовать графические акселераторы для различных вычислений общего назначения (general purpose computing) отмечены еще в далеком 1979 г., когда для тренировок пилотов B-1 были применены симуляторы, построенные на графических системах Ikonas (England, J.N. A system for interactive modeling of physical curved surface objects. In Proceedings of SIGGRAPH 78 1978, 336-340. 1978).

Однако все же расцвет такого «рационализаторства» приходится на наши дни. Точнее, он стал возможен после выхода на рынок 3D-ускорителей третьего и четвертого поколений, предоставивших пользователям гибкий механизм вертексных и пиксельных шейдеров соответственно. Так как программирование шейдерных процедур выполняется на высокоуровневом C-подобном языке (GLSL, Cg, HLSL), то и количество энтузиастов, приступивших к исследованиям возможностей GPU в неграфических задачах, начало быстро расти. При этом были выявлены и задействованы такие преимущества графических акселераторов, как высокий параллелизм, большая полоса пропускания и низкая латентность работы с памятью, а также значительная скорость выполнения математических операций с плавающей запятой.

ASUS PhysX P1 – время ускорителей физических эффектов пришло?
Рис. 1. Сравнение производительности GPU и CPU при выполнении наиболее распространенных аудиоэффектов

Первой сферой для экспериментов, где выгоды от аппаратной акселерации всегда были весьма заметны, стала обработка аудиоданных. Работы, посвященные анализу применимости GPU для ускорения ряда аудиоэффектов, показали, что «овчинка стоит выделки» далеко не для всех из них (рис. 1). Но лиха беда начало – и относительно недавно молодая компания BionicFX анонсировала программный эффект-процессор RAVEX, выполняющий львиную долю вычислений с помощью GPU, что стало настоящей сенсацией. Первым алгоритмом, реализованным в рамках проекта, является реверберационный алгоритм BionicReverb, выполненный в виде стандартного VST-плагина. Впрочем, до окончательного релиза до сих пор дело не дошло, однако разработчики, занимающиеся этим на некоммерческих основаниях, уверены в своих силах.

Студент польско-японской высшей школы по компьютерной технике (PJWSTK, Марцин Ендржеевски (Marcin Jędrzejewski) разработал систему расчета акустики помещений с помощью трассировки лучей, выполняющегося на мощностях GPU. Приложение может работать на акселераторах класса ATI 9600 и производить в режиме реального времени трассировку 64 тыс. лучей.

ASUS PhysX P1 – время ускорителей физических эффектов пришло?
Рис. 2. Графический процессор вчетверо быстрее выполняет БПФ, чем современный CPU

Однако не только аудиозадачами ограничиваются возможные альтернативные применения графических процессоров. Так, библиотека GPUFFTW, созданная UNC GAMMA Group, позволяет выполнять операцию быстрого преобразования Фурье (БПФ) второго порядка, лежащую в основе многих алгоритмов обработки сигналов. GPUFFTW обрабатывает большие одномерные массивы вещественных и комплексных одномерных массивов с точностью 32-bit с плавающей запятой. Авторами были произведены замеры производительности выполнения этой операции с помощью GPUFFTW и библиотеки Intel Math Kernel (функция cfft1d), оптимизированной для современных многоядерных CPU. И результаты действительно впечатляют (рис. 2).

На текущий момент GPUFFTW работает только на видеокартах NVIDIA начиная с NV40, поддерживающих следующие OpenGL-расширения: EXT_framebuffer_object, ARB_texture_rectangle, ARB_fragment_program, Multiple Render Targets. В будущих версиях разработчики обещают также воплотить поддержку алгоритмов двух- и трехмерного преобразования Фурье.

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

Подробнее обо всех нетипичных применениях GPU можно узнать на сайте, где уже содержатся ссылки более чем на две сотни исследовательских работ, посвященных данной тематике. Что же касается нашей сегодняшней темы – ускорения игровой физики, то оба производителя графических процессоров заявляют о поддержке технологии Havok FX, выполняющей расчеты «физических эффектов» с помощью Shader Model 3.0, что также, по сути, является вариантом альтернативного использования мощностей современных GPU.

Ready, set, buy! Посібник для початківців - як придбати Copilot для Microsoft 365

0 
 

Напечатать Отправить другу

Читайте также

 

Ukraine

 

  •  Home  •  Ринок  •  IТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Мережі  •  Безпека  •  Наука  •  IoT