Компьютерология - Информационный ресурс

Видеокарты. Особенности национальной модернизации, или на чем не стоит экономить Текстуры высокого разрешения

Пожалуй, сейчас эти блоки - главные части видеочипа. Они выполняют специальные программы, известные как шейдеры. Причём, если раньше пиксельные шейдеры выполняли блоки пиксельных шейдеров, а вершинные - вершинные блоки, то с некоторого времени графические архитектуры были унифицированы, и эти универсальные вычислительные блоки стали заниматься различными расчётами: вершинными, пиксельными, геометрическими и даже универсальными вычислениями.

Впервые унифицированная архитектура была применена в видеочипе игровой консоли Microsoft Xbox 360, этот графический процессор был разработан компанией ATI (впоследствии купленной AMD). А в видеочипах для персональных компьютеров унифицированные шейдерные блоки появились ещё в плате NVIDIA GeForce 8800. И с тех пор все новые видеочипы основаны на унифицированной архитектуре, которая имеет универсальный код для разных шейдерных программ (вершинных, пиксельных, геометрических и пр.), и соответствующие унифицированные процессоры могут выполнить любые программы.

По числу вычислительных блоков и их частоте можно сравнивать математическую производительность разных видеокарт. Большая часть игр сейчас ограничена производительностью исполнения пиксельных шейдеров, поэтому количество этих блоков весьма важно. К примеру, если одна модель видеокарты основана на GPU с 384 вычислительными процессорами в его составе, а другая из той же линейки имеет GPU с 192 вычислительными блоками, то при равной частоте вторая будет вдвое медленнее обрабатывать любой тип шейдеров, и в целом будет настолько же производительнее.

Хотя, исключительно на основании одного лишь количества вычислительных блоков делать однозначные выводы о производительности нельзя, обязательно нужно учесть и тактовую частоту и разную архитектуру блоков разных поколений и производителей чипов. Только по этим цифрам можно сравнивать чипы только в пределах одной линейки одного производителя: AMD или NVIDIA. В других же случаях нужно обращать внимание на тесты производительности в интересующих играх или приложениях.

Блоки текстурирования (TMU)

Эти блоки GPU работают совместно с вычислительными процессорами, ими осуществляется выборка и фильтрация текстурных и прочих данных, необходимых для построения сцены и универсальных вычислений. Число текстурных блоков в видеочипе определяет текстурную производительность - то есть скорость выборки текселей из текстур.

Хотя в последнее время больший упор делается на математические расчеты, а часть текстур заменяется процедурными, нагрузка на блоки TMU и сейчас довольно велика, так как кроме основных текстур, выборки необходимо делать и из карт нормалей и смещений, а также внеэкранных буферов рендеринга render target.

С учётом упора многих игр в том числе и в производительность блоков текстурирования, можно сказать, что количество блоков TMU и соответствующая высокая текстурная производительность также являются одними из важнейших параметров для видеочипов. Особенное влияние этот параметр оказывает на скорость рендеринга картинки при использовании анизотропной фильтрации, требующие дополнительных текстурных выборок, а также при сложных алгоритмах мягких теней и новомодных алгоритмах вроде Screen Space Ambient Occlusion.

Блоки операций растеризации (ROP)

Блоки растеризации осуществляют операции записи рассчитанных видеокартой пикселей в буферы и операции их смешивания (блендинга). Как мы уже отмечали выше, производительность блоков ROP влияет на филлрейт и это - одна из основных характеристик видеокарт всех времён. И хотя в последнее время её значение также несколько снизилось, всё ещё попадаются случаи, когда производительность приложений зависит от скорости и количества блоков ROP. Чаще всего это объясняется активным использованием фильтров постобработки и включенным антиалиасингом при высоких игровых настройках.

Архитектура графического процессора: функции

Реализм 3D-графики очень сильно зависит от производительности видеокарты. Чем больше блоков пиксельных шейдеров содержит процессор и чем выше частота, тем больше эффектов можно наложить на 3D-сцену, чтобы улучшить её визуальное восприятие.

Графический процессор содержит много различных функциональных блоков. По количеству некоторых компонентов можно оценить, насколько графический процессор мощный. Перед тем, как двигаться дальше, позвольте рассмотреть самые важные функциональные блоки.

Вершинные процессоры (блоки вершинных шейдеров)

Как и блоки пиксельных шейдеров, вершинные процессоры выполняют код программ-шейдеров, которые касаются вершин. Поскольку больший бюджет вершин позволяет создавать более сложные 3D-объекты, производительность вершинных процессоров очень важна в 3D-сценах со сложными объектами или с большим их количеством. Впрочем, блоки вершинных шейдеров всё же не так очевидно влияют на производительность, как пиксельные процессоры.

Пиксельные процессоры (блоки пиксельных шейдеров)

Пиксельный процессор - это компонент графического чипа, выделенный на обработку пиксельных программ-шейдеров. Эти процессоры выполняют вычисления, касающиеся только пикселей. Поскольку пиксели содержат информацию о цвете, пиксельные шейдеры позволяют достичь впечатляющих графических эффектов. Например, большинство эффектов воды, которые вы видели в играх, создаётся с помощью пиксельных шейдеров. Обычно число пиксельных процессоров используется для сравнения пиксельной производительности видеокарт. Если одна карта оснащена восемью блоками пиксельных шейдеров, а другая - 16 блоками, то вполне логично предположить, что видеокарта с 16 блоками будет быстрее обрабатывать сложные пиксельные программы. Также следует учитывать и тактовую частоту, но сегодня удвоение числа пиксельных процессоров эффективнее по энергопотреблению, чем удвоение частоты графического чипа.

Унифицированные шейдеры

Унифицированные (единые) шейдеры ещё не пришли в мир ПК, но грядущий стандарт DirectX 10 как раз опирается на подобную архитектуру. То есть структура кода вершинных, геометрических и пиксельных программ будет единая, хотя шейдеры будут выполнять разную работу. Новую спецификацию можно посмотреть в Xbox 360, где графический процессор был специально разработан ATi для Microsoft. Будет весьма интересно увидеть, какой потенциал несёт новый DirectX 10.

Блоки наложения текстур (Texture Mapping Unit, TMU)

Текстуры следует выбрать и отфильтровать. Эта работа выполняется блоками наложения текстур, которые работают совместно с блоками пиксельных и вершинных шейдеров. Работа TMU заключается в применении текстурных операций над пикселями. Число текстурных блоков в графическом процессоре часто используется для сравнения текстурной производительности видеокарт. Вполне разумно предположить, что видеокарта с большим числом TMU даст более высокую текстурную производительность.

Блоки растровых операций (Raster Operator Unit, ROP)

Процессоры растровых операций отвечают за запись пиксельных данных в память. Скорость, с которой выполняется эта операция, является скоростью заполнения (fill rate). В ранние дни 3D-ускорителей число ROP и скорость заполнения являлись очень важными характеристиками видеокарт. Сегодня работа ROP по-прежнему важна, но производительность видеокарты уже не упирается в эти блоки, как было раньше. Поэтому производительность (и число) ROP уже редко используется для оценки скорости видеокарты.

Конвейеры

Конвейеры используются для описания архитектуры видеокарт и дают вполне наглядное представление о производительности графического процессора.

Конвейер нельзя считать строгим техническим термином. В графическом процессоре используются разные конвейеры, которые выполняют отличающиеся друг от друга функции. Исторически под конвейером понимали пиксельный процессор, который был подключён к своему блоку наложения текстур (TMU). Например, у видеокарты Radeon 9700 используется восемь пиксельных процессоров, каждый из которых подключён к своему TMU, поэтому считают, что у карты восемь конвейеров.

Но современные процессоры описать числом конвейеров весьма сложно. По сравнению с предыдущими дизайнами, новые процессоры используют модульную, фрагментированную структуру. Новатором в этой сфере можно считать ATi, которая с линейкой видеокарт X1000 перешла на модульную структуру, что позволило достичь прироста производительности через внутреннюю оптимизацию. Некоторые блоки процессора используются больше, чем другие, и для повышения производительности графического процессора ATi постаралась найти компромисс между числом нужных блоков и площадью кристалла (её нельзя очень сильно увеличивать). В данной архитектуре термин "пиксельный конвейер" уже потерял своё значение, поскольку пиксельные процессоры уже не подключены к собственным блокам TMU. Например, у графического процессора ATi Radeon X1600 есть 12 блоков пиксельных шейдеров и всего четыре блока наложения текстур TMU. Поэтому нельзя говорить, что в архитектуре этого процессора есть 12 пиксельных конвейеров, как и говорить, что их всего четыре. Впрочем, по традиции пиксельные конвейеры всё ещё упоминают.

С учётом сказанных допущений, число пиксельных конвейеров в графическом процессоре часто используют для сравнения видеокарт (за исключением линейки ATi X1x00). Например, если взять видеокарты с 24 и 16 конвейерами, то вполне разумно предположить, что карта с 24 конвейерами будет быстрее.


СОДЕРЖАНИЕ

В первой части нашего руководства по видеокартам для начинающих пользователей мы рассмотрели ключевые компоненты: интерфейсы, выходы, систему охлаждения, графический процессор и видеопамять. Во второй части мы поговорим о функциях и технологиях видеокарт.

Базовые компоненты видеокарты:

  • выходы;
  • интерфейсы;
  • система охлаждения;
  • графический процессор;
  • видеопамять.

Часть 2 (эта статья): графические технологии :

  • словарик;
  • архитектура графического процессора: функции
    вершинные/пиксельные блоки, шейдеры, скорость заполнения, текстурные/растровые блоки, конвейеры;
  • архитектура графического процессора: технология
    техпроцесс, частота графического процессора, локальная видеопамять (объём, шина, тип, частота), решения с несколькими видеокартами;
  • визуальные функции
    DirectX, высокий динамический диапазон (HDR), полноэкранное сглаживание, текстурная фильтрация, текстуры высокого разрешения.

Словарик базовых графических терминов

Частота обновления (Refresh Rate)

Как в кинотеатре или на телевизоре, ваш компьютер симулирует движение на мониторе, выводя последовательность кадров. Частота обновления монитора указывает на то, сколько раз в секунду на экране будет обновляться картинка. Например, частота 75 Гц соответствует 75 обновлениям в секунду.

Если компьютер обрабатывает кадры быстрее, чем может выводить монитор, то в играх могут появиться проблемы. Например, если компьютер просчитывает 100 кадров в секунду, а частота обновления монитора составляет 75 Гц, то из-за накладок монитор может выводить только часть картинки за период своего обновления. В итоге появляются визуальные артефакты.

В качестве решения можно включить V-Sync (вертикальную синхронизацию). Она ограничивает число выдаваемых компьютером кадров до частоты обновления монитора, предотвращая появление артефактов. Если включить V-Sync, то число просчитываемых в игре кадров никогда не превысит частоту обновления. То есть при 75 Гц компьютер будет выводить не более 75 кадров в секунду.

Слово "Pixel" расшифровывается как "pic ture el ement" - элемент изображения. Он представляет собой крошечную точку на дисплее, которая может светиться определённых цветом (в большинстве случаев оттенок выводится сочетанием трёх базовых цветов: красного, зелёного и синего). Если разрешение экрана составляет 1024x768, то на нём можно заметить матрицу из 1024 пикселей по ширине и 768 пикселей по высоте. Все вместе пиксели и составляют изображение. Картинка на экране обновляется от 60 до 120 раз в секунду, в зависимости от типа дисплея и данных, выдаваемых выходом видеокарты. ЭЛТ-мониторы обновляют дисплей строчка за строчкой, а плоские ЖК-мониторы могут обновлять каждый пиксель по отдельности.

Все объекты на 3D-сцене состоят из вершин. Вершина - точка в трёхмерном пространстве с координатами X, Y и Z. Несколько вершин можно сгруппировать в полигон: чаще всего это треугольник, но возможны и более сложные формы. Затем на полигон накладывается текстура, что позволяет объекту выглядеть реалистично. 3D-куб, показанный на иллюстрации выше, состоит из восьми вершин. Более сложные объекты имеют кривые поверхности, которые на самом деле состоят из очень большого числа вершин.

Текстура - это просто 2D-картинка произвольного размера, которая накладывается на 3D-объект, чтобы симулировать его поверхность. Например, наш 3D-куб состоит из восьми вершин. До наложения текстуры он выглядит как простая коробка. Но когда мы нанесём текстуру, то коробка становится окрашенной.


Пиксельные программы-шейдеры позволяет видеокарте выдать впечатляющие эффекты, например, как эту воду в Elder Scrolls: Oblivion.

Сегодня существует два вида шейдеров: вершинные и пиксельные. Вершинные программы-шейдеры могут изменять или трансформировать 3D-объекты. Пиксельные программы-шейдеры позволяют менять цвета пикселей на основе каких-либо данных. Представьте себе источник света на 3D-сцене, который заставляет светиться освещаемые объекты ярче, и в то же время, приводит к отбрасыванию тени на другие объекты. Всё это реализуется с помощью изменения цветовой информации пикселей.

Пиксельные шейдеры используются для создания сложных эффектов в ваших любимых играх. Например, код шейдера может заставить пиксели, окружающие 3D-меч, ярче светиться. Ещё один шейдер может обработать все вершины сложного 3D-объекта и симулировать взрыв. Разработчики игр всё чаще прибегают к помощи сложных программ-шейдеров для создания реалистичной графики. Практически любая современная игра с богатой графикой использует шейдеры.

С выпуском следующего интерфейса прикладного программирования (API, Application Programming Interface) Microsoft DirectX 10 на свет выйдет третий тип шейдеров под названием геометрические шейдеры. С их помощью можно будет ломать объекты, модифицировать и даже уничтожать их в зависимости от требуемого результата. Третий тип шейдеров можно будет точно так же программировать, как и первые два, но роль его уже будет другой.

Скорость заполнения (Fill Rate)

Очень часто на коробке с видеокартой можно встретить значение скорости заполнения. В принципе, скорость заполнения указывает на то, с какой скорость графический процессор может выдавать пиксели. У старых видеокарт можно было встретить скорость заполнения треугольников (triangle fill rate). Но сегодня выделяют два типа скорости заполнения: пиксельную (pixel fill rate) и текстурную (texture fill rate). Как уже говорилось, пиксельная скорость заполнения соответствует скорости выдачи пикселей. Она рассчитывается как число растровых операций (ROP), помноженное на тактовую частоту.

Текстурную скорость заполнения ATi и nVidia считают по-разному. nVidia считает, что скорость получается умножением числа пиксельных конвейеров на тактовую частоту. А ATi умножает число текстурных блоков на тактовую частоту. В принципе, оба способа корректны, поскольку nVidia использует по одному текстурному блоку на блок пиксельных шейдеров (то есть по одному на пиксельный конвейер).

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

Архитектура графического процессора: функции

Реализм 3D-графики очень сильно зависит от производительности видеокарты. Чем больше блоков пиксельных шейдеров содержит процессор и чем выше частота, тем больше эффектов можно наложить на 3D-сцену, чтобы улучшить её визуальное восприятие.

Графический процессор содержит много различных функциональных блоков. По количеству некоторых компонентов можно оценить, насколько графический процессор мощный. Перед тем, как двигаться дальше, позвольте рассмотреть самые важные функциональные блоки.

Вершинные процессоры (блоки вершинных шейдеров)

Как и блоки пиксельных шейдеров, вершинные процессоры выполняют код программ-шейдеров, которые касаются вершин. Поскольку больший бюджет вершин позволяет создавать более сложные 3D-объекты, производительность вершинных процессоров очень важна в 3D-сценах со сложными объектами или с большим их количеством. Впрочем, блоки вершинных шейдеров всё же не так очевидно влияют на производительность, как пиксельные процессоры.

Пиксельные процессоры (блоки пиксельных шейдеров)

Пиксельный процессор - это компонент графического чипа, выделенный на обработку пиксельных программ-шейдеров. Эти процессоры выполняют вычисления, касающиеся только пикселей. Поскольку пиксели содержат информацию о цвете, пиксельные шейдеры позволяют достичь впечатляющих графических эффектов. Например, большинство эффектов воды, которые вы видели в играх, создаётся с помощью пиксельных шейдеров. Обычно число пиксельных процессоров используется для сравнения пиксельной производительности видеокарт. Если одна карта оснащена восемью блоками пиксельных шейдеров, а другая - 16 блоками, то вполне логично предположить, что видеокарта с 16 блоками будет быстрее обрабатывать сложные пиксельные программы. Также следует учитывать и тактовую частоту, но сегодня удвоение числа пиксельных процессоров эффективнее по энергопотреблению, чем удвоение частоты графического чипа.

Унифицированные шейдеры

Унифицированные (единые) шейдеры ещё не пришли в мир ПК, но грядущий стандарт DirectX 10 как раз опирается на подобную архитектуру. То есть структура кода вершинных, геометрических и пиксельных программ будет единая, хотя шейдеры будут выполнять разную работу. Новую спецификацию можно посмотреть в Xbox 360, где графический процессор был специально разработан ATi для Microsoft. Будет весьма интересно увидеть, какой потенциал несёт новый DirectX 10.

Блоки наложения текстур (Texture Mapping Unit, TMU)

Текстуры следует выбрать и отфильтровать. Эта работа выполняется блоками наложения текстур, которые работают совместно с блоками пиксельных и вершинных шейдеров. Работа TMU заключается в применении текстурных операций над пикселями. Число текстурных блоков в графическом процессоре часто используется для сравнения текстурной производительности видеокарт. Вполне разумно предположить, что видеокарта с большим числом TMU даст более высокую текстурную производительность.

Блоки растровых операций (Raster Operator Unit, ROP)

Процессоры растровых операций отвечают за запись пиксельных данных в память. Скорость, с которой выполняется эта операция, является скоростью заполнения (fill rate). В ранние дни 3D-ускорителей число ROP и скорость заполнения являлись очень важными характеристиками видеокарт. Сегодня работа ROP по-прежнему важна, но производительность видеокарты уже не упирается в эти блоки, как было раньше. Поэтому производительность (и число) ROP уже редко используется для оценки скорости видеокарты.

Конвейеры

Конвейеры используются для описания архитектуры видеокарт и дают вполне наглядное представление о производительности графического процессора.

Конвейер нельзя считать строгим техническим термином. В графическом процессоре используются разные конвейеры, которые выполняют отличающиеся друг от друга функции. Исторически под конвейером понимали пиксельный процессор, который был подключён к своему блоку наложения текстур (TMU). Например, у видеокарты Radeon 9700 используется восемь пиксельных процессоров, каждый из которых подключён к своему TMU, поэтому считают, что у карты восемь конвейеров.

Но современные процессоры описать числом конвейеров весьма сложно. По сравнению с предыдущими дизайнами, новые процессоры используют модульную, фрагментированную структуру. Новатором в этой сфере можно считать ATi, которая с линейкой видеокарт X1000 перешла на модульную структуру, что позволило достичь прироста производительности через внутреннюю оптимизацию. Некоторые блоки процессора используются больше, чем другие, и для повышения производительности графического процессора ATi постаралась найти компромисс между числом нужных блоков и площадью кристалла (её нельзя очень сильно увеличивать). В данной архитектуре термин "пиксельный конвейер" уже потерял своё значение, поскольку пиксельные процессоры уже не подключены к собственным блокам TMU. Например, у графического процессора ATi Radeon X1600 есть 12 блоков пиксельных шейдеров и всего четыре блока наложения текстур TMU. Поэтому нельзя говорить, что в архитектуре этого процессора есть 12 пиксельных конвейеров, как и говорить, что их всего четыре. Впрочем, по традиции пиксельные конвейеры всё ещё упоминают.

С учётом сказанных допущений, число пиксельных конвейеров в графическом процессоре часто используют для сравнения видеокарт (за исключением линейки ATi X1x00). Например, если взять видеокарты с 24 и 16 конвейерами, то вполне разумно предположить, что карта с 24 конвейерами будет быстрее.

Архитектура графического процессора: технология

Техпроцесс

Под этим термином понимают размер одного элемента (транзистора) чипа и точность процесса производства. Совершенствование техпроцессов позволяет получить элементы меньших размеров. Например, техпроцесс 0,18 мкм даёт элементы большего размера, чем 0,13-мкм техпроцесс, поэтому он не такой эффективный. Транзисторы меньшего размера работают от меньшего напряжения. В свою очередь, снижение напряжения приводит к уменьшению теплового сопротивления, что даёт снижение количества выделяемого тепла. Совершенствование техпроцесса позволяет уменьшить расстояние между функциональными блоками чипа, а на передачу данных требуется меньше времени. Сокращение расстояний, понижение напряжения и другие улучшения позволяют достигать более высоких тактовых частот.

Несколько усложняет понимание то, что для обозначения техпроцесса сегодня используют как микрометры (мкм), так и нанометры (нм). На самом деле всё очень просто: 1 нанометр равен 0,001 микрометру, поэтому 0,09-мкм и 90-нм техпроцессы - это одно и то же. Как уже отмечалось выше, меньший техпроцесс позволяет получить более высокие тактовые частоты. Например, если сравнивать видеокарты с чипами 0,18 мкм и 0,09 мкм (90 нм), то вполне разумно ожидать от 90-нм карты более высокой частоты.

Тактовая частота графического процессора

Тактовая частота графического процессора измеряется в мегагерцах (МГц), то есть в миллионах тактов за секунду.

Тактовая частота напрямую влияет на производительность графического процессора. Чем она выше, тем больше работы можно выполнить за секунду. Для первого примера возьмём видеокарты nVidia GeForce 6600 и 6600 GT: графический процессор 6600 GT работает на частоте 500 МГц, а у обычной карты 6600 - на 400 МГц. Поскольку процессоры технически идентичны, 20% прирост тактовой частоты 6600 GT приводит к более высокой производительности.

Но тактовая частота - это ещё далеко не всё. Следует учитывать, что на производительность очень сильно влияет архитектура. Для второго примера возьмём видеокарты GeForce 6600 GT и GeForce 6800 GT. Частота графического процессора 6600 GT составляет 500 МГц, но 6800 GT работает всего на 350 МГц. А теперь примем во внимание, что у 6800 GT используются 16 пиксельных конвейеров, а у 6600 GT - только восемь. Поэтому 6800 GT с 16 конвейерами на 350 МГц даст примерно такую же производительность, как процессор с восемью конвейерами и удвоенной тактовой частотой (700 МГц). С учётом сказанного, тактовую частоту вполне можно использовать для сравнения производительности.

Локальная видеопамять

Память видеокарты очень сильно влияет на производительность. Но разные параметры памяти влияют по-разному.

Объём видеопамяти

Объём видеопамяти, наверное, можно назвать параметром видеокарты, который больше всего переоценивают. Неопытные потребители часто используют объём видеопамяти для сравнения разных карт между собой, но в реальности объём слабо влияет на производительность по сравнению с такими параметрами, как частота шины памяти и интерфейс (ширина шины).

В большинстве случаев карта со 128 Мбайт видеопамяти будет работать почти так же, как карта с 256 Мбайт. Конечно, есть ситуации, когда больший объём памяти приводит к увеличению производительности, но следует помнить, что больший объём памяти не будет автоматически приводить к росту скорости в играх.

Где объём бывает полезен, так это в играх с текстурами высокого разрешения. Игровые разработчики прилагают к игре несколько наборов текстур. И чем больше памяти будет на видеокарте, тем более высокое разрешение могут иметь загружаемые текстуры. Текстуры высокого разрешения дают более высокую чёткость и детализацию в игре. Поэтому вполне разумно брать карту с большим объёмом памяти, если все другие критерии совпадают. Ещё раз напомним, что ширина шины памяти и её частота намного сильнее влияют на производительность, чем объём физической памяти на карте.

Ширина шины памяти

Ширина шины памяти - один из самых важных аспектов производительности памяти. Современные шины имеют ширину от 64 до 256 бит, а в некоторых случаях даже 512 бит. Чем шире шина памяти, тем больше информации она может передать за такт. А это напрямую влияет на производительность. Например, если взять две шины с равными частотами, то теоретически 128-битная шина передаст в два раза больше данных за такт, чем 64-битная. А 256-битная шина - ещё в два раза больше.

Более высокая пропускная способность шины (выражается в битах или байтах в секунду, 1 байт = 8 бит) даёт более высокую производительность памяти. Именно поэтому шина памяти намного важнее, чем её объём. При равных частотах 64-битная шина памяти работает со скоростью всего 25% от 256-битной!

Возьмём следующий пример. Видеокарта со 128 Мбайт видеопамяти, но с 256-битной шиной даёт намного более высокую производительность памяти, чем 512-Мбайт модель с 64-битной шиной. Важно отметить, что у некоторых карт из линейки ATi X1x00 производители указывают спецификации внутренней шины памяти, но нас интересуют параметры внешней шины. Например, у X1600 внутренняя кольцевая шина имеет ширину 256 бит, но внешняя - всего 128 бит. И в реальности шина памяти работает со 128-битной производительностью.

Типы памяти

Память можно разделить на две основные категории: SDR (одиночная передача данных) и DDR (удвоенная передача данных), при которой данные передаются за такт в два раза быстрее. Сегодня технология одиночной передачи SDR устарела. Поскольку у памяти DDR данные передаются в два раза быстрее, чем у SDR, важно помнить, что у видеокарт с памятью DDR чаще всего указывают удвоенную частоту, а не физическую. Например, если у памяти DDR указана частота 1000 МГц, то это эффективная частота, при которой должна работать обычная память SDR, чтобы дать такую же пропускную способность. А на самом деле физическая частота составляет 500 МГц.

По этой причине многие удивляются, когда для памяти их видеокарты указана частота 1200 МГц DDR, а утилиты сообщают о 600 МГц. Так что придётся привыкнуть. Память DDR2 и GDDR3/GDDR4 работает по такому же принципу, то есть с удвоенной передачей данных. Различие между памятью DDR, DDR2, GDDR3 и GDDR4 кроется в технологии производства и некоторых деталях. DDR2 может работать на более высоких частотах, чем память DDR, а DDR3 - ещё на более высоких, чем DDR2.

Частота шины памяти

Подобно процессору, память (или, точнее, шина памяти) работает на определённых тактовых частотах, измеряемых в мегагерцах. Здесь повышение тактовых частот напрямую влияет на производительность памяти. И частота шины памяти является одним из параметров, которые используют для сравнения производительности видеокарт. Например, если все другие характеристики (ширина шины памяти и т.д.) будут одинаковыми, то вполне логично утверждать, что видеокарта с 700-МГц памятью работает быстрее, чем с 500-МГц.

Опять же, тактовая частота - это ещё не всё. 700-МГц память с 64-битной шиной будет работать медленнее, чем 400-МГц память со 128-битной шиной. Производительность 400-МГц памяти на 128-битной шине примерно соответствует 800-МГц памяти на 64-битной шине. Следует также помнить, что частоты графического процессора и памяти - совершенно разные параметры, и обычно они различаются.

Интерфейс видеокарты

Все данные, передаваемые между видеокартой и процессором, проходят через интерфейс видеокарты. Сегодня для видеокарт используется три типа интерфейсов: PCI, AGP и PCI Express. Они различаются пропускной способностью и другими характеристиками. Понятно, что чем выше пропускная способность, тем выше и скорость обмена. Впрочем, высокую пропускную способность могут использовать только самые современные карты, да и то лишь частично. В какой-то момент скорость интерфейса перестала быть "узким местом", её сегодня попросту достаточно.

Самая медленная шина, для которой выпускались видеокарты, это PCI (Peripheral Components Interconnect). Если не вдаваться в историю, конечно. PCI действительно ухудшала производительность видеокарт, поэтому они перешли на интерфейс AGP (Accelerated Graphics Port). Но даже спецификации AGP 1.0 и 2x ограничивали производительность. Когда стандарт увеличил скорость до уровня AGP 4x, мы начали приближаться к практическому пределу пропускной способности, которую могут задействовать видеокарты. Спецификация AGP 8x ещё раз удвоила пропускную способность по сравнению с AGP 4x (2,16 Гбайт/с), но ощутимого прироста графической производительности мы уже не получили.

Самая новая и скоростная шина - PCI Express. Новые графические карты обычно используют интерфейс PCI Express x16, который сочетает 16 линий PCI Express, дающих суммарную пропускную способность 4 Гбайт/с (в одном направлении). Это в два раза больше, чем пропускная способность AGP 8x. Шина PCI Express даёт упомянутую пропускную способность для обоих направлений (передача данных на видеокарту и с неё). Но скорости стандарта AGP 8x было уже достаточно, поэтому мы пока не встречали ситуации, когда переход на PCI Express дал прирост производительности по сравнению с AGP 8x (если другие аппаратные параметры одинаковы). Например, AGP-версия GeForce 6800 Ultra будет работать идентично 6800 Ultra для PCI Express.

Сегодня лучше всего покупать карту с интерфейсом PCI Express, он продержится на рынке ещё несколько лет. Самые производительные карты уже не выпускаются с интерфейсом AGP 8x, и решения PCI Express, как правило, найти уже легче аналогов AGP, да и стоят они дешевле.

Решения на нескольких видеокартах

Использовать несколько видеокарт для увеличения графической производительности - идея не новая. В ранние дни 3D-графики копания 3dfx вышла на рынок с двумя видеокартами, работающими параллельно. Но с исчезновением 3dfx технология совместной работы нескольких потребительских видеокарт была предана забвению, хотя ATi выпускала подобные системы для профессиональных симуляторов ещё с выхода Radeon 9700. Пару лет назад технология вернулась на рынок: с появлением решений nVidia SLI и, чуть позднее, ATi Crossfire .

Совместное использование нескольких видеокарт даёт достаточную производительность, чтобы вывести игру с высокими настройками качества в высоком разрешении. Но выбирать то или иное решение не так просто.

Начнём с того, что решения на основе нескольких видеокарт требуют большое количество энергии, поэтому блок питания должен быть достаточно мощным. Всё это тепло придётся отводить от видеокарты, поэтому нужно обратить внимание на корпус ПК и охлаждение, чтобы система не перегрелась.

Кроме того, помните, что SLI/CrossFire требует соответствующей материнской платы (либо под одну технологию, либо под другую), которая обычно стоит дороже по сравнению со стандартными моделями. Конфигурация nVidia SLI будет работать только на определённых платах nForce4, а карты ATi CrossFire - только на материнских платах с чипсетом CrossFire или на некоторых моделях Intel. Ситуацию осложняет и то, что некоторые конфигурации CrossFire требуют, чтобы одна из карт была специальной: CrossFire Edition. После выхода CrossFire для некоторых моделей видеокарт ATi разрешила включать технологию совместной работы по шине PCI Express, причём с выходами новых версий драйверов число возможных комбинаций увеличивается. Но всё же аппаратный CrossFire с соответствующей картой CrossFire Edition даёт более высокую производительность. Но и карты CrossFire Edition стоят дороже обычных моделей. На данный момент вы можете включить программный режим CrossFire (без карты CrossFire Edition) на видеокартах Radeon X1300, X1600 и X1800 GTO.

Следует учитывать и другие факторы. Хотя две графические карты, работающие совместно, и дают прирост производительности, ему далеко до двукратного. Но денег-то вы отдадите в два раза больше. Чаще всего прирост производительности составляет 20-60%. А в некоторых случаях из-за дополнительных вычислительных расходов на согласование прироста нет вообще. По этой причине конфигурации на нескольких картах вряд ли оправдывают себя с дешёвыми моделями, поскольку более дорогая видеокарта, как правило, всегда обгоняет пару дешёвых карт. В общем, для большинства потребителей брать решение SLI/CrossFire смысла не имеет. Но если вы хотите включить все опции улучшения качества или играть в экстремальных разрешениях, например, 2560x1600, когда надо просчитывать больше 4 миллионов пикселей на кадр, то без двух или четырёх спаренных видеокарт не обойтись.

Визуальные функции

Кроме чисто аппаратных спецификаций, различные поколения и модели графических процессоров могут отличаться набором функций. Например, часто говорят о том, что карты поколения ATi Radeon X800 XT совместимы с Shader Model 2.0b (SM), в то время как nVidia GeForce 6800 Ultra совместима с SM 3.0, хотя их аппаратные спецификации близки друг к другу (16 конвейеров). Поэтому многие потребители делают выбор в пользу того или иного решения, даже не зная, что означает это различие. Что ж, позвольте поговорить о визуальных функциях и их значимости для конечного пользователя.

Эти названия чаще всего используют в спорах, но мало кто знает, что они означают на самом деле. Чтобы разобраться, давайте начнём с истории графических API. DirectX и OpenGL - это графические API, то есть интерфейсы прикладного программирования (Application Programming Interface) - открытые стандарты кода, доступные каждому.

До появления графических API каждый производитель графических процессоров использовал собственный механизм общения с играми. Разработчикам приходилось писать отдельный код для каждого графического процессора, который они хотели поддержать. Очень дорогой и не эффективный подход. Для решения этой проблемы были разработаны API для 3D-графики, чтобы разработчики писали код под конкретный API, а не под ту или иную видеокарту. После чего проблемы совместимости легли уже на плечи производителей видеокарт, которым пришлось гарантировать, что драйверы будут совместимы с API.

Единственной сложностью остаётся то, что сегодня используются два разных API, а именно Microsoft DirectX и OpenGL, где GL расшифровывается как Graphics Library (графическая библиотека). Поскольку API DirectX сегодня в играх более популярен, мы сконцентрируемся именно на нём. Да и на развитие игр этот стандарт повлиял сильнее.

DirectX - это создание Microsoft. В действительности, в DirectX входит несколько API, только один из которых используется для 3D-графики. DirectX включает API для звука, музыки, устройств ввода и т.д. За 3D-графику в DirectX отвечает API Direct3D. Когда говорят о видеокартах, то имеют в виду именно его, поэтому в данном отношении понятия DirectX и Direct3D взаимозаменяемы.

DirectX периодически обновляется, по мере того, как графические технологии продвигаются вперёд, а игровые разработчики внедряют новые методы программирования игр. Поскольку популярность DirectX быстро возросла, производители графических процессоров начали подгонять выпуск новых продуктов под возможности DirectX. По этой причине видеокарты часто привязывают к аппаратной поддержке того или иного поколения DirectX (DirectX 8, 9.0 или 9.0c).

Ситуацию усложняет и то, что части API Direct3D могут меняться со временем, без смены поколений DirectX. Например, в спецификации DirectX 9.0 указана поддержка Pixel Shader 2.0. Но обновление DirectX 9.0c включает Pixel Shader 3.0. Таким образом, хотя карты относятся к классу DirectX 9, они могут поддерживать разные наборы функций. Например, Radeon 9700 поддерживает Shader Model 2.0, а Radeon X1800 - Shader Model 3.0, хотя обе карты можно отнести к поколению DirectX 9.

Помните, что при создании новых игр разработчики учитывают владельцев старых машин и видеокарт, так как если игнорировать этот сегмент пользователей, то уровень продаж будет ниже. По этой причине в игры встраивается несколько путей кода. У игры класса DirectX 9 наверняка есть для совместимости путь DirectX 8 и даже путь DirectX 7. Обычно, если выбирается старый путь, то в игре исчезают некоторые виртуальные эффекты, которые есть на новых видеокартах. Но, по крайней мере, можно играть даже на старом "железе".

Многие новые игры требуют установки новейшей версии DirectX, даже если видеокарта относится к предыдущему поколению. То есть новая игра, которая будет использовать путь DirectX 8, всё равно требует установки новейшей версии DirectX 9 для видеокарты класса DirectX 8.

Каковы же различия между разными версиями API Direct3D в DirectX? Ранние версии DirectX - 3, 5, 6 и 7 - были относительно просты по возможностям API Direct3D. Разработчики могли выбирать визуальные эффекты из списка, после чего проверять их работу в игре. Следующим важным шагом в программировании графики стал DirectX 8. В нём появилась возможность программировать видеокарту с помощью шейдеров, поэтому разработчики впервые получили свободу программировать эффекты так, как им нужно. DirectX 8 поддерживал версии Pixel Shader от 1.0 до 1.3 и Vertex Shader 1.0. DirectX 8.1, обновлённая версия DirectX 8, получила Pixel Shader 1.4 и Vertex Shader 1.1.

В DirectX 9 можно создавать ещё более сложные программы-шейдеры. DirectX 9 поддерживает Pixel Shader 2.0 и Vertex Shader 2.0. DirectX 9c, обновлённая версия DirectX 9, включила спецификацию Pixel Shader 3.0.

DirectX 10, грядущая версия API, будет сопровождать новую версию Windows Vista. На Windows XP установить DirectX 10 не получится.

HDR расшифровывается как "High Dynamic Range", высокий динамический диапазон. Игра с HDR-освещением может дать намного более реалистичную картинку, чем игра без такового, причём не все видеокарты поддерживают HDR-освещение.

Перед появлением видеокарт класса DirectX 9 графические процессоры были серьёзно ограничены точностью вычислений освещения. До сих пор освещение можно было рассчитывать только с 256 (8 бит) внутренними уровнями.

Когда появились видеокарты класса DirectX 9, они получили возможность выдавать освещение с высокой точностью - полные 24 бита или 16,7 млн. уровней.

С 16,7 млн. уровней и после того, как был сделан следующий шаг по производительности видеокарт класса DirectX 9/Shader Model 2.0, на компьютерах стало возможным и HDR-освещение. Это довольно сложная технология, и смотреть её нужно в динамике. Если говорить простыми словами, то HDR-освещение увеличивает контрастность (тёмные оттенки выглядят темнее, светлые - светлее), в то же время повышая количество деталей освещения на тёмных и светлых областях. Игра с HDR-освещением кажется более живой и реалистичной, чем без него.

Графические процессоры, соответствующие последней спецификации Pixel Shader 3.0, позволяют рассчитывать освещение с более высокой 32-битной точностью, а также выполнять смешение (blending) с плавающей запятой. Таким образом, видеокарты класса SM 3.0 могут поддерживать специальный метод HDR-освещения OpenEXR, специально разработанный для киноиндустрии.

Некоторые игры, которые поддерживают только HDR-освещение методом OpenEXR, не пойдут с HDR-освещением на видеокартах Shader Model 2.0. Впрочем, игры, которые не опираются на метод OpenEXR, будут работать на любой видеокарте DirectX 9. Например, Oblivion использует метод OpenEXR HDR и позволяет включать HDR-освещение только на новейших видеокартах, которые поддерживают спецификацию Shader Model 3.0. Например, nVidia GeForce 6800 или ATi Radeon X1800. Игры, которые используют 3D-движок Half-Life 2, та же Counter-Strike: Source и грядущая Half-Life 2: Aftermath, позволяют включать HDR-рендеринг на старых видеокартах DirectX 9, которые поддерживают только Pixel Shader 2.0. В качестве примеров можно привести линейку GeForce 5 или ATi Radeon 9500.

Наконец, следует учитывать, что все формы HDR-рендеринга требуют серьёзной вычислительной мощности и могут поставить даже самые мощные графические процессоры "на колени". Если вы хотите играть в новейшие игры с HDR-освещением, то без высокопроизводительной графики не обойтись.

Полноэкранное сглаживание (сокращённо AA) позволяет устранить характерные "лесенки" на границах полигонов. Но следует учитывать, что полноэкранное сглаживание потребляет немало вычислительных ресурсов, что приводит к падению частоты кадров.

Сглаживание очень сильно зависит от производительности видеопамяти, поэтому скоростная видеокарта с быстрой памятью сможет просчитать полноэкранное сглаживание с меньшим ущербом для производительности, чем недорогая видеокарта. Сглаживание можно включать в различных режимах. Например, сглаживание 4x даст более качественную картинку, чем сглаживание 2x, но это будет большим ударом по производительности. Если сглаживание 2x удваивает горизонтальное и вертикальное разрешение, режим 4x его учетверяет.

На все 3D-объекты в игре накладываются текстуры, причём, чем больше угол отображаемой поверхности, тем более искажённой будет выглядеть текстура. Чтобы устранить этот эффект, графические процессоры используют фильтрацию текстур.

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

На сегодня самым лучшим способом фильтрации текстур является анизотропная фильтрация (AF). Подобно полноэкранному сглаживанию, анизотропную фильтрацию можно включать на разных уровнях. Например, 8x AF даёт более высокое качество фильтрации, чем 4x AF. Как и полноэкранное сглаживание, анизотропная фильтрация требует определённой вычислительной мощности, которая увеличивается по мере повышения уровня AF.

Все 3D-игры создаются с учётом конкретных спецификаций, и одно из таких требований определяет текстурную память, которая понадобится игре. Все нужные текстуры должны умещаться в память видеокарты во время игры, иначе производительность будет сильно падать, поскольку обращение за текстурой в оперативную память даёт немалую задержку, не говоря уже о файле подкачки на жёстком диске. Поэтому, если разработчик игры рассчитывает на 128 Мбайт видеопамяти как минимальное требование, то набор активных текстур не должен превышать 128 Мбайт в любое время.

У современных игр есть несколько наборов текстур, так что игра без проблем будет работать на старых видеокартах с меньшим количеством видеопамяти, а также и на новых картах с большим объёмом видеопамяти. Например, игра может содержать три набора текстур: для 128 Мбайт, 256 Мбайт и 512 Мбайт. Игр, которые поддерживают 512 Мбайт видеопамяти, сегодня очень мало, но они всё же являются самой объективной причиной для покупки видеокарты с таким объёмом памяти. Хотя увеличение объёма памяти практически не сказывается на производительности, вы получите улучшение визуального качества, если игра поддерживает соответствующий набор текстур.

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

Тактовая частота видеочипа

Рабочая частота GPU обычно измеряется в мегагерцах, т. е. миллионах тактов в секунду. Эта характеристика прямо влияет на производительность видеочипа — чем она выше, тем больший объем работы GPU может выполнить в единицу времени, обработать большее количество вершин и пикселей. Пример из реальной жизни: частота видеочипа, установленного на плате Radeon HD 6670 равна 840 МГц, а точно такой же чип в модели Radeon HD 6570 работает на частоте в 650 МГц. Соответственно будут отличаться и все основные характеристики производительности. Но далеко не только рабочая частота чипа определяет производительность, на его скорость сильно влияет и сама графическая архитектура: устройство и количество исполнительных блоков, их характеристики и т. п.

В некоторых случаях тактовая частота отдельных блоков GPU отличается от частоты работы остального чипа. То есть, разные части GPU работают на разных частотах, и сделано это для увеличения эффективности, ведь некоторые блоки способны работать на повышенных частотах, а другие — нет. Такими GPU комплектуется большинство видеокарт GeForce от NVIDIA. Из свежих примеров приведём видеочип в модели GTX 580, большая часть которого работает на частоте 772 МГц, а универсальные вычислительные блоки чипа имеют повышенную вдвое частоту — 1544 МГц.

Скорость заполнения (филлрейт)

Скорость заполнения показывает, с какой скоростью видеочип способен отрисовывать пиксели. Различают два типа филлрейта: пиксельный (pixel fill rate) и текстурный (texel rate). Пиксельная скорость заполнения показывает скорость отрисовки пикселей на экране и зависит от рабочей частоты и количества блоков ROP (блоков операций растеризации и блендинга), а текстурная — это скорость выборки текстурных данных, которая зависит от частоты работы и количества текстурных блоков.

Например, пиковый пиксельный филлрейт у GeForce GTX 560 Ti равен 822 (частота чипа) × 32 (количество блоков ROP) = 26304 мегапикселей в секунду, а текстурный — 822 × 64 (кол-во блоков текстурирования) = 52608 мегатекселей/с. Упрощённо дело обстоит так — чем больше первое число — тем быстрее видеокарта может отрисовывать готовые пиксели, а чем больше второе — тем быстрее производится выборка текстурных данных.

Хотя важность "чистого" филлрейта в последнее время заметно снизилась, уступив скорости вычислений, эти параметры всё ещё остаются весьма важными, особенно для игр с несложной геометрией и сравнительно простыми пиксельными и вершинными вычислениями. Так что оба параметра остаются важными и для современных игр, но они должны быть сбалансированы. Поэтому количество блоков ROP в современных видеочипах обычно меньше количества текстурных блоков.

Количество вычислительных (шейдерных) блоков или процессоров

Пожалуй, сейчас эти блоки — главные части видеочипа. Они выполняют специальные программы, известные как шейдеры. Причём, если раньше пиксельные шейдеры выполняли блоки пиксельных шейдеров, а вершинные — вершинные блоки, то с некоторого времени графические архитектуры были унифицированы, и эти универсальные вычислительные блоки стали заниматься различными расчётами: вершинными, пиксельными, геометрическими и даже универсальными вычислениями.

Впервые унифицированная архитектура была применена в видеочипе игровой консоли Microsoft Xbox 360, этот графический процессор был разработан компанией ATI (впоследствии купленной AMD). А в видеочипах для персональных компьютеров унифицированные шейдерные блоки появились ещё в плате NVIDIA GeForce 8800. И с тех пор все новые видеочипы основаны на унифицированной архитектуре, которая имеет универсальный код для разных шейдерных программ (вершинных, пиксельных, геометрических и пр.), и соответствующие унифицированные процессоры могут выполнить любые программы.

По числу вычислительных блоков и их частоте можно сравнивать математическую производительность разных видеокарт. Большая часть игр сейчас ограничена производительностью исполнения пиксельных шейдеров, поэтому количество этих блоков весьма важно. К примеру, если одна модель видеокарты основана на GPU с 384 вычислительными процессорами в его составе, а другая из той же линейки имеет GPU с 192 вычислительными блоками, то при равной частоте вторая будет вдвое медленнее обрабатывать любой тип шейдеров, и в целом будет настолько же производительнее.

Хотя, исключительно на основании одного лишь количества вычислительных блоков делать однозначные выводы о производительности нельзя, обязательно нужно учесть и тактовую частоту и разную архитектуру блоков разных поколений и производителей чипов. Только по этим цифрам можно сравнивать чипы только в пределах одной линейки одного производителя: AMD или NVIDIA. В других же случаях нужно обращать внимание на тесты производительности в интересующих играх или приложениях.

Блоки текстурирования (TMU)

Эти блоки GPU работают совместно с вычислительными процессорами, ими осуществляется выборка и фильтрация текстурных и прочих данных, необходимых для построения сцены и универсальных вычислений. Число текстурных блоков в видеочипе определяет текстурную производительность — то есть скорость выборки текселей из текстур.

Хотя в последнее время больший упор делается на математические расчеты, а часть текстур заменяется процедурными, нагрузка на блоки TMU и сейчас довольно велика, так как кроме основных текстур, выборки необходимо делать и из карт нормалей и смещений, а также внеэкранных буферов рендеринга render target.

С учётом упора многих игр в том числе и в производительность блоков текстурирования, можно сказать, что количество блоков TMU и соответствующая высокая текстурная производительность также являются одними из важнейших параметров для видеочипов. Особенное влияние этот параметр оказывает на скорость рендеринга картинки при использовании анизотропной фильтрации, требующие дополнительных текстурных выборок, а также при сложных алгоритмах мягких теней и новомодных алгоритмах вроде Screen Space Ambient Occlusion.

Блоки операций растеризации (ROP)

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

Ещё раз отметим, что современные видеочипы нельзя оценивать только числом разнообразных блоков и их частотой. Каждая серия GPU использует новую архитектуру, в которой исполнительные блоки сильно отличаются от старых, да и соотношение количества разных блоков может отличаться. Так, блоки ROP компании AMD в некоторых решениях могут выполнять за такт больше работы, чем блоки в решениях NVIDIA, и наоборот. То же самое касается и способностей текстурных блоков TMU — они разные в разных поколениях GPU разных производителей, и это нужно учитывать при сравнении.

Геометрические блоки

Вплоть до последнего времени, количество блоков обработки геометрии было не особенно важным. Одного блока на GPU хватало для большинства задач, так как геометрия в играх была довольно простой и основным упором производительности были математические вычисления. Важность параллельной обработки геометрии и количества соответствующих блоков резко выросли при появлении в DirectX 11 поддержки тесселяции геометрии. Компания NVIDIA первой распараллелила обработку геометрических данных, когда в её чипах семейства GF1xx появилось по несколько соответстующих блоков. Затем, похожее решение выпустила и AMD (только в топовых решениях линейки Radeon HD 6700 на базе чипов Cayman).

В рамках этого материала мы не будем вдаваться в подробности, их можно прочитать в базовых материалах нашего сайта, посвященных DirectX 11-совместимым графическим процессорам. В данном случае для нас важно то, что количество блоков обработки геометрии очень сильно влияет на общую производительность в самых новых играх, использующих тесселяцию, вроде Metro 2033, HAWX 2 и Crysis 2 (с последними патчами). И при выборе современной игровой видеокарты очень важно обращать внимание и на геометрическую производительность.

Объём видеопамяти

Собственная память используется видеочипами для хранения необходимых данных: текстур, вершин, данных буферов и т. п. Казалось бы, что чем её больше — тем всегда лучше. Но не всё так просто, оценка мощности видеокарты по объему видеопамяти — это наиболее распространенная ошибка! Значение объёма видеопамяти неопытные пользователи переоценивают чаще всего, до сих пор используя именно его для сравнения разных моделей видеокарт. Оно и понятно — этот параметр указывается в списках характеристик готовых систем одним из первых, да и на коробках видеокарт его пишут крупным шрифтом. Поэтому неискушённому покупателю кажется, что раз памяти в два раза больше, то и скорость у такого решения должна быть в два раза выше. Реальность же от этого мифа отличается тем, что память бывает разных типов и характеристик, а рост производительности растёт лишь до определенного объёма, а после его достижения попросту останавливается.

Так, в каждой игре и при определённых настройках и игровых сценах есть некий объём видеопамяти, которого хватит для всех данных. И хоть ты 4 ГБ видеопамяти туда поставь — у неё не появится причин для ускорения рендеринга, скорость будут ограничивать исполнительные блоки, о которых речь шла выше, а памяти просто будет достаточно. Именно поэтому во многих случаях видеокарта с 1,5 ГБ видеопамяти работает с той же скоростью, что и карта с 3 ГБ (при прочих равных условиях).

Ситуации, когда больший объём памяти приводит к видимому увеличению производительности, существуют — это очень требовательные игры, особенно в сверхвысоких разрешениях и при максимальных настройках качества. Но такие случаи встречаются не всегда и объём памяти учитывать нужно, не забывая о том, что выше определённого объема производительность просто уже не вырастет. Есть у чипов памяти и более важные параметры, такие как ширина шины памяти и её рабочая частота. Эта тема настолько обширна, что подробнее о выборе объёма видеопамяти мы ещё остановимся в шестой части нашего материала.

Ширина шины памяти

Ширина шины памяти является важнейшей характеристикой, влияющей на пропускную способность памяти (ПСП). Большая ширина позволяет передавать большее количество информации из видеопамяти в GPU и обратно в единицу времени, что положительно влияет на производительность в большинстве случаев. Теоретически, по 256-битной шине можно передать в два раза больше данных за такт, чем по 128-битной. На практике разница в скорости рендеринга хоть и не достигает двух раз, но весьма близка к этому во многих случаях с упором в пропускную способность видеопамяти.

Современные игровые видеокарты используют разную ширину шины: от 64 до 384 бит (ранее были чипы и с 512-битной шиной), в зависимости от ценового диапазона и времени выпуска конкретной модели GPU. Для самых дешёвых видеокарт уровня low-end чаще всего используется 64 и реже 128 бит, для среднего уровня от 128 до 256 бит, ну а видеокарты из верхнего ценового диапазона используют шины от 256 до 384 бит шириной. Ширина шины уже не может расти чисто из-за физических ограничений — размер кристалла GPU недостаточен для разводки более чем 512-битной шины, и это обходится слишком дорого. Поэтому наращивание ПСП сейчас осуществляется при помощи использования новых типов памяти (см. далее).

Частота видеопамяти

Ещё одним параметром, влияющим на пропускную способность памяти, является её тактовая частота. А повышение ПСП часто напрямую влияет на производительность видеокарты в 3D-приложениях. Частота шины памяти на современных видеокартах бывает от 533(1066, с учётом удвоения) МГц до 1375(5500, с учётом учетверения) МГц, то есть, может отличаться более чем в пять раз! И так как ПСП зависит и от частоты памяти, и от ширины ее шины, то память с 256-битной шиной, работающая на частоте 800(3200) МГц, будет иметь бо́льшую пропускную способность по сравнению с памятью, работающей на 1000(4000) МГц со 128-битной шиной.

Особенное внимание на параметры ширины шины памяти, её типа и частоты работы следует уделять при покупке сравнительно недорогих видеокарт, на многие из которых ставят лишь 128-битные или даже 64-битные интерфейсы, что крайне негативно сказывается на их производительности. Вообще, покупка видеокарты с использованием 64-битной шины видеопамяти для игрового ПК нами не рекомендуется вовсе. Желательно отдать предпочтение хотя бы среднему уровню минимум со 128- или 192-битной шиной.

Типы памяти

На современные видеокарты устанавливается сразу несколько различных типов памяти. Старую SDR-память с одинарной скоростью передачи уже нигде не встретишь, но и современные типы памяти DDR и GDDR имеют значительно отличающиеся характеристики. Различные типы DDR и GDDR позволяют передавать в два или четыре раза большее количество данных на той же тактовой частоте за единицу времени, и поэтому цифру рабочей частоты зачастую указывают удвоенной или учетверённой, умножая на 2 или 4. Так, если для DDR-памяти указана частота 1400 МГц, то эта память работает на физической частоте в 700 МГц, но указывают так называемую «эффективную» частоту, то есть ту, на которой должна работать SDR-память, чтобы обеспечить такую же пропускную способность. То же самое с GDDR5, но частоту тут даже учетверяют.

Основное преимущество новых типов памяти заключается в возможности работы на больших тактовых частотах, а соответственно — в увеличении пропускной способности по сравнению с предыдущими технологиями. Это достигается за счет увеличенных задержек, которые, впрочем, не так важны для видеокарт. Первой платой, использующей память DDR2, стала NVIDIA GeForce FX 5800 Ultra. С тех пор технологии графической памяти значительно продвинулись, был разработан стандарт GDDR3, который близок к спецификациям DDR2, с некоторыми изменениями специально для видеокарт.

GDDR3 — это специально предназначенная для видеокарт память, с теми же технологиями, что и DDR2, но с улучшенными характеристиками потребления и тепловыделения, что позволило создать микросхемы, работающие на более высоких тактовых частотах. Несмотря на то, что стандарт был разработан в компании ATI, первой видеокартой, её использующей, стала вторая модификация NVIDIA GeForce FX 5700 Ultra, а следующей стала GeForce 6800 Ultra.

GDDR4 — это дальнейшее развитие «графической» памяти, работающее почти в два раза быстрее, чем GDDR3. Основными отличиями GDDR4 от GDDR3, существенными для пользователей, являются в очередной раз повышенные рабочие частоты и сниженное энергопотребление. Технически, память GDDR4 не сильно отличается от GDDR3, это дальнейшее развитие тех же идей. Первыми видеокартами с чипами GDDR4 на борту стали ATI Radeon X1950 XTX, а у компании NVIDIA продукты на базе этого типа памяти не выходили вовсе. Преимущества новых микросхем памяти перед GDDR3 в том, что энергопотребление модулей может быть примерно на треть ниже. Это достигается за счет более низкого номинального напряжения для GDDR4.

Впрочем, GDDR4 не получила широкого распространения даже в решениях AMD. Начиная с GPU семейства RV7x0, контроллерами памяти видеокарт поддерживается новый тип памяти GDDR5, работающий на эффективной учетверённой частоте до 5,5 ГГц и выше (теоретически возможны частоты до 7 ГГц), что даёт пропускную способность до 176 ГБ/с с применением 256-битного интерфейса. Если для повышения ПСП у памяти GDDR3/GDDR4 приходилось использовать 512-битную шину, то переход на использование GDDR5 позволил увеличить производительность вдвое при меньших размерах кристаллов и меньшем потреблении энергии.

Видеопамять самых современных типов — это GDDR3 и GDDR5, она отличается от DDR некоторыми деталями и также работает с удвоенной/учетверённой передачей данных. В этих типах памяти применяются некоторые специальные технологии, позволяющие поднять частоту работы. Так, память GDDR2 обычно работает на более высоких частотах по сравнению с DDR, GDDR3 — на еще более высоких, а GDDR5 обеспечивает максимальную частоту и пропускную способность на данный момент. Но на недорогие модели до сих пор ставят «неграфическую» память DDR3 со значительно меньшей частотой, поэтому нужно выбирать видеокарту внимательнее.