Синтез
ATI Physics. Тестируем своими руками

Часть 1: Тестовый стенд. Предварительные замечания

Предисловие

Во время тайваньской компьютерной выставки Computex, компания ATI демонстрировала фирменную систему расчета физики, использующую в качестве «физического ускорителя» видеокарту Radeon X1900XTX. Тогда мы рассмотрели базовую концепцию технологии ATI Physics и теоретические предпосылки для использования видеокарт в качестве ускорителя физических расчетов.

Основные выводы, которые были получены в ходе первого знакомства с ATI Physics, заключается в том, что в настоящее время акцент делается на введение двух эффектов — обнаружение столкновений объектов и расчет поведения множества мелких (точечных) частиц. Что касается производительности "физических ускорителей», то нам приходилось верить цифрам, озвученным представителями ATI.

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

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

Тестовый стенд

Мы получили на тестирование системный блок топовой конфигурации. Из наиболее важных для нас компонент отметим — процессор Intel Core Duo Extreme X6800 @ 2,93 ГГц, 2 Гб оперативной памяти стандарта DDR2, а также два видеоадаптера Radeon X1900XTX. Первый видеоадаптер используется в качестве «обычной» видеокарты, которая отвечает за рендеринг и вывод изображения, а второй Radeon используется в качестве ускорителя физических расчетов. На фото ниже — Компьютер DEPO с запущенной 3D-демо от ATI.

system.jpg

 

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

Мы позволили себе некоторую вольность в обращении с предоставленной на тестирование системой, а именно — после проведения первой серии тестов заменили «физический ускоритель» Radeon X1900XTX на Radeon X1600XT. Система без проблем распознала видеокарту и установила ее в качестве «ускорителя физики».

 

Предварительные замечания

Тестируемая система была нам предоставлена в полностью сконфигурированном виде, с уже предустановленными демо-сценами. Отсюда следует ряд определенных ограничений. Во-первых, получаемые результаты и оценки справедливы только в рамках рассматриваемой нами системы и необязательно будут совпадать с тем, что мы увидим, когда ATI Physics официально выйдет в свет. Во-вторых, не ждите объективного сравнения с конкурирующими технологиями расчета «физики», таких сравнений не будет, поскольку пока не существует тестовых приложений для демонстрации физических расчетов, способных запускаться на разных платформах.

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

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

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

Мы не будем гадать, какие именно упрощения были использованы в той или иной демо-сцене, использованной в тестах. Скажем лишь, что по нашим наблюдениям, все использованные объекты имеют массу, абсолютно гладкие (отсутствует сила трения) и твердые (то есть не деформируются). Это имеет значение при расчете движения объектов после соударения. Объекты находятся в поле тяготения, то есть, запущенные под углом к горизонту — движутся по параболе. Границы объектов, по которым производится расчет столкновений, довольно близко совпадают с видимой формой объекта.

Как видите, инженеры ATI не ставили перед собой легких задач. Давайте посмотрим, что же получилось в итоге.

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

Все тесты проводились в разрешении 1280×1024 точек, полноэкранное сглаживание и анизотропная фильтрация отключались (NO AA/AF).

Дмитрий Софронов
3DNews.ru

Часть 1    Часть 2    Часть 3    Часть 4
Copyright
2002—2007
ООО Фирма «Синтез»