Ускорение физики в играх
реклама
19 сентября 2007 года появилась новость: «Корпорация Intel купила компания Havok» . Тем, кто никогда не слышал об ускорителях физики, это явление вряд ли покажется заслуживающим внимания, хотя на самом деле оно почти сенсационно.
Все объекты реального мира имеют помимо видимых свойств (цвет, форма, прозрачность) имеют также физические качества, обуславливающие их поведение: масса, определяющая ускорение тела под воздействием внешних сил, способность к деформации, упругость и прочее. И если в 2003 году в Max Payne 2 для того, чтобы с полок могло одновременно падать пять коробок, требовалось не так много, то для симуляции движения 20 тысяч разных коробок требуется большая производительность. А всё потому, что для реалистичности эти коробки должны быть не просто кубами с натянутой текстурой, а разбитыми на множество сенсорных точек сложными деформируемыми объектами. Процесс же обработки данных должен представлять собой несколько параллельно выполняемых и корректирующих друг друга взаимно связанных процессов (движение, столкновение, деформация).
Первым шагом, приведшим к изменению ситуации в мире виртуальной физики, стал анонс весной 2005 года никому до той поры не известной компании AGEIA нового типа устройств – Physics Processing Unit (PPU). PPU - это физический ускоритель, то есть устройство, которое как раз занимается аппаратным ускорением физики в играх. По задумке создателей, в играх PPU должен вклиниться в обычную связку CPU-GPU. Центральный процессор при этом ответственен за игровой процесс и искусственный интеллект объектов, видеоадаптер – за их графическую визуализацию, а на плечи PPU ложится вся нагрузка по просчёту физической модели игрового мира. Буквально через год появились готовые карты физических ускорителей AGEIA PhysX.
Физический процессор PhysX может оперировать объектами трёх типов, основные способы обработки которых реализованы на аппаратном уровне. Во-первых, твёрдые тела, которые при этом не обязательно должны быть простыми (PPU умеет оперировать составными объектами, имеющими даже подвижные сочленения). Во-вторых, жидкости, которые служат для имитации реалистического поведения воды, крови и прочих льющихся субстанций, а также дыма, пыли, газа и т.д. Ну и в-третьих, PhysX умеет обрабатывать системы частиц, которые могут использоваться дл имитации поведения осколков, искр и прочих подобных вещей.
Сама плата по внешнему виду очень похожа на обычную low-end видеокарту, разве что без каких-либо портов ввода-вывода. И её технические характеристики не впечатляют сейчас никого: устаревший интерфейс (PCI), невысокая вычислительная мощность, небольшой, по современным меркам, объём памяти и т.д. Зато поражает цена: AGEIA PhуsX стоит на уровне очень неплохого современного графического ускорителя – более 200$.
Хотя производитель утверждает, что пропускной способности шины PCI хватает, некоторые тесты показывают, что в особо сложных сценах производительность падает именно из-за узкой старой шины, особенно в играх нового поколения (NextGen), изобилующих спецэффектами. Впрочем, AGEIA PhysX планирует выпустить PCI-Express версию адаптера, но, по словам разработчиков, лишь для того, чтобы оставить свободными столь малочисленные на современных платах PCI-разъемы.
Условно PhysX можно считать специализированных процессором, который за счёт своей параллельности и встроенного набора сложных команд сильно превосходит современные процессоры в определённом классе задач. Так, для чипов PhysX заявлена возможность обработки столкновения до 530 миллионов сфер в секунду и до 533 тысяч столкновений сложный объектов. То есть PPU может молниеносно обрабатывать как простые, так и сложные столкновения, но в последнем случае производительность падает в несколько раз.
Всё бы хорошо, но за несколько лет эта концепция так и не получила распространения, и PhysX остаются единственными реально существующими на рынке физическими ускорителями. Да и в вышедших играх, «знающих» о существовании такой «железки», всё происходит не так хорошо, как хотелось бы. Действительно, при использовании AGEIA PhysX заметно возрастает количество правильно обработанных столкновений объектов без падания FPS, но всё же существуют некоторые хорошо известные «баги»: объекты могут исчезать через некоторое время (осколки при взрыве недолетают до земли), иметь заметно схожее поведение. Так что со временем всё это месиво в игре идёт в ущерб реалистичности.
Интересно, что комментируя анонс PhysX, монстры индустрии как один высказались о бесперспективности разработки отдельных процессоров для обработки физики. Intel и AMD, понятное дело, ссылались на способность выполнения подобных задач многоядерными процессорами. Кроме этого, компания Intel не осталась в стороне от интереса к технологиям ускорения физических эффектов в играх, заявив, готовит собственный и специализированный ускоритель по имени Larrabee, который наверняка сможет заниматься физическими эффектами в играх. А Nvidia и AMD (ATI) – на аналогичность задач, выполняемых современными графическими процессорами. Компании AMD и NVIDIA интенсивно развивают так называемое направление GPGPU, подразумевающее использование вычислительных ресурсов графических чипов для ускорения специализированных вычислений. Пока все усилия разработчиков сосредоточены в сфере научных, финансовых и инженерных расчётов, а также в сфере распознавания образов и речи. Между тем, ещё на заре внедрения подобных технологий AMD и NVIDIA говорили, что видеокарты смогут ускорять и физические эффекты в играх.
Дальнейшие тенденции развития "физических ускорителей" во многом зависят от симпатий разработчиков игр. Здесь весьма кстати придётся высказывание знаменитого Джона Кармака из id Software, опубликованное на страницах сайта Boot Daily. Так вот, этот признанный гуру "игростроения" утверждает, что не видит будущего за специализированными ускорителями физики. В общем случае от многоядерных процессоров в этой сфере будет гораздо больше пользы, считает Кармак. Когда графические чипы научатся грамотно распоряжаться своими вычислительными ресурсами, некоторые задачи будут хорошо работать и под их управлением.
без физ. ускорителя
с физ. ускорителем
Оказывается, именно физические вычисления как никакие другие похожи на вычисления графические из-за одновременного обсчёта движения и взаимодействия большого количества объектов. К тому же современная видеокарта является действительно мощным по производительности устройством: большой объём очень быстрой памяти, быстрая шина с значительно более высокой пропускной способностью, а главное, очень подходящая для физических вычислений архитектура. Ничто не мешает переписать пиксельный шейдер под вычисления, например, каких-либо физических данных. Да и в точности этих вычислений можно не сомневаться – 32 бита над числами с плавающей точкой. Но самое главное заключается в том, что графические процессоры специально разработаны для параллельной работы с огромными массами данных. Видеокарты последнего поколения (например, Nvidia GeForce 8 серии) обладают так называемой унифицированной архитектурой с единым шейдерным ядром с множеством независимых процессоров. Каждый из этих процессоров способен обрабатывать разные типы информации, включая пиксельные и вертексные шейдеры, а также геометрические и физические. Безусловно, загрузка процессоров происходит динамически в зависимости от загруженности приложения, предоставляя беспрецедентную производительность и эффективность. Чтобы понять, насколько она высока, стоит вспомнить, что шейдерное ядро GPU GeForce 8800 состоит 128 потоковых процессоров, работающих параллельно на частоте 1,35ГГц!
В первой половине 2006 года NVIDIA на конференции разработчиков игр (GDC) объявила о тесном партнёрстве с компанией Havok, издавна известной своими достижениями в области игровой физики, для улучшения сложившегося положения игрового мира. Было объявлено, что в SLI-конфигурации вторая карта способна выполнять физические вычисления, в то время как первая, как и прежде, будет отвечать за визуализацию мира. Для этого компанией Havok был разработан физический движок, получивший название HavokFX (поддерживаемый существенно большим числом игр). Ходили слухи, что ATI займётся разработкой и программной составляющей физики, однако они не подтвердились, вместо этого они заручились поддержкой компании Havok. В итоге родились схемы и технологии, подобные Quantum Effects от Nvidia, когда потребитель может использовать до трёх видеокарт в системе, две из которых предназначены для обработки графической составляющей, а третья – для просчёта физики. При этом очень выгодным отличием от отдельных физических ускорителей является тот факт, что видеокарты продолжают оставаться видеокартами и могут полностью выполнять функцию визуализации мира, оставив функцию просчёта физики, в то время как PPU жестко привязаны к своей непосредственной, изначально спроектированной задаче. Также перспектива развития физических ускорителей есть и AMD (ATI). Сама концепция получила название "Boundless Gaming". Часть концепции – это Asymmetric Processing, то есть ассиметричная обработка данных. ATI предлагает использовать видеокарты серии Radeon X1xxx для расчёта физических эффектов. В одной системе можно объединить либо две видеокарты, одна из которых будет заниматься "графикой", а другая "физикой", либо три видеокарты, две из которых будут работать в режиме CrossFire, а третья будет рассчитывать "физику". При этом последняя может быть более низкого класса, чем две первых. Например, пара Radeon X1900 XTX может работать с Radeon X1600 XT – последний графический адаптер будет рассчитывать физические эффекты.
ATI собирается использовать разумное распределение ресурсов при создании физических эффектов в играх. Непосредственно расчёт эффекта происходит в три этапа. На первом грубо определяется та область, в которой будет происходить взаимодействие объектов. На втором этапе более подробно просчитываются точки контакта. На третьем этапе рассчитывается сама реакция объектов на столкновение. Такой подход позволяет выполнять короткий шейдерный код в тех частях сцены, где нет взаимодействия с предметами, и глубоко просчитывать физические эффекты в тех местах, где объекты взаимодействуют друг с другом и с окружающей средой.
Совершенно очевидно, что одинокой AGEIA не выдержать конкуренции со стороны монстров графической, а теперь ещё и процессорной индустрии, и дни её, скорее всего, сочтены. Но интересно не это. Куда интересней, что будет происходить в отношения тройки Intel –AMD+ATI-Nvidia. Адекватная физика – одно из важнейших направлений в дальнейшем развитии компьютерной игровой индустрии, которое именно сейчас выходит на передний план, и именно сейчас оказывается, что главный игрок этого рынка - компания Havok – принадлежит Intel, а значит огромное количество её наработок, скорее всего станет недоступно для союза AMD-ATI. Для того чтобы не допустить возникновения абсолютно устойчивой ассоциации «игры – значит Intel + Nvidia», AMD нужно сделать нечто невероятное, а именно: выпустить мощный десткопный процессор, мощный графический адаптер и разработать собственный ускоритель физики. Получится ли – вот вопрос времени
Первоисточник статьи вы можете найти здесь: http://total-oc.com/hardware-news.php?id=35
Ваши пожелания и комментарии можете оставлять здесь: https://forums.overclockers.ru/viewtopic.php?p=4135586#4135586
С уважением, slamms...
реклама
Лента материалов
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.
Сейчас обсуждают