ГЛЯДЯ ВПЕРЕД
Трехмерная технология утверждает свое положение в массовом потоке настольных Windows-систем. Пионерами на этом пути стали игры, но за ними последуют и другие приложения. Как Intel со своим MMX, так и Microsoft с быстро развивающимся интерфейсом прикладных программ Direct3D поддерживают трехмерную технологию на этом великом пути. Поставщики систем и графических адаптеров также выносят 3D-возможности на самое видное место в своих рекламных графиках.
Нередко возникает путаница относительно того, что понимать под “производительностью работы с трехмерной графикой” и как ее измерять. Мы уже сталкивались с разнообразными головокружительными заявлениями поставщиков: невероятное увеличение скорости работы с трехмерной графикой благодаря процессорам MMX, увеличение скорости отображения до сотен тысяч многоугольников в секунду с помощью новых графических адаптеров, увеличение частоты кадров до 100 и более в секунду и т. д.
Однако все эти заявления лишены смысла, если не обозначен самый важный аспект в теме производительности: контекст. Например, процессор MMX может в четыре раза увеличить производительность некоторых операций, но приведет ли это к такому же ускорению сессий приложения в целом? Едва ли.
Данный рынок еще не созрел, и стандарты на приложения для трехмерной графики пока отсутствуют, поэтому для того, чтобы разобраться с их производительностью, следует подробнее остановиться на технических факторах, оказывающих на нее основное влияние.
Многоугольники и биты
Два из таких факторов, часто мелькающие в данных поставщиков, это скорость расчета многоугольников (или треугольников в Direct3D), которые система должна изобразить, и скорость вывода результата на экран. Эти задачи касаются соответственно механизмов начальной установки (setup engine) и закраски (fill engine). Если установить большой размер треугольников, “узким местом”, очевидно, окажется механизм закраски, а если выбрать множество мелких треугольников, то критичным будет механизм установки. Чтобы корректно сравнивать эти показатели для систем различных поставщиков, нужно посмотреть, при каком среднем размере треугольников были получены указанные скорости.
Следует также учесть несколько дополнительных факторов. Два из них - разрешение экрана и глубина цвета - знакомы каждому, кто имел дело с графическими ускорителями Windows. Еще один важный для трехмерной графики фактор - качество изображения - традиционно не был значимым аспектом в работе таких ускорителей.
Качество изображения - это не скорость, с которой система изображает треугольники. Это скорее способ их изображения. Нарисуйте треугольники со слабой светотенью - и вы получите тусклое изображение. Добавление текстур - тоже важный момент. Воспользуйтесь системой светотени Gouraud (которая смешивает цвета соприкасающихся треугольников), коррекцией перспективы (исправляющей аномалии текстуры) и буфером глубины (регулирующим наложение треугольников), и вы получите куда более качественное изображение.
Эти и многие другие функции, улучшающие качество, потенциально могут сказываться на производительности. Чтобы сравнить заявления двух поставщиков, нужно узнать, какие из этих функций использовались при измерении производительности.
Вам также следует выяснить, насколько хорошо изучаемые вами продукты будут поддерживать Direct3D. Наш опыт показал, что, хотя о поддержке этого стандарта заявляет большинство поставщиков, степень и качество такой поддержки варьируются в широких пределах.
Необходимость разбираться во всех этих трехмерных тонкостях может немного напугать, однако выгоды очевидны: за свои деньги вы получите максимально возможную производительность.
Марк Л. Ван Нейм, Билл Кэтчингс
С Марком Л. Ван-Неймом и Биллом Кэтчингсом можно связаться через Internet по адресам: mark_van_name@zd.com и bill_catchings@zd.com.
Подпись к рисунку 1.
Марк Л. Ван Нейм, Билл Кэтчингс