...
...

NV40: новая революция или работа NVIDIA над ошибками NV35? Часть 2

NV40: новая революция или работа NVIDIA над ошибками NV35? Часть 2

В прошлом номере мы закончили рассматривать архитектурные особенности чипа NV40 и пообещали разобраться с шейдерами версии 3.0 и прочими интересными вещами, которые сопутствовали выпуску графического чипа нового поколения от NVIDIA.

Шейдеры 3.0: что нового?
Вместе с революционными нововведениями в аппаратной части NVIDIA реализовала в своем новом чипе поддержку шейдеров новой версии. По словам самой NVIDIA, третья версия программ-шейдеров позволит программистам достичь действительно кинематографических эффектов при написании кода. Однако это все достаточно общие слова — нам же куда более интересно посмотреть, как дела с этим вопросом обстоят в реальности. В реальности же мы можем констатировать, что на текущий момент шейдеры версии 3.0 официально API не поддерживаются. DirectX 9.0с, который должен исправить сие досадное недоразумение, еще не вышел, хотя и ожидается весьма скоро. Однако третью версию пиксельных и вершинных шейдеров компания NVIDIA уже реализовала в своем железе. Что же касается ATI, то уже доподлинно известно, что шейдеры версии 3.0 в чипе R420 реализованы НЕ БУДУТ. Злые языки также поговаривают, что сделано это было из-за совершенно неприемлемой скорости реализации пиксельных и вершинных программ версии 3.0 на железе ATI. Официальная же версия говорит о том, что ATI пока не видит смысла в реализации шейдеров третьей версии на аппаратном уровне в своих чипах. Вместо этого компания сосредоточится на поднятии скорости работы шейдеров версии 2.0 как приобретающих сейчас все большую популярность среди девелоперов.

Но давайте посмотрим, что же представляет собой третья версия шейдеров по сравнению со своими предшественниками. Вот что говорит по этому поводу сама Microsoft. Сначала пиксельные шейдеры версии 2.0 и 3.0:



Что же мы можем сказать, посмотрев на таблицу, сравнивающую спецификации пиксельных шейдеров версий 2.0 и 3.0? В глаза сразу бросается существенно увеличенная длина кода пиксельного шейдера — с 96 до 65535+ (причем "+" означает при необходимости бесконечную длину кода — лишь бы конвейер GPU смог при сносной скорости этот код обработать). Это позволит программистам на данном этапе не чувствовать никаких ограничений при написании программ — им дана полная свобода: теперь можно реализовывать какие угодно эффекты, не заботясь о том, что можно выйти за ограничения по длине программы-шейдера.
Большинство других характеристик являются следствием усложнения и увеличения длины шейдерного кода. Однако, к примеру, есть и другие полезные нововведения. К примеру, регистр невидимой поверхности, появившийся в 3.0-версии пиксельного шейдера, позволяет проводить двустороннее освещение за один проход, а это должно положительно сказаться на производительности данной функции. Интересным нововведением является также новый подход в реализации тумана и отражений. Теперь это не установленная фиксированная функция, а отдельная программа-шейдер! Это дает разработчикам полное и точное управление вычислением тумана и отражений и, по сути, представляет ограниченные только фантазией программиста возможности по созданию сложных эффектов.

Как обстоит ситуация с вершинными шейдерами версий 2.0 и 3.0, можно увидеть в другой нашей сравнительной таблице.



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

Да, пиксельные и вершинные шейдеры 3.0 реализованы на аппаратном уровне в NVIDIA GeForce 6800 Ultra, однако пока совсем неясно, насколько быстра реализация шейдеров третьей версии в NV40. Реальных приложений, использующих техники обработки изображений, основанные на пиксельных и вершинных программах версии 3.0, нет, однако они ожидаются уже в ближайшем будущем. Именно поэтому на сегодняшний день мы не можем ничего сказать о скорости обработки данных программ на существующем, пусть и сверхмощном, железе (имеется в виду непосредственно виновник сегодняшнего обзора=)). Также ни для кого не секрет, что ленивые программисты=) еще очень не скоро начнут использовать шейдеры третьей версии в своих разработках, как это было с 2.0 пиксельными и вершинными шейдерами, игры с которыми начали более или менее появляться только сейчас. А ведь с момента анонса и запуска в серийное производство ATI Radeon 9700 Pro, открывшего миру возможности DirectX 9.0, прошло ой как много времени. Делаем соответствующие выводы относительно шейдеров 3.0, дамы и господа. Также пока неясен вопрос, касающийся поддержки третьих шейдеров у ATI. Вполне естественным будет предположить, что девелоперы даже не будут шевелиться, если второй игрок рынка графических чипов не захочет поддержать новую версию шейдеров.

Встречаем Nalu
Вместе с анонсом видеокарт на новом чипе NVIDIA решила сменить и лицо — точнее, мордашку, — которое будет представлять видеокарты нового поколения. Всем известная бабочка, которая стала символом видеокарт на базе чипов NVIDIA GeForce FX, успешно отправляется в небытие вместе с видеокартами этой архитектуры. А ее место благополучно занимает прелестная русалка по имени Nalu.
При демонстрации новых возможностей NV40, вырисовывая всевозможные пируэты и красуясь своей собственной многополигональной моделью, русалочка Налу доказывает всем целесообразность покупки карт на базе этого графического процессора. Из спецэффектов, применяемых при рендеринге русалки, можно отметить эффект Deep shadows, результат действия которого отчетливо виден при освещении волос морской королевы.

Игры с поддержкой Pixel Shaders 3.0 уже сегодня
Внедрение пиксельных шейдеров 2.0 происходило в тот момент, когда на игровом рынке не было ни одного продукта, способного доказать целесообразность покупки топового акселератора с поддержкой DirectX 9.0. Покупая тогда ATI Radeon 9700 Pro, можно было лишь полюбоваться на несколько красивейших демонстрационных роликов, но на этом все по большому счету и заканчивалось.
Сегодня с анонсом нового решения от NVIDIA, которое имеет поддержку пиксельных и вершинных шейдеров версии 3.0, корпорация NVIDIA предоставила список существующих и ожидаемых игр, которые будут обладать поддержкой шейдеров версии 3.0 (все они проходят под логотипом "The Way It's Meant To Be Played"). Это Driver 3, Far Cry, Grafan, Lord of the Rings: The Battle for Middle-Earth, Madden NFL 2005, Painkiller, S.T.A.L.K.E.R.: Shadow of Chernobyl, Splinter Cell X, Tiger Woods 2005, Vampire: The Masquerade — Bloodlines.
Список достаточно приличный, также приятно отметить, что FarCry и Painkiller уже выпущены, и в них успешно играют. Реализация же шейдеров версии 3.0 будет добавлена посредством специальных патчей. Также не можем не упомянуть здесь про демонстрировавшуюся на московской презентации NV40 технодемку движка Unreal 3, а также игры You are Empty. И то, и другое просто поражает своей детализированностью и качеством рендеринга. Пожалуй, не стоит здесь расписывать подробности и делать охи и ахи по этому поводу — пока все желающие могут скачать видео, сделанное на основе демонстрации возможностей движка, а после релиза игр — и вживую убедиться в красоте игр нового поколения (при условии наличия GeForce 6800 Ultra на руках, естественно=)).

FarCry — точный показатель возможностей DirectX 9.0
В преддверии выхода DooM III и Half-Life 2 — двух игр, которые должны и, вне всякого сомнения, перевернут представления о графике в компьютерных играх, — как черт из табакерки выскочила неизвестная хорватская девелоперская студия Crytek со своей игрой, поражающей воображение красотой прорисовки и детализации игрового окружения. Все смогли удивиться, сначала увидев демо-версию данной игры, а затем отгремел и полный ее релиз. За считанные месяцы игра стала обязательным атрибутом показа возможностей современных акселераторов как на чипах ATI, так и на чипах NVIDIA.
Редактирование в реальном времени, bump-mapping, статическое освещение, сетевая система, интегрированный физический движок, шейдеры, тени и динамическая система музыки — вот только некоторые из особенностей, которые предлагает CryENGINE, на базе которого и выполнена игра FarCry.
Движок поддерживает все видео- и аппаратные ускорители, присутствующие в настоящее время на рынке, и новая аппаратная поддержка будет постоянно добавляться, поскольку это возможно благодаря гибкости CryENGINE.

Итого
Состоялась ли революция после анонса NV40? Как ни странно, ответ на данный вопрос весьма неоднозначен. С одной стороны, налицо небывалое увеличение всех основных технических характеристик акселератора, которые отвечают за "грубую силу" GPU. Большинство жизненно важных параметров GPU было увеличено ровно в 2 раза, что, как показали первые тесты сэмпла от NVIDIA, позволило NV40 в лице NVIDIA GeForce 6800 Ultra в наиболее тяжелых режимах с антиалиасингом и анизотропией получить двукратный прирост производительности по сравнению с решениями предыдущего поколения (в режимах без техник улучшения изображений все просто упиралось в центральный процессор). Также не можем не отметить явно большую технологическую гибкость архитектуры NV40 и реализованную аппаратную поддержку пиксельных и вершинных шейдеров версии 3.0. NVIDIA первой рискнула выпустить в свет техническое решение, имеющее поддержку шейдеров, под версию которых еще даже не вышло соответствующее API (имеется в виду Microsoft DirectX 9.0). Именно здесь и скрывается подводный камень, сыгравший в свое время нехорошую шутку со всеми чипами архитектуры NVIDIA GeForce FX, за что нынешнее семейство графических чипов NV40 поплатилось, судя по всему, из-за суеверия маркетинговых сотрудников NVIDIA, отсутствием частички "FX" в названии. Расширенные возможности и поддержка новейших наработок по части реализации новейших технологий, как оказалось, стали практически бесполезными для рядовых пользователей, которым была гораздо важнее реализация функций, востребованных на данный момент и работавших быстрее на чипах канадской компании ATI. Не повторится ли такая же ситуация с NV40? Не станет ли цифра 3 в версии шейдеров такой же "роковой", как и "+" в 2.0 версии шейдеров в чипе NV35, которые имели увеличенную функциональность по сравнению с референсной 2.0 версией пиксельных и вершинных программ, предложенной Microsoft в своих спецификациях DirectX 9.0. Однако на этот раз все выглядит для NVIDIA куда более оптимистично: вкупе с поддержкой передовых технологий у нового чипа заметна большая проведенная "работа над ошибками". Это позволяет делать выводы о том, что в противостоянии с ATI R420 NVIDIA будет выглядеть вполне достойно.

Если же отбросить в сторону всяческие сомнения и домыслы, то перед нами — новое технологическое решение от NVIDIA, которое имеет местами просто фантастические параметры. Чего стоят только 220 млн транзисторов, из которых состоит ядро NV40! Технические характеристики нового чипа от NVIDIA также не заставляют задумываться о революционности нового чипа. Однако революционность все же носит эволюционный характер (просим прощения за такой вот своеобразный каламбур=)) — грубое увеличение блоков акселератора, отвечающих за производительность чипа в 3D, по-другому назвать не получается. Однако вывод от этого никак не меняется. На сегодняшний день NV40 — самое технологичное и прогрессивное решение с поддержкой шейдеров 3.0, и пока конкурентов на этом поприще у него нет, так как уже официально подтверждена информация о том, что ATI R420 не будет поддерживать пиксельные и вершинные шейдеры 3.0. Возможно, в скором времени после анонса на базе ATI R420 будет выпущен новый "усиленный" чип с поддержкой шейдеров третьей версии, однако проверить это нам удастся еще очень не скоро. Также открытым остается вопрос стоимости плат на основе данного чипа.
По последним заявлениям самой NVIDIA, NV40 дешевле R420 в среднем на 10-15%. И это несмотря на то, что NV40 содержит на 40% больше транзисторов и имеет на 9% большую площадь ядра! Все дело в использовании при производстве R420 low-k-диэлектриков, что сразу же значительно увеличивает его цену. Однако к данным заявлениям NVIDIA стоит относиться с большой долей скептицизма — лучше подождать реальных плат в продаже и уже потом делать выводы о стоимости конечных изделий.

Бурдыко Алексей aka Knes,
Knes@tut.by



© Компьютерная газета

полезные ссылки
Купольные камеры видеонаблюдения