Опрос
Вы участвуете в программе Windows Insider?
Популярные новости
Обсуждаемые новости

Пользователи и DirectX 10. Часть третья: Nvidia

Напечатать страницу
27.10.2006 01:13 | Raiker

В первой части статьи Пользователи и DirectX 10, мы говорили о новой графическом API с Дэвидом Блайсом и Крисом Донахью из компании Microsoft. Мы обсудили новые возможности API, какими будут игры поколения DX10, почему данный API предназначен исключительно для Vista и многое другое.

Во второй части мы побеседовали с Бобом Дребином, техническим директором компании ATI . Мы понимаем, что спросить одного производителя графических чипов мало, поэтому сегодня мы представляем вашему вниманию интервью с Тони Тамаси, вице-президентом компании Nvidia по техническому маркетингу. Ему преднамеренно были заданы все те же вопросы, что и представителю ATI. Мы подумали, что будет интересно задать им одинаковые вопросы, тем более, что будет проще сравнить ответы.



Наиболее значимые черты DX10

Extremetech: DirectX 10 добавляет несколько значительных преимуществ в графику: геометрические шейдеры, унифицированный шейдерный интерфейс, усовершенствованный конвейер, набор целочисленных инструкций и многое другое. Что вы считаете наиболее важным и почему?

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

Усовершенствование в DX10 позволит наполнить миры новыми объектами. Где раньше было невозможно (или нецелесообразно) рисовать стебельки травы или отдельные листья, теперь возможно. Армии высококачественных персонажей, физика их движений и взаимодействие между персонажами – с DX10 все это становится реальностью.

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

Безусловно, вещи типа геометрических шейдеров обеспечат новый уровень реалистичности в анимации персонажей, более эффектное использование теней, более детализированный и динамические пейзажи и т.д. И как это было при миграции с DX8 до DX9, при переходе от DX9 к DX10 планка снова поднимется, причем не только визуально, но также и с точки зрения погружения в компьютерный мир.

Extremetech: Мы знаем, что DX10 подразумевает унифицированные на уровне API пиксельные, вершинные и геометрические шейдеры, но это никоим образом не диктует аппаратной реализации. Возможно ли, что ваши DX10-карты будут иметь раздельные пиксельные и вершинные/геометрические шейдеры. Или прошло время объединить их, или есть преимущества от разделенных на аппаратном уровне шейдеров?

Тамаси: У каждого из подхода есть как преимущества, так и недостатки. Унифицированная модель, конечно же, интересной с точки зрения своей новизны и отличий от привычной модели, а кроме того, такая модель расширяема.

Откровенно говоря, индустрия графических решений добилась больших успехов при «извлечении» мощи из пиксельной/шейдерной архитектуры. Поэтому сейчас соревнование идет за создание принципиально новой – эволюционировавшей и крайне эффективной архитектуры. Первое правило любого нового GPU (прим. graphic processor unit – графический процессор) – быть лучше предыдущего. Любые компромиссы могут увести в сторону от поставленной задачи. Если оглядеть существующие архитектуры современных GPU, можно увидеть серьезные отличия в плане эффективности архитектуры, которые, как правило, были не унифицированными. Можно обнаружить серьезную (почти в 2 раза) разницу в производительности на единицу площади кристалла.

Существует множество примеров архитектур, которые выглядели ново и на бумаге были практически идеальными, но исполнение очень сильно страдало от первого закона GPU, по которому каждое новое поколение должно быть лучше предыдущего; лучше в единицах, которые характеризовали предыдущую архитектуру GPU. Унификация обязательно произойдет, но только после того, как унификация даст повышенную производительность, архитектурную и энергетическую (в смысле потребления электропитания) эффективность.

Сложность графических GPU с поддержкой DX10

Extremetech: Графические процессоры – это крайне сложные системы. Количество транзисторов в них достигло 300-400 миллионов. DX10 требует значительных в плане технической реализации изменений. Перевалит ли число транзисторов за полмиллиарда в картах DX10? Усложнят ли требования DX10 производство недорогих видеокарт или производство карт с низким потреблением электропитания, к примеру, для мобильных приложений?

Тамаси: Nvidia усердно трудится над архитектурной эффективностью одновременно на нескольких фронтах – с точки зрения стоимости и параметров электропитания. Это, в первую очередь, вызвано потребностями пользователей, в частности мобильных пользователей. Если вы посмотрите на сегодняшнее поколение GPU и сравните графические решения Nvidia с решениями наших конкурентов, вы увидите, что наши решения обеспечивают большую эффективность вкупе с эффективным дизайном. Мы будем придерживаться такой философии и при переходе на DX10.

Наиболее значимые отличия DX10 от DX9

Extremetech: Когда мы, наконец-то, увидим первые игры с поддержкой DX10 (такие как Crysis или Flight Simulator X), в чем, по-вашему, будут их основные отличия от DX9-игр? Другими словами, что нам принесет DX10?

Тамаси: Сегодня существует множество ограничений, продиктованных DX9. Это делает многие функции API неприменимыми на практике с точки зрения производительность и эффективности. Например, если из-за API или поведения аппаратной реализации было неэффективно рисовать множество стебельков травы, это значило, что разработчику приходилось идти на множество компромиссов, таких как ухудшение качества травы или качества чего-то другого в сцене, потому что прорисовка высококачественной травы требует огромных ресурсов GPU (или, как было раньше, CPU). Поэтому при использовании нового API и архитектуры некоторые вещи, которые ранее были нецелесообразны с точки зрения производительности, перешли в разряд весьма практичных, что выльется в более высокое качество изображений и более реалистичные сцены.

Что касается скорости, в DX10 есть много нового, что позволит создавать более эффективные устройства. Вещи типа геометрических шейдеров позволят пересмотреть существующие алгоритмы, чтобы возложить графические вычисления непосредственно на графический процессор, а иные функции позволят делать с GPU такое, что ранее было просто невозможно. Как результат, мы получим улучшенное качество изображений и по моим соображениям – более богатые, более детальные и более живые миры. DX10 принесет закономерное улучшение качества графики, причем как с точки зрения функциональности API (благодаря геометрическим шейдерам), так и с точки зрения определенности поведения функций типа фильтрации текстур, антиальясинга и прозрачности, которые несомненно станут достоинствами первого поколения DX10-игр.

ExtremeTech: Что можно сказать о том, как будут выглядеть будущее игры?

Тамаси: Используйте прошлый опыт для предсказания будущего. Для этого можно взять первое поколение DX9-игр, к примеру, Half Life 2, которая выглядела достаточно качественно для своего времени, и сравнить его со вторым поколением DX9-игр, к примеру, Unreal Engine 3 – разница заметна. В первом случае использовались десятки шейдерных инструкций, во втором - сотни. Усложнение шейдерных инструкций может выражаться в действительно поражающих улучшениях. Предполагаю, что ситуация повторится с играми для DX10, в частности благодаря появлению геометрических шейдеров.

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



GPU для неграфических приложений

Extremetech: Есть ли возможности, которые вы хотели, но не увидели в DX10? Чего вы ждете от будущих ревизий DirectX?

Тамаси: Всегда есть что-то, что хочется добавить, причем это касается не только индустрии компьютерной графики. Могу сказать, что мы все еще далеко от идеального набора функций. Среди функций, к которым разработчики продолжают чувствовать устойчивый интерес, более интеллектуальные способы составления мозаики и реализации прозрачности.

Extremetech: Графические вычисления общего назначения, включая (но не ограничиваясь) физику и обработку видео, приобретают новый смысл. Что смогут предложить DX10-карты и DX10 API для создания быстрых и надежных GP-GPU приложений?

Тамаси: Перенаправление вычислений является огромным преимуществом для программирования потока данных с GPU, собственно как и целочисленные операции. Геометрические шейдеры позволяют миграцию множества функций, которые ранее использовались в процессорно-ориентированной модели, на GPU, причем это касается как графических, так и неграфических алгоритмов. Конечно же, для GP-GPU является огромным преимуществом и заметно увеличенная вычислительная мощь при операциях с плавающей точкой.

ExtremeTech: Может, лучше исключить функции GP-GPU из графического API и просто позволить разработчикам самим программировать GPU?

Тамаси: И да, и нет. Графические API создавались с целью позволить разработчикам извлечь максимальную мощь из графических процессоров. Поэтому графические API быстры по своей природе. Тем не менее, графические API неудобны для решения неграфических проблем, так что разработчики сталкивались с постоянной битвой всеобщей применимости против производительности. Кроме того, вызов программированию GP-GPU был вызван не столько API (несмотря на то, что это является частью самого API), но скорее алгоритмами «параллелизации» вычислений. Программы, созданные для последовательного типа вычислений современных CPU, оптимизированы именно для этого типа вычислений. Со своей стороны разработчики не имели практического опыта создания и оптимизации приложений для высокопараллельной архитектуры. По этой причине была проделана фантастическая работа по разработке высокоуровневых языков программирования, созданных для разработки неграфических приложений GPU. Это также сделало программирование GPU более доступным. Хорошим примером является Brooke, созданный в Стэнфорде. И хотя этот язык заметно упростил программирование GP-GPU, некоторые из его приложений и абстракций требуют огромной производительности систем.

Хороший интерфейс GP-GPU может довольно таки заметно отличаться от графического API и может скрыть некоторые специфичные стороны программирования GPU от программистов, реализующих неграфические приложения. Но в итоге снова возникнет баланс между программированием широкого спектра приложений на GPU и получением максимальной производительности от операций с плавающей точкой. То, как должен выглядеть такой интерфейс, является объектом исследования множества организаций, к примеру Университета Северной Каролины, Стэнфорда, подразделения Microsoft Research, Университета Ватерлоо и многих других.

Ждем Vista…или нет?

Extremetech: Несколько огорчает, что Vista появится только в начале будущего года. Это, по-моему, также задержит выпуск DX10-совместимых карт, так? Обеспечат ли первые DX10-карты высокую производительность в DX9-играх?

Тамаси: Да, безусловно. Каждое новое поколение графических процессоров должно быть лучше предыдущих. История изобилует различными архитектурами и компаниями, которые занимались разработкой графических процессоров, но которые не были успешны в работе с существующими приложениями и API.

Extremetech: Есть ли что-то, что вы хотели бы добавить? Ну не знаю, какое-то сообщение о DX10 (или готовящихся DX10-картах) для наших читателей.

Тамаси: Мы поражены возможностями, предложенными DX10. Это откроет разработчикам новые горизонты, заметно упростив работу. Стоит сказать, что Nvidia работает над реализацией DX10 уже в течение нескольких лет. Я же со своей стороны надеюсь, что с выходом DX10 мы станем лидерами, как это было после появления третьей версией шейдеров.

Бонус – буквально на днях появилось видео, посвященное DirectX 10. Просмотреть его вы можете здесь.

Источник: http://www.extremetech.com/
Перевод: deeper2k

Комментарии

Комментариев нет...
Для возможности комментировать войдите в 1 клик через

По теме

Акции MSFT
420.55 0.00
Акции торгуются с 17:30 до 00:00 по Москве
Все права принадлежат © ms insider @thevista.ru, 2022
Сайт является источником уникальной информации о семействе операционных систем Windows и других продуктах Microsoft. Перепечатка материалов возможна только с разрешения редакции.
Работает на WMS 2.34 (Страница создана за 0.08 секунд (Общее время SQL: 0.063 секунд - SQL запросов: 51 - Среднее время SQL: 0.00123 секунд))
Top.Mail.Ru