Бюджетная графика: ATI HyperMemory vs. nVidia TurboCache
АрхивВидеоОригинальные технологии позволяют графическому процессоры получать доступ к системной памяти через шину PCI Express, что дает возможность устанавливать на недорогие видеокарты 64, 32 и даже 16 Мбайта локальной памяти при сохранении приличной производительности.
Новая перспективная шина PCI Express пока не получила широкого распространения: материнские платы и карты расширения с этим интерфейсом пока приобретаются только в составе новых настольных компьютеров, либо для их самостоятельной сборки. Причина этого кроется не столько в консервативности и прижимистости покупателей, сколько в отсутствии какого-либо реального прироста производительности по сравнению с традиционными шинами PCI и AGP. Показательно, кстати, что за исключением видеокарт на рынке нет практически никаких карт расширения с интерфейсом PCI Express.
Впрочем, пример с видеокартами очень наглядно демонстрирует отсутствие заметного прироста производительности при использовании шины PCI Express по сравнению с шиной AGP 8x, И это при том, что для графических ускорителей был выбран самый быстрый протокол PCI Express x16! Более того, видеокартам, установленным попарно в режимах SLI или Croffsire, прекрасно хватает пропускной способности шины PCI Express x8. Стоит ли говорить о том, что разработчики игр и прочих приложений никак не имели в виду возросшую до 4 Гбайт в секунду (в обоих направлениях) скорость шины для графических ускорителей.
Инженеры ATI Technologies и nVidia недолго ломали голову над тем, как воспользоваться преимуществами новой скоростной шины, Технологии ATI HyperMemory и nVidia TurboCache позволяют использовать системную оперативную память в качестве полноценной "добавки" к установленной на видеокарте видеопамяти небольшого объема, благо пропускная способность PCI Express x16 допускает такие "фокусы". Идея не нова, она давно реализуется в различных интегрированных видеоускорителях, получающих доступ к оперативной памяти через системную шину, однако применительно к дискретным видеокартам она ранее не использовалась.
Графический процессор на картах с технологиями ATI HyperMemory и nVidia TurboCache позволяет часть информации о буфере кадра хранить не в видеопамяти, а в куда более объемной, как правило, оперативной памяти ПК. Кроме того, благодаря использованию PCI Express x16 появляется возможность искусственно "расширить" шину видеопамяти до гипотетических 128 бит, что позволяет выпускать вполне конкурентоспособные карты начального уровня с 64, 32 или даже 16 Мбайтами собственной видеопамяти с 64-разрядной шиной, сравнимые по производительности с аналогичными картами, носящими "на борту" до 128 Мбайт памяти. Разумеется, все это работает лишь в классе видеокарт "low-end", зато за счет отказа от большого объема памяти можно радикально снизив их стоимость, сохранив современное графическое ядро с полной поддержкой DirectX 9. Практика показывает, что затея удалась: минимальная цена "брендовых" карт на базе бюджетных чипов последнего поколения упала ниже 50 долларов США.
ATI HyperMemory
Карты канадской компании ATI, в которых реализована технология HyperMemory - это модели, построенные на основе графического процессора Radeon X300 (RV370). Должен сразу заметить, что есть и модификации X300, не использующие системную память: это - "полноценная" X300 c 128-битной шиной памяти и самая дешевая X300 SE с 64-разрядной шиной и 128 Мбайтами памяти "на борту". К моделям с HyperMemory относятся X300 SE/128 (32 Мбайта собственной памяти) и X300 SE/256 (128 Мбайт собственной памяти). Названия этих карт говорят о том, что, несмотря на 64-битную шину, они способны продемонстрировать производительность, достойную карт с вдвое и вчетверо большим объемом памяти. Интересно, что эталонная конструкция X300 SE/128 представляет собой низкопрофильную плату, рассчитанную на установку в компактные настольные ПК, и не имеющую цифрового видеоинтерфейса DVI.
Процессор X300 работает на частоте 325 МГц, имеет четыре пиксельных и два вершинных конвейера и поддерживает DirectX 9.0, включая пиксельные шейдеры версии 2.0. Тактовая частота памяти в картах без HyperMemory - 400 МГц (эффективная - 800 МГц), а в картах с HyperMemory - 296 (300) МГц (эффективная - 596 (600) МГц). Простые подсчеты показывают, что пропускная способностью собственной памяти составляет 4,8 Гбайт/с, а в сочетании с пропускной способностью двухканальной системной памяти DDR 400 6,4 Гбайт/с получаем 11,2 Гбайта в секунду общей теоретической производительности.
Разумеется, следует сделать скидку на большие задержки при использовании системной памяти через PCI Express, однако в технологии HyperMemory предусмотрены средства борьбы с этой проблемой. Данные, имеющие высокий приоритет, размещаются в локальной видеопамяти, а данные, не помещающиеся в ней, через GART (Graphics Address Remapping Table - таблица переопределения адресации графики) динамически перераспределяются по системной памяти. Технология HyperMemory позволяет использовать механизм GART, (который изначально предназначался для адресации доступной видеокарте системной памяти согласно установленному в BIOS объему апертуры AGP), для параллельной работы как с локальной так и системной памятью, при этом некоторые кадры могут вообще так никогда и не попасть в собственную видеопамять графического ускорителя.
nVidia TurboCache
Технология TurboCache реализована в нескольких видеокартах nVidia семейства 6200 - они помечены аббревиатурой "TC" или полным словом TurboCache. Эти карты построены на основе графического процессора NV44 с четырьмя пиксельными и тремя вершинными конвейерами. Однако, в отличие от X300 с четырьмя пиксельными конвейерами, на каждом из которых установлено по одному модулю растеризации, то в NV44 таких модулей всего два, т.е. этот чип способен записывать в видеопамять всего два отрендеренных пикселя за такт. Кроме того, в NV44 отсутствуют модули сжатия цветов и Z-буфера, а также модуль 16-разрядного смешивания и фильтрации OpenEXR. Все это сделано в целях уменьшения физических размеров и удешевления чипа, тем более что удаленные модули все равно невозможно реально использовать в играх из-за низкой производительности самого чипа.
Тактовая частота процессора NV44 в "полноценных" картах GeForce 6200 составляет 300 МГц, а в картах с TurboCache она увеличена до 350 МГц. Рабочая частота видеопамяти в базовых моделях (шина 128 бит) составляет 500 МГц (эффективная - 1000 МГц) для версии AGP или 575 МГц (эффективная - 1150 МГц) для версии PCI-E, а в картах с TurboCache частота работы памяти составляет 550 МГц (эффективная - 1100 МГц) или даже 700 МГц (1400 МГц).
Существует четыре модификации "турбокарт" на чипе NV: под названием GeForce 6200 128MB TurboCache могут скрываться две модели с 32-разрядной шиной памяти и с локальной памятью объемом 16 Мбайт (700 МГц) или 32 Мбайта (550 МГц), а также одна модель с 64-битной шиной памяти и с чипами на 64 Мбайта (700 МГц). Название GeForce 6200 256MB TurboCache носит одна модель с 64 Мбайтами памяти (550 МГц) и 64-разрядной шиной. Нетрудно догадаться, что по производительности эти карты весьма существенно отличаются друг от друга, ведь пропускная способность локальной памяти может колебаться от 2,2 до 5,6 Гбайт в секунду, что в сочетании с пропускной способностью системной памяти DDR 400 в 6,4 Гбайта/с составляет от 8,6 до 12 Гбайт/с общей теоретической производительности.
К сожалению, отличить друг от друга видеокарты TurboCache с различными характеристиками довольно сложно, поскольку в прайс-листах редко указываются частоты работы и ширина шины видеопамяти. Придется либо тщательно рассмотреть саму карту, либо довериться информации производителя и продавца. Косвенный ориентир, цена, в данном случае срабатывает далеко не всегда - слишком мала разница в цене между этими модификациями.
Что лучше?
Лучше, разумеется, полноценная видеокарта с 128-битной шиной и 128 Мбайтами памяти. Если же речь идет о соревновании технологий ATI HyperMemory и nVidia TurboCache, то сразу можно сказать, что карты на X300 чуть дешевле карт на GeForce 6200 - примерно на пять-десять долларов. Примерно на столько же отличается и их производительность: по результатам теста 3DMark 05 (разрешение 1024 х 768 точек), карты на X300 получают порядка 990 баллов, в то время как результаты ускорителей на GeForce 6200 достигают 1150-1350 баллов.
При сравнимых характеристиках nVidia выигрывает за счет больших тактовых частот, однако в связи с большим числом разновидностей карт с TurboCache можно случайно "нарваться" на совсем слабую модификацию. Хотя из-за всего двух модулей растеризации GeForce 6200 теоретически должен отставать от X300, эту разницу с лихвой компенсируют тактовые частоты, а по скорости заполнения текстур версия GeForce 6200 с 64-битной шиной и вовсе выигрывает у соперника.
В игровых приложениях, таких, как Doom3, nVidia традиционно опережает решения от ATI, однако интересно, что даже карты GeForce 6200 с 32 Мбайтами памяти и 64-битной шиной опережают своих "однофамильцев" c 64 Мбайтами и 64-битной шиной за счет преимущества в рабочих частотах. В Far Cry и Splinter Cell: Chaos Theory соперники идут вровень, а в Half-Life 2 чипы ATI, тоже традиционно, ведут себя быстрее, чем процессоры nVidia.
Лучшим выбором по производительности можно считать карты на GeForce 6200 128 MB с памятью объемом 32 Мбайта и 64-разрядной шиной. Однако не стоит забывать, что эти карты можно называть игровыми лишь с большой натяжкой: порядка 30 кадров в секунду в Doom 3 (1024 х 768 точек) - это изощренная пытка для любого геймера, а опускаться до более низких, но "играбельных" разрешений в современных играх мало кому захочется. Тем не менее, и ATI, и nVidia доказали, что использование системной памяти через шину PCI Express x16 в качестве видеопамяти, позволяет добиться вполне приемлемых результатов даже от карт с шокирующе малым объемом локальной памяти в 16 Мбайт.
Кому это нужно?
Понятно, что фанатичные "гонщики за fps" не удостоят бюджетные карты с технологиями HyperMemory и TurboCache даже презрительным взглядом. На кого же тогда рассчитаны такие видеоускорители? Лично я могу себе представить три ситуации, в которых покупка подобных видеокарт была бы оправданной:
Ситуация первая. Приобретается современный мультимедийный персональный компьютер, однако финансовые возможности не позволяют сразу купить мощную игровую видеокарту, скажем долларов за 400. При этом, уже имеющуюся "видюшку" установить в новую систему не получится из-за отсутствия на материнской плате слота AGP. Очень жизненная ситуация, кстати. В этом случае выбирается дешевая видеокарта для PCI-Express, которая послужит в качестве своего рода промежуточного варианта, и копятся деньги на настоящую игровую карту.
Ситуация вторая. Новый компьютер покупает человек, которому машина нужна исключительно для работы с офисными пакетами и обработки цифровых фотографий. При этом материнская плата не имеет интегрированной графики, либо покупатель испытывает стойкую неприязнь к встроенным решениям. Частный случай этой же ситуации - покупка организацией офисных компьютеров.
Ситуация третья. Просто нужна аппаратная поддержка видеокартой DirectX 9, а встроенная графика этого класса на системной плате отсутствует. Не секрет, что очень многие современные приложения при установке требуют наличия этого программного интерфейса. Пожалуй, только программные DVD-проигрыватели еще обходятся без этого далеко не всегда нужного API.
Собственно, на большее моего воображения не хватает.
В заключение хочется лишний раз восхититься изобретательностью инженеров ATI и nVidia, которые нашли уже второе "недокументированное" применение избыточной пропускной способности шины PCI Express x16. Первым, напомню, стали технологии параллельной установки двух видеокарт, работающих по протоколу PCI Express x8.