Zoltar
Для начала, мы знаем, что NVIDIA перенесла в NV30 программируемую основу на более высокий уровень по сравнению с GPU предыдущих поколений. Новые команды обработки вершин представлены логарифмическими и тригонометрическими функциями высокой точности. Фактически, число инструкций, поддерживаемых анонсированной архитектурой, увеличилось от 128 в nfiniteFX до 65536 в CineFX. Это даёт разработчикам фантастическую возможность создавать большее количество эффектов при использовании более простых методов программирования. Возьмём к примеру Zoltar - технологическую демонстрацию для GeForce3. Чтобы создать подобную реалистичную кожу и костную структуру, необходимо использовать несколько шейдеров. Для достижения такого же результата используя архитектуру CineFX, достаточно лишь одного!
Например, многие из команд, используемых исключительно для обработки вершины теперь доступны для обработки пикселя, и сами программы управления будут по размеру больше (до 1024 команд). И в то время, как GeForce3 был ограничен до четырёх текстур в пиксель, NV30 поддерживает до 16. Наконец, количество операций над пикселем решительно увеличено: в DirectX 8 стоит ограничение на 8 операций, в наступающем DirectX 9 заявлена поддержка 64 действий, а NV30 поддерживает до 1024 операций с текстурой. Это включает такие продвинутые команды как "swizzling" (настройка по адресам) и "conditional write masks" (условные маски записи).
NVIDIA NV30: Cinematic Shading
В результате указанных улучшений разработчики будут иметь больший контроль на пиксельном уровне, что безусловно положительно скажется на реалистичности графики.
Результат HDRI рендеринга.
Одним из ключевых элементов стратегии nVidia по популяризации программирования графических приложений является язык Cg. Мы не можем назвать эту разработку революционной - на рынке существует масса аналогов от независимых фирм, да и ATi недавно представила собственный подобный инструментарий. Впрочем, поддержка производителя с мировым именем многого стоит. Осталось дождаться, пока индустрия определится, чей инструментарий поддерживать.
Cg, это язык программирования высокого уровня, благодаря которому nVidia пытается облегчить процесс разработки новых программ, сделать этот процесс доступным не только для набивших руку специалистов вроде Джона Кармака, но и для начинающих. В перспективе, это позволит сделать приложения еще более гибкими и мощными. Cg поддерживает как Direct3D, так и OpenGL, и при этом позволяет обеспечить совместимость с ранними моделями графических чипов.
На SIGGRAPH был продемонстрирован пример, в котором программа для пиксельных шейдеров, состоящая всего из двух строк на Cg, делала то же самое, что и внушительная порция кода из 23 строк на ассемблере. Использовать Cg для программирования продвинутых графических эффектов сможет даже начинающий программист. Да и разобраться с языком высокого уровня всегда проще, чем с ассемблером и специфичными командами акселератора. Исторически доказано, что языки высокого уровня стимулируют и популяризую разработку программ. Кстати, компилятор языка Cg распространяется под лицензией Open Source, что также положительно должно сказаться на его популярности. Возможно, Cg позволит унифицировать процесс разработки приложений для ПК и современных консолей, во многом подобных персоналкам по функциональности и архитектуре.
Джон Кармак, ведущий программист ID Software, как обычно не постеснялся сказать пару ласковых слов о новом чипе: "Моя нынешняя работа над Doom базируется на возможностях оригинального GeForce, и оптимально функционирует на NV30. Следующая работа будет изначально разрабатываться так, чтобы использовать все преимущества, и выжать все возможное из NV30." Попросту говоря это значит, что каких-то особенных преимуществ Doom III на NV30 не получит, и ту потрясающую графику, которую мы видели на скриншотах, будут способны выводить современные чипы. А вот следующий проект, не важно, будет ли это Doom 4 или Quake 4, станет еще красивее и фотореалистичнее благодаря новым аппаратным функциям, впервые представленным в NV30. Вот только Джон как всегда умолчал, что к моменту выхода играть в Doom III c максимальной детализацией на топовом оборудовании будет невозможно. И для следующего поколения движков NV30 станет базовым минимумом.
Кармаку всегда удавалось угадать, а возможно и определить, в каком направлении будет двигаться индустрия в следующие несколько лет. Достаточно вспомнить его ставку на nVidia в эпоху Quake 2/3, и провал Epic в то же время с её Unreal. Epic поставила в то время на 3dfx, лидера на рынке, позиции которого казались непоколебимыми, и оптимизировала код под Glide, язык, который успешно умер почти сразу же после выхода Unreal. В итоге, Epic несколько лет оптимизировала код Unreal под новые продукты nVidia, а Кармак и его команда успешно почивали на лаврах.
Увеличение полосы пропускания между системной памятью, процессором и графическим чипом - ключевая цель архитектуры NV3x. Чип будет поддерживать AGP8x, то есть вдвое большую полосу пропускания графической шины. AGP8x обеспечивает скорость в 2 Гб в секунду, в то время как AGP4x всего 1 Гб/c. В итоге, станет возможным передавать еще больше данных в акселератор, полнее и быстрее загрузить его текстурами, сложными геометрическими моделями и другими данными.
Но не стоит преувеличивать роль AGP 8x в системе. Видимая польза от нового интерфейса проявит себя еще ох как не скоро. Современные игры, оптимизированные на нынешнее поколение оборудования, от AGP 8x получат немногое. И только тогда, когда большая часть парка ПК будет совместима с новым интерфейсом, мы получим приложения, существенно быстрее работающие на AGP 8x, нежели на AGP 2x/4x системах. С другой стороны, NV30 будет работать с памятью DDR-II, а значит шина, через которую в память акселератора передаются данные из ОЗУ системы, может быть узким местом. Не будем загадывать. Тесты, результаты которых начнут появляться через несколько месяцев, расставят все на свои места.
Ядро NV30 будет производиться с использованием нового процесса 0.13 микрон. Для сравнения, старшие модели NV25, или попросту GeForce 4, производятся по 0.15 микронному процессу. Более "тонкий" процесс производства позволит разместить больше транзисторов на чипе, увеличить частоту, уменьшить энергопотребление и тепловыделение. Кстати, и топовый продукт ATi Raden 9700, еще не представленный на рынке, будет изготавливаться по 0.15 микронной технологии. К Рождеству на рынке 3D акселераторов развернется очередное побоище. Кто выйдет из него победителем? Сейчас мы не решимся предсказывать исход борьбы.
Одной из особенностей нового чипа, вызвавшей большой ажиотаж, является базовая поддержка памяти DDR второго поколения. Так называемая DDR-II может ключевым образом сказаться на производительности акселератора. Известно, что именно производительность подсистемы памяти графической карты зачастую определяет производительность в современных приложениях. Интересно и то, что ATi Radeon 9700 изначально будет работать с обычной DDR памятью, и лишь позднее перейдет на DDR-II.
С другой стороны, новый тип памяти может негативно сказаться на оперативности поставки новых акселераторов на рынок, а также на стоимости решения. nVidia не привыкать к выпуску решений, которые на момент появления стоят более 500 долларов. Но для нас, потребителей, хорошего в этом мало. Поддержка нового стандарта DDR позволит nVidia создать сбалансированное решение, у которого высочайшая производительность графического чипа будет сочетаться с эффективной работой памяти.
Как бы там ни разворачивались события, в одном мы можем быть точно уверены: такого противостояния на рынке трёхмерных решений не было с прошлого лета. С появлением Matrox и 3D Labs, играющих на том же поле (хотя и с меньшим успехом), события разворачиваются всё интереснее. Главный результат такой борьбы - это возможность выбора для пользователя и это определённо хорошая вещь.