Домашний компьютер № 8 (122) 2006

ОглавлениеДобавить в закладки К обложке

Физика вчера

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

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

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

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

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

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

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

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


Логин
Пароль
Запомнить меня