(А.Пугачева)
Как обычно, предваряя большой базовый материал анализа работы нового акселератора, мы настоятельно рекомендуем прочитать аналитическую статью, посвященную архитектуре и спецификациям NVIDIA GeForce FX (NV30)
СОДЕРЖАНИЕ
- Общие сведения
- Особенности видеокарты NVIDIA GeForce FX 5800 Ultra 128MB
- Конфигурации тестовых стендов и особенности настроек драйверов
- Результаты тестов: коротко о 2D
- Синтетические тесты RightMark3D: идеология и описание тестов
- Результаты тестов: RightMark3D: Pixel Filling
- Результаты тестов: RightMark3D: Geometry Processing Speed
- Результаты тестов: RightMark3D: Hidden Surface Removal
- Результаты тестов: RightMark3D: Pixel Shading
- Результаты тестов: RightMark3D: Point Sprites
- Результаты тестов: Синтетические тесты 3DMark2001 SE
- Дополнительная теоретическая информация и выводы из результатов синтетических тестов
- Информация по анизотропной фильтрации и по анти-алиасингу
- Архитектурные особенности и перспективы
- Результаты тестов: Игровые тесты 3DMark2001 SE: Game1
- Результаты тестов: Игровые тесты 3DMark2001 SE: Game2
- Результаты тестов: Игровые тесты 3DMark2001 SE: Game3
- Результаты тестов: Игровые тесты 3DMark2001 SE: Game4
- Результаты тестов: Игровые тесты 3DMark03: Game1
- Результаты тестов: Игровые тесты 3DMark03: Game2
- Результаты тестов: Игровые тесты 3DMark03: Game3
- Результаты тестов: Игровые тесты 3DMark03: Game4
- Результаты тестов: Quake3 ARENA
- Результаты тестов: Serious Sam: The Second Encounter
- Результаты тестов: Return to Castle Wolfenstein
- Результаты тестов: Code Creatures DEMO
- Результаты тестов: Unreal Tournament 2003 DEMO
- Результаты тестов: AquaMark
- Результаты тестов: RightMark 3D
- Результаты тестов: DOOM III Alpha version
- Качество 3D: Анизотропная фильтрация
- Качество 3D: Анти-алиасинг
- Качество 3D в целом
- Выводы
Мы стоим в предверии весны 2003 года. Практически ровно год назад вышел в свет NVIDIA NV25, ставший впоследствии родоначальником целой линейки GeForce4 Ti. Давайте вспомним последние 2 года. Зимой 2001 года выходит NV20 (GeForce3), родоначальник многих уже ставших привычными технологий. Казалось бы, пройдут обещанные NVIDIA полгода, и осенью 2001 должен выйти новый продукт — NV25. Однако вмешалась жизнь (ATI Technologies со своим R200), и осенью появляются лишь братья Ti 200/500 из семейства Titanium, как стали называть линейку GeForce3. То есть, не продукты на основе нового чипа, а лишь обновленные версии карт на базе того же NV20, выход которых продиктован чисто маркетинговыми интересами. Вследствие чего случился первый сбой полугодового цикла у NVIDIA, и NV25 вышел лишь год назад. GeForce4 Ti - это своего рода доводка до ума NV20: усиление мощности 3D-ускорителя засчет более высоких частот, установка уже 128-ми мегабайт памяти (и попытка ввести этот объем в разряд стандартов) и многие другие вещи. Казалось бы, еще полгода — и появится таинственный NV30, о котором вообще ничего не было слышно, что только подогревало интерес. Даже если абстрагироваться от предыдущей задержки с выходом NV25 (потому как в противном случае NV30 обязан выйти весной 2002 года), самые оптимистичные прогнозы указывали на сроки не ранее августа 2002 года.
Казалось, что мы стоим на пороге нового витка борьбы ATI и NVIDIA. Предыдущее сражение канадская компания полностью проиграла, ибо RADEON 8500 получился весьма дорогим и мог составить конкуренцию разве что GeForce3, но никак не GeForce4 Ti. Впрочем, как выяснилось позже, у NV25 очень "хромала" по производительности анизотропная фильтрация, поэтому при активизации этой функции продукт от ATI мог с ней соперничать, правда, в свою очередь, имея при этом кучу нареканий на качество анизотропии.
Итак, летом 2002 года под звуки фанфар появляется флагман 3D-ускорителей от ATI — RADEON 9700 PRO. Разумеется, все предыдущие решения просто меркнут перед ним, и ATI завоевывает трон лидера в 3D игрового класса. Где же NV30? Все летние, а затем и осенние месяцы у NVIDIA ушли на сражения с непокорным 0.13 мкм техпроцессом, ибо руководство компании хотело хотело выпустить чип с 125 млн. транзисторов сразу по новому техпроцессу. Очень вероятно, что продукт много раз переделывался, урезался, дабы получить приемлемый процент выхода годных кристаллов. В ноябре прозвучал наконец-то анонс, мы даже смогли воочию пощупать новые карты, однако они были еще весьма сырыми. Я говорю не только про сами платы или чипы, но и про драйверы.
Таким образом, NVIDIA практически пропустила еще один полугодовой цикл. Повторный выпуск NV25 с поддержкой AGP 8x в виде NV28 — не в счет, это просто маркетинговый шаг, да и поддержка AGP8x для NV28 практически ничего не дает: 128-ми мегабайт локальной памяти пока хватает с лихвой для всех современных игр. И мы видим, что с момента выхода NV20 до появления NV25 прошел год, и от NV25 до фактического выхода в свет NV30 — тоже год. Что касается ATI, то компания придерживается 9-месячного цикла, и поэтому весной (вот-вот) должны выйти в свет ее новые продукты R350 и RV350.
Кто будет конкурировать с ними? NV30? По всем раскладам — именно она. Ведь в сумме NV30 стал самым мощным на сегодня ускорителем (подробности смотрите ниже), но! В продаже этих карт почти не будет. Из-за сильного отставания от графика и желания как можно быстрее сосредоточить внимание своих партнеров на улучшенном варианте NV30, NV35, NVIDIA сильно ограничила выпуск кристаллов NV30. Их было выпущено всего около 100 000 штук. Учитывая высочайшую себестоимость NV30, а также стратегию NVIDIA, состоящую в том, что вначале выпускается чип для профессиональной графики (NV??GL), а затем уже на его базе создается игровой (NV??), логичным стало решение NVIDIA чуть ли не более половины всех чипов NV30 пустить на выпуск Quadro FX. Благо, цены на профускорители традиционно высоки, и есть возможность частично оправдать колоссальные затраты на выпуск NV30. Как известно, часть новых карт всегда поступает к ОЕМ-сборщикам, поэтому на Retail-рынок попадет очень и очень мало карт GeForce FX 5800 Ultra (даже есть слухи, что таких карт в открытой продаже вообще не будет, а только по ранее размещенным заказам). Скорее всего, оставшаяся часть GPU пойдет на выпуск плат GeForce FX 5800. Кстати, надо напомнить, что на базе чипа NV30 строится целая линейка карт:
- GeForce FX 5800 Ultra — 500 МГц чип, 128 Мбайт 500 МГц (DDR II 1000) 128 бит локальной памяти;
- GeForce FX 5800 — 400 МГц чип, 128 Мбайт 400 МГц (DDR II 800) 128 бит локальной памяти.
Конечно, впереди еще выход в свет более дешевых (ну и менее скоростных, разумеется) вариаций, NV31 и NV34. По обещаниям компании, это будут просто урезанные решения на базе NV30, а следовательно, затраты на разработку NV3X-технологий в целом, должны покрыться и продажами таких карт. Но мы к этому вопросу вернемся позже, в свое время. А сейчас обратимся непосредственно к NV30.
Напомним характеристики:
- Технологическая норма 0.13 микрон, медные соединения
- 125 миллионов транзисторов
- 3 геометрических процессора (превышают спецификации DX9 VS 2.0)
- 4 пиксельных процессора (значительно превышают спецификации DX9 PS 2.0), каждый снабжен двумя конвейеризированными фильтрующими текстуры блоки, двумя целочисленными и одним плавающим ALU.
- системный интерфейс AGP 3.0 (8х)
- 128-битный (!) интерфейс локальной памяти DDR2
- Эффективный четырехканальный контроллер памяти с коммутатором
- Развитые техники экономии пропускной полосы локальной памяти: полное сжатие буфера кадра, включая информацию о цвете (впервые, коэффициент сжатия до 4:1, только в режимах MSAA), и глубине (сжатие Z буфера)
- Тайловые оптимизации: кэширования, сжатия и раннего отсечения невидимых поверхностей (Early HSR, Early z Cull)
- Поддержка точных целочисленных форматов (10/16 бит на компоненту) и точных плавающих форматов (16 и 32 бита на компоненту) для буфера кадра и текстур.
- Сквозная точность всех операций 32-бит плавающей арифметики (поддержка т.н. 128 бит глубины цвета)
- Новый алгоритм оптимизированной анизотропной фильтрации, будучи активирован пользователем, снижает падение производительности (читай величины fps) без особенного падения качества
- Качество анизотропии вплоть до 8х от обычной билинейной фильтрации, т.е. до 32 дискретных отсчетов на одну выборку из текстуры
- Новые гибридные режимы АА 8х и 6xS
- Сжатие буфера кадра позволяет существенно снизить падение производительности при активации FSАА
- Два встроенных RAMDAC 400 МГц
- Встроенный интерфейс для внешнего TV-Out чипа
- Встроенные в чип три TMDS-канала для внешних интерфейсных DVI-чипов
- Потребляемый чипом GeForce FX, сделанным по технологии 0.13 мкм, ток сравним с требованиями, заложенными в спецификацию AGP 3.0. Таким образом, потенциально возможно создание карт на базе GeForce FX без использования внешнего питания.
А теперь приведем блок-схему GeForce FX:
И поясним назначение блоков:
- Cache controller, Memory controller, Crossbar блок, отвечающий за обмен и кэширование данных, поступающих из локальной памяти GPU и системной шины AGP.
- Vertex Processors геометрические (вершинные) процессоры, исполняют вершинные шейдеры и эмулируют фиксированный T&L. Осуществляют геометрические преобразования и подготовку параметров для закраски и пиксельных процессоров.
- Pixel Processors пиксельные процессоры, исполняют пиксельные шейдеры и эмулируют пиксельные стадии. Осуществляют закраску пикселей и формируют запросы к блокам выборки текстур.
- Texture Fetch & Filtering & Decompression Units блоки выборки, распаковки и фильтрации текстур. Осуществляют выборку конкретных значений конкретных текстур по запросам из пиксельных процессоров.
- Texture & Color Interpolators интерполяторы текстурных координат и значений цвета, рассчитываемых, как выходные параметры в вершинном процессоре. Эти блоки вычисляют для каждого пиксельного процессора его уникальные значения входных параметров исходя из положения закрашиваемой им точки.
- Frame Buffer Logic блок, отвечающий за работу с буфером кадра, включая сжатие буфера кадра (Frame Buffer Compression & Decompression), кэширование, раннее отсечение невидимых блоков и точек (Tile HSR Logic так называемый Early Cull HSR), а также размещение сэмплов при полноэкранном сглаживании (MSAA Allocation) и их постобработку итоговую фильтрацию в FSAA-режимах (FSAA post-processor)
- Ядро двухмерной графики (2D Core)
- Два контроллера дисплея, два RAMDAC и богатый набор интерфейсов включая три встроенных DVI и один встроенный TV-Out
Полагаем, что более подробно с особенностями чипа NV30 читатель сможет ознакомиться в нашем аналитическом материале.
В заключение раздела приведем список доступных на данный момент OpenGL расширений и версию OpenGL ICD:
- Vendor: NVIDIA Corporation
- Renderer: GeForce FX 5800 Ultra/AGP/SSE2
- Version: 1.4.0
- Extensions:
- GL_ARB_depth_texture
- GL_ARB_fragment_program
- GL_ARB_imaging
- GL_ARB_multisample
- GL_ARB_multitexture
- GL_ARB_point_parameters
- GL_ARB_shadow
- GL_ARB_texture_border_clamp
- GL_ARB_texture_compression
- GL_ARB_texture_cube_map
- GL_ARB_texture_env_add
- GL_ARB_texture_env_combine
- GL_ARB_texture_env_dot3
- GL_ARB_texture_mirrored_repeat
- GL_ARB_transpose_matrix
- GL_ARB_vertex_program
- GL_ARB_window_pos
- GL_S3_s3tc
- GL_EXT_abgr
- GL_EXT_bgra
- GL_EXT_blend_color
- GL_EXT_blend_func_separate
- GL_EXT_blend_minmax
- GL_EXT_blend_subtract
- GL_EXT_compiled_vertex_array
- GL_EXT_draw_range_elements
- GL_EXT_fog_coord
- GL_EXT_multi_draw_arrays
- GL_EXT_packed_pixels
- GL_EXT_point_parameters
- GL_EXT_rescale_normal
- GL_EXT_secondary_color
- GL_EXT_separate_specular_color
- GL_EXT_shadow_funcs
- GL_EXT_stencil_two_side
- GL_EXT_stencil_wrap
- GL_EXT_texture3D
- GL_EXT_texture_compression_s3tc
- GL_EXT_texture_cube_map
- GL_EXT_texture_edge_clamp
- GL_EXT_texture_env_add
- GL_EXT_texture_env_combine
- GL_EXT_texture_env_dot3
- GL_EXT_texture_filter_anisotropic
- GL_EXT_texture_lod
- GL_EXT_texture_lod_bias
- GL_EXT_texture_object
- GL_EXT_vertex_array
- GL_HP_occlusion_test
- GL_IBM_texture_mirrored_repeat
- GL_KTX_buffer_region
- GL_NV_blend_square
- GL_NV_copy_depth_to_color
- GL_NV_depth_clamp
- GL_NV_fence
- GL_NV_float_buffer
- GL_NV_fog_distance
- GL_NV_fragment_program
- GL_NV_half_float
- GL_NV_light_max_exponent
- GL_NV_multisample_filter_hint
- GL_NV_occlusion_query
- GL_NV_packed_depth_stencil
- GL_NV_pixel_data_range
- GL_NV_point_sprite
- GL_NV_primitive_restart
- GL_NV_register_combiners
- GL_NV_register_combiners2
- GL_NV_texgen_reflection
- GL_NV_texture_compression_vtc
- GL_NV_texture_env_combine4
- GL_NV_texture_expand_normal
- GL_NV_texture_rectangle
- GL_NV_texture_shader
- GL_NV_texture_shader2
- GL_NV_texture_shader3
- GL_NV_vertex_array_range
- GL_NV_vertex_array_range2
- GL_NV_vertex_program
- GL_NV_vertex_program1_1
- GL_NV_vertex_program2
- GL_NVX_ycrcb
- GL_SGIS_generate_mipmap
- GL_SGIS_texture_lod
- GL_SGIX_depth_texture
- GL_SGIX_shadow
- GL_WIN_swap_hint
- WGL_EXT_swap_control
Карта снабжена интерфейсом AGP x4/x8, 128 МБ локальной памяти GDDR-II SDRAM (восемь микросхем, размещенных на лицевой и оборотной сторонах PCB).
На карте установлены микросхемы памяти Samsung марки K4N26323AE-GC1K, форм-фактора BGA. Максимальная частота работы — 550 (1100) МГц, поэтому можно сделать вывод, что время выборки 1.8 нс. По умолчанию память работает в 3D на частоте 500 (1000) МГц, в 2D — 300 (600) МГц. |
Как мы видим, используется практически самая быстрая на сегодня память, что есть в массовом (или предмассовом) производстве.
NVIDIA GeForce FX 5800 Ultra 128MB | |
---|---|
Перед нами уникальный продукт в части конструкции. Разумеется, прежде всего бросается в глаза охлаждающее устройство громадного размера. Мы о нем поговорим чуть позже, а сейчас я замечу, что в силу крайне сложной системы крепления, а также жесткого приклеивания радиатора к поверхности чипа, я не стал снимать с карты такой кулер, а без радиатора на снимке выше представлена карта, имевшаяся в нашей лаборатории ранее. Хотя между ними и есть различия в некоторых элементах PCB, в целом их можно считать одинаковыми.
Приведу пример, когда снятие кулера привело к отрыванию крышки чипа (снимок любезно предоставил Yinchu Chan AKA Cho с популярного в Китае сайта http://www.gzeasy.com):
Кстати, можно оценить и размер кристалла. И раз уж мы заговорили о чипе, то скажем, что, в отличие от ATI R300, кристалл покрыт цельнометаллической крышкой, защищающей его от сколов и играющей роль дополнительного радиатора. А упаковка кристалла такая же — FCPGA.
Как и следовало ожидать, перед нами NV30GL. Почему следовало? Выше мы уже говорили о новой стратегии NVIDIA, когда вначале выпускаются чипы со всеми возможностями как для нужд профессиональной, так и для игровой графики. А затем уже идет разделение продуктов с возможными блокировками ряда профессиональных возможностей для игровых решений.
Сама PCB очень сложна. Несмотря на поддержку только 128-битной шигы обмена с памятью, плата выполняется по 12-слойному дизайну, из которых 2 слоя — это экранирование PCB:
Это сделано для защиты суперскоростной памяти от наводок. Вообще, по некоторым сведениям, GDDR-II память весьма капризна в этом плане. Кстати, обратите внимание на то, с какой тщательностью выполнено охлаждение именно памяти. Мало того, что используется радиатор из медного сплава, там еще есть особая термопрокладка, обеспечивающая 100-процентную теплопередачу.
А раз уж мы заговорили об охлаждении, то рассмотрим эту внушительную штуковину — кулер FlowFX.
В конце рассмотрения особенностей видеокарты стоит заметить, что она имеет почти такую же длину, как и GeForce4 Ti 4600. Ну и, конечно, нельзя не увидеть, что плата требует внешнее питание, для чего справа вверху на PCB есть специальное гнездо (такое же, какое мы могли ранее видеть у 3dfx Voodoo5 5500, кстати, опять же любопытная аналогия: "FX" — в честь 3dfx, разъем внешнего питания такой же, как у Voodoo5, карта длинная (немного не хватает до длины Voodoo5 5500), ну и номер 5800 — недалеко от 5500 ушел :-) ).
Мы еще раз хотим напомнить, что, возможно, такие карты не появятся в розничной продаже, может быть, и система охлаждения фирмами-производителями будет изменена.
И последнее: в силу огромного объема данного материала мы не будем сейчас рассматривать работу TV-out у данной видеокарты. В ближайшем обзоре подобного продукта (вероятно, серийной карты на базе GeForce FX 5800) мы вернемся к этому вопросу. Замечу лишь, что у нашего экземпляра нет кодека TV-out, хотя имеется посадочное место под него. Драйвера сообщают о том, что TV-кодек интегрирован в чип. Проверим.
Разгон
К сожалению, с разгоном есть большие сложности. А может быть, и не к сожалению, ведь такую дорогую карту можно спалить неосторожным поднятием частот. Встроенный мониторинг сам регулирует частоты, и поэтому при поднятии частот мы наблюдаем либо торможение работы карты (аналогичное термальной защите современных процессоров Intel), либо сбрасывание частот драйвером карты на прежние значения, видимо, на основании информации с термальных дачтиков. Мы еще будем исследовать вопрос возможности разгона.