Matrox Parhelia 128MB


" Удивительное природное явление наблюдали 7 января жители поселка Краснообск: в середине дня в небе неожиданно появилась яркая сочная радуга. Столь необычное явление многие жители связали с праздником Рождества Христова и восприняли как особое Божье благоволение. Между прочим, метеорологи уверяют, что появление на небосклоне радуги в зимнее время вряд ли возможно. В ясную или малооблачную морозную погоду, заметил начальник Западно-Сибирского гидрометеоцентра Ренат Ягудин, можно наблюдать такие атмосферные явления, как ложное солнце или гало (светящиеся круги). Скорее всего, их и видели краснообцы и ошибочно приняли за радугу."

(10.01.02, "Вечерний Новосибирск")


Внимание! Прежде, чем приступить к прочтению данного материала, рекомендуем ознакомится с вышедшим в середине мая аналитическим материалом Ложное солнце / Parhelia-512.

СОДЕРЖАНИЕ

  1. Общие сведения о Parhelia-512
  2. Краткая теория
  3. Особенности видеокарты Matrox Parhelia 128MB
  4. Описание работы вывода изображения на три монитора, а также особенности TV-out и DVDMax
  5. Конфигурации тестовых стендов и особенности настроек драйверов
  6. Результаты тестов: коротко о 2D и предельные тесты из DirectX 8.1 SDK
  7. Результаты тестов: Синтетические тесты 3DMark2001 SE
  8. Результаты тестов: Игровые тесты 3DMark2001 SE
  9. Результаты тестов: Quake3 ARENA
  10. Результаты тестов: Serious Sam: The Second Encounter
  11. Результаты тестов: Return to Castle Wolfenstein
  12. Результаты тестов: Code Creatures DEMO
  13. Результаты тестов: Comanche4 DEMO
  14. Результаты тестов: Unreal Tournament 2003 DEMO
  15. Качество 3D: Анизотропная фильтрация
  16. Качество 3D: Анти-алиасинг
  17. Качество 3D в целом
  18. Выводы

Как мы уже говорили, канадская компания Matrox Graphics (в дальнейшем просто Matrox), подразделение корпорации Matrox Electronic Systems Ltd, совершенно неожиданно для многих (ну, не считая, конечно, поклонников Matrox, которые ждали анонсов от любимой компании ежесуточно :-) ) выпустила в свет довольно уникальный продукт. Чем же он уникален? Более подробно об этом можно почитать в вышеупомянутом материале-превью, а сейчас мы только коротко скажем, что самая главная особенность данного продукта состоит в том, что это плод деятельности компании за несколько лет(!). Ведь после 1999 года от канадской фирмы по сути не было новинок (G450, как и G550 — достаточно вялые попытки представить на рынке видоизмененный G400, поскольку ни существенных улучшений в возможностях, ни роста скорости в 3D не было). Витали только слухи якобы появившемся на горизонте G800, а потом и G1000. Собственно, даже после известий о том, что Matrox представит новый продукт, многие называли его G1000.

И вот, Parhelia-512 перед нами. Еще раз замечу, что теоретические аспекты и особенности данного продукта стоит обязательно изучить в обзоре этого чипа.

Линейка продуктов

Да, не удивляйтесь этому слову — "линейка". Во-первых, компания обещала на базе Parhelia-512 выпустить несколько карт, имеющих разные объемы памяти, и (возможно) частоты. Во-вторых, уже ныне вышедшая карта Matrox Parhelia 128MB имеет две ревизии:

  • Parhelia 128MB (Retail) — 220 МГц ядро, 128 МБ 275(550) МГц 256 бит DDR памяти.
  • Parhelia 128MB (OEM) — 200 МГц ядро, 128 МБ 250(500) МГц 256 бит DDR памяти.
Давайте взглянем на отличия характеристик реального продукта от того, что было анонсировано ранее (в скобках указаны соответствия или несоответствия заявленным параметрам):
  1. 80 миллионов транзисторов (Судя по нагреву чипа — имеется :-))
  2. Технологическая норма 0.15 мкм (То же самое)
  3. Графическое ядро с частотой 250 МГц (ориентировочно) и частота памяти до DDR 325 (650) МГц (220/550 или 200/500 МГц)
  4. Полноценная 256 бит (!) DDR шина памяти (Есть!)
  5. Пропускная способность локальной памяти порядка 20 ГБ/сек ( ПИКОВАЯ пропускная способность памяти 16/17.6 ГБ/сек для 500/550 МГц частоты соответственно)
  6. Объем локальной памяти 64/128/256 МБ (Пока 128 МБ)
  7. AGP 2x/4x/8x, включая режимы SBA и FastWrites (Есть, но только 2х/4х!)
  8. 4 пиксельных конвейера (Есть!)
  9. 4 текстурных блока на каждом конвейере (!) (Есть!)
  10. Скорость закраски — около 1 Гигапикселя и около 4 Гигатекселей (Несколько ниже, 880 мегапикселей и 3520 мегатекселей!)
  11. Вершинные шейдеры версии 2.0 (Vertex Shader 2.0), четыре параллельных исполняющих блока (В текущих драйверах имеется поддержка вершинных шейдеров только версии 1.1 (а не 2.0 из-за отсутствия DirectX 9.0), да и скорость работы вершинных шейдеров заставляет усомниться в том, что задействованы 4 конвейера)
  12. Пиксельные шейдеры версии 1.3 (Pixel Shader 1.3), 4 текстурных + 5 комбинационных стадий на каждом пиксельном конвейере, с возможностью объединения конвейеров попарно (получаем 2 конвейера по 10 комбинационных стадий) (Есть!)
  13. EMBM и DOT3 наложение рельефа (Есть!)
  14. Фиксированный T&L DX8 (включая расширенные возможности матричного блендинга и скининга). Фактически представляет собой специальный вершинный шейдер (Есть!)
  15. Построение, хранение в локальной памяти и вывод на монитор изображения с точностью 10 бит на компоненту цвета (!). Технология 10-bit GigaColor (Есть!)
  16. Два встроенных в чип, 400 МГц, 10 бит на канал RAMDAC, использующих технологию UltraSharp (Есть!)
  17. Полноценная 10 бит —> 10 бит таблица для произвольной гамма-коррекции выводимого изображения (Есть!)
  18. DVD и HDTV видео декодер с точностью (на выходе) 10 бит (Есть!)
  19. Поддерживается вывод изображения в разрешениях вплоть до 2048x1536x32bpp@85 Гц (Есть!)
  20. Встроенный в чип интерфейс TV-Out с 10 битной точностью формирования сигнала (Есть!)
  21. Два цифровых TMDS интерфейса для цифровых выходов или внешних RAMDAC. Поддерживается разрешение вплоть до 1920x1200x32bpp (Не проверялось)
  22. Два полностью независимых CRTC (Есть!)
  23. Возможность вывода одного изображения, растянутого на два или даже три (!) приемника. Например, на 2 встроенных и один внешний RAMDAC или на оба встроенных RAMDAC и TV-Out. Суммарное разрешение в тройном режиме до 3840x1024x32bpp. Технологии TripleHead Desktop, Surround Gaming и DualHead-HighFidelity (HF) (Есть!)
  24. Адаптивная разновидность суперсэмплинга (не мултисэмплинг!) — 16x Fragment SSAA с числом сэмплов до 16 включительно. Активируется только на краевых точках полигонов. (Есть!)
  25. Аппаратная поддержка N-патчей с адаптивной тесселяцией (!) и картами смещения (Displacement mapping) (Есть!)
  26. Glyph Antialiasing — технология аппаратного краевого сглаживания и гамма-коррекции шрифтов (!) (Есть!)

Теория

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

ЧипParhelia-5123Dlabs P10GeForce4 TiRADEON 8500
Шина памяти, бит256 DDR256 DDR128 DDR128 DDR
Частота памяти, МГц275 (250)250(?)325275
Частота ядра, МГц220(200)250300275
Полоса пропускания16/17 Гб/сек~20 Гб/сек10.4 Гб/сек9.6 Гб/сек
Макс. доступный объем локальной памяти256 Мб256 Мб128 Мб128 Мб
Вершинные шейдеры, версия1.1 (4 блока?)2.0 (4 блока)1.1 (2 блока)1.1
Пиксельные шейдеры, версия1.31.3 (2.0?)1.31.4
Текстур за проход, до48 (до 16 выборок)46
Текстурных блоков4222
Пиксельных конвейеров4444
Анизотропия2 (8, 16?)?8, 16, 32RIP-маппинг
Встроенные RAMDAC2 (10 бит!)2 (10 бит?)22
Встроенный TV-Out1 (10 бит!)нетнетнет
Число CRTC2 (+ режим растяжения на 3 экрана)222
FSAA16x FAA (фрагментный)8x MSAA4x MSAA6x pattern MSAA
N-PatchesDX9 (адаптивные)НетНетDX8
Карты смещенияДаНетНетНет

Приведем, для полноты картины, полный список OpenGL расширений, поддерживаемых с текущими драйверами:

Matrox, ICD for Parhelia version 1.2 NVIDIA, GeForce4 Ti 4400/AGP/SSE2, version 1.3.1 ATI, Radeon 8500 DDR x86/SSE2, version 1.3.2475
GL_ARB_multitexture GL_ARB_imaging GL_ARB_multitexture
GL_ARB_point_parameters GL_ARB_multisample GL_ARB_texture_border_clamp
GL_ARB_texture_compression GL_ARB_multitexture GL_ARB_texture_compression
GL_ARB_texture_cube_map GL_ARB_texture_border_clamp GL_ARB_texture_cube_map
GL_ARB_texture_env_add GL_ARB_texture_compression GL_ARB_texture_env_add
GL_ARB_texture_env_combine GL_ARB_texture_cube_map GL_ARB_texture_env_combine
GL_ARB_texture_env_dot3 GL_ARB_texture_env_add GL_ARB_texture_env_crossbar
GL_ARB_transpose_matrix GL_ARB_texture_env_combine GL_ARB_texture_env_dot3
GL_S3_s3tc GL_ARB_texture_env_dot3 GL_ARB_transpose_matrix
GL_ATI_element_array GL_ARB_transpose_matrix GL_ARB_vertex_blend
GL_ATI_vertex_array_object GL_S3_s3tc GL_ARB_window_pos
GL_EXT_bgra GL_EXT_abgr GL_S3_s3tc
GL_EXT_blend_color GL_EXT_bgra GL_ATI_element_array
GL_EXT_blend_func_separate GL_EXT_blend_color GL_ATI_envmap_bumpmap
GL_EXT_blend_logic_op GL_EXT_blend_minmax GL_ATI_fragment_shader
GL_EXT_blend_minmax GL_EXT_blend_subtract GL_ATI_map_object_buffer
GL_EXT_blend_subtract GL_EXT_compiled_vertex_array GL_ATI_pn_triangles
GL_EXT_secondary_color GL_EXT_separate_specular_color GL_ATI_texture_mirror_once
GL_EXT_compiled_vertex_array GL_EXT_fog_coord GL_ATI_vertex_array_object
GL_EXT_draw_range_elements GL_EXT_multi_draw_arrays GL_ATI_vertex_streams
GL_EXT_element_array GL_EXT_packed_pixels GL_ATIX_texture_env_combine3
GL_EXT_fog_coord GL_EXT_paletted_texture GL_ATIX_texture_env_route
GL_EXT_multi_draw_arrays GL_EXT_point_parameters GL_ATIX_vertex_shader_output_point_size
GL_EXT_packed_pixels GL_EXT_rescale_normal GL_EXT_abgr
GL_EXT_point_parameters GL_EXT_clip_volume_hint GL_EXT_bgra
GL_EXT_rescale_normal GL_EXT_draw_range_elements GL_EXT_blend_color
GL_EXT_secondary_color GL_EXT_shared_texture_palette GL_EXT_blend_func_separate
GL_EXT_separate_specular_color GL_EXT_stencil_wrap GL_EXT_blend_minmax
GL_EXT_stencil_wrap GL_EXT_texture3D GL_EXT_blend_subtract
GL_EXT_subtexture GL_EXT_texture_compression_s3tc GL_EXT_clip_volume_hint
GL_EXT_texture3D GL_EXT_texture_edge_clamp GL_EXT_compiled_vertex_array
GL_EXT_texture_compression_s3tc GL_EXT_texture_env_add GL_EXT_draw_range_elements
GL_EXT_texture_cube_map GL_EXT_texture_env_combine GL_EXT_fog_coord
GL_EXT_texture_edge_clamp GL_EXT_texture_env_dot3 GL_EXT_packed_pixels
GL_EXT_texture_env_add GL_EXT_texture_cube_map GL_EXT_point_parameters
GL_EXT_texture_filter_anisotropic GL_EXT_texture_filter_anisotropic GL_ARB_point_parameters
GL_EXT_texture_lod_bias GL_EXT_texture_lod GL_EXT_rescale_normal
GL_EXT_vertex_array GL_EXT_texture_lod_bias GL_EXT_secondary_color
GL_EXT_vertex_array_object GL_EXT_texture_object GL_EXT_separate_specular_color
GL_EXT_vertex_shader GL_EXT_vertex_array GL_EXT_stencil_wrap
GL_EXT_texture_env_combine GL_EXT_vertex_weighting GL_EXT_texgen_reflection
GL_EXT_texture_env_dot3 GL_HP_occlusion_test GL_EXT_texture_env_add
GL_KTX_buffer_region GL_IBM_texture_mirrored_repeat GL_EXT_texture3D
GL_MTX_fragment_shader GL_KTX_buffer_region GL_EXT_texture_compression_s3tc
GL_NV_texgen_reflection GL_NV_blend_square GL_EXT_texture_cube_map
GL_SGIS_multitexture GL_NV_copy_depth_to_color GL_EXT_texture_edge_clamp
GL_SGIS_texture_lod GL_NV_evaluators GL_EXT_texture_env_combine
WGL_EXT_swap_control GL_NV_fence GL_EXT_texture_env_dot3
- GL_NV_fog_distance GL_EXT_texture_lod_bias
- GL_NV_light_max_exponent GL_EXT_texture_filter_anisotropic
- GL_NV_multisample_filter_hint GL_EXT_texture_object
- GL_NV_occlusion_query GL_EXT_vertex_array
- GL_NV_packed_depth_stencil GL_EXT_vertex_shader
- GL_NV_point_sprite GL_KTX_buffer_region
- GL_NV_register_combiners GL_NV_texgen_reflection
- GL_NV_register_combiners2 GL_NV_blend_square
- GL_NV_texgen_reflection GL_SGI_texture_edge_clamp
- GL_NV_texture_compression_vtc GL_SGIS_texture_border_clamp
- GL_NV_texture_env_combine4 GL_SGIS_texture_lod
- GL_NV_texture_rectangle GL_SGIS_generate_mipmap
- GL_NV_texture_shader GL_SGIS_multitexture
- GL_NV_texture_shader2 GL_WIN_swap_hint
- GL_NV_texture_shader3 WGL_EXT_extensions_string
- GL_NV_vertex_array_range WGL_EXT_swap_control
- GL_NV_vertex_array_range2 -
- GL_NV_vertex_program -
- GL_NV_vertex_program1_1 -
- GL_SGIS_generate_mipmap -
- GL_SGIS_multitexture -
- GL_SGIS_texture_lod -
- GL_SGIX_depth_texture -
- GL_SGIX_shadow -
- GL_WIN_swap_hint -
- WGL_EXT_swap_control -


Подводя итог, хочется отметить двойственность оценки нового продукта. По сравнению с ранее имевшимися на рынке продуктами от Matrox, это супер-революция! Даже нет смысла приводить старые спецификации G400/450/550, чтобы оценить. И так все очевидно. Но по сравнению с ныне имеющимися продуктами последнего поколения от ATI (RADEON 8500) и NVIDIA (GeForce4 Ti) Parhelia выглядит уже довольно скромно. Да, разумеется, наличие 16-ти текстурников ставит этот чип как бы на ступень выше, но, как покажут наши исследования, на данном этапе формула 4 конвейера × 4 текстурника невостребована, практически ни одно (за редким исключением) приложение не умеет работать с таким режимом мультитекстурирования. Да, такие "богатства" текстурных блоков дают шанс на получение быстрых билинейной и анизотропной фильтраций. Но теоретический. Судите сами: каждый текстурник умеет производить выборку 4-х сэмплов для формирования билинейки. Это уже стандарт. Четыре текстурника — 16, 4 конвейера — 64. Именно отсюда маркетологи Matrox и взяли пресловутые 64 отсчета текстур, выбираемых за такт. Да, при этом мы получаем либо четыре билинейно фильтрованных, либо две трилинейно или анизотропно (8 отсчетов) либо одну анизотропно (16 отсчетов) текстуры за такт. Соответственно, для старых (а таковых 99,9%) «двутекстурных» приложений анизотропная фильтрация на базе 8 отсчетов должна проходить без потери скорости. Но на практике это не так, и ниже вы в этом убедитесь.

По сути получается, что ныне Parhelia обладает только одной функцией из набора DirectX 9.0 - технологией Displacement Mapping, которая позволяет существенно увеличить степень реалистичности и детальности рельефных поверхностей. В отличие от привычных уже разновидностей рельефа, наносимого на поверхности треугольников при закраске и не влияющего на видимость тех или иных точек (картой рельефа моделируется только освещенность точки, а не ее реальное положение в пространстве) карты смещения позволяют создавать геометрически корректные рельефы, пересечение которых в пространстве не будет выглядеть идеальной прямой. Я приведу яркий пример:


В данной demo-программе не только работают все 16 текстурников, но и виден эффект от карт смещения. С картами будет поставляться и другая, более шикарная демо-программа, эмулирующая кусочек живой природы рифа. Разумеется, и тут можно заметить использование карт смещения.


Надо сказать все же, что появление Vertex Shaders 2.0 мы ожидаем с выходом DirectX 9.0. Возможно, что четыре блока этих шейдеров заработают в полную силу опять же только при условии наличия DX 9.0.

Ну что ж, перейдем к рассмотрению непосредственно самой карты.





Дополнительно

iXBT BRAND 2016

«iXBT Brand 2016» — Выбор читателей в номинации «Процессоры (CPU)»:
Подробнее с условиями участия в розыгрыше можно ознакомиться здесь. Текущие результаты опроса доступны тут.

Нашли ошибку на сайте? Выделите текст и нажмите Shift+Enter

Код для блога бета

Выделите HTML-код в поле, скопируйте его в буфер и вставьте в свой блог.