Шейдерные процессоры что это

Обновлено: 04.07.2024

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

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

Рабочая частота GPU измеряется в мегагерцах, в миллионах тактов в секунду. Эта характеристика прямо влияет на производительность видеочипа, чем она выше, тем больший объем работы чип может выполнить в единицу времени, обработать большее количество вершин и пикселей. Пример из реальной жизни: частота видеочипа, установленного на плате RADEON X1900 XTX равна 650 МГц, а точно такой же чип на RADEON X1900 XT работает на частоте в 625 МГц. Соответственно будут отличаться и все основные характеристики производительности. Но далеко не только рабочая частота чипа однозначно определяет производительность, на его скорость сильно влияет и архитектура: количество различных исполнительных блоков, их характеристики и т.п.

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

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

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

Например, пиксельный филлрейт у GeForce 7900 GTX равен 650 (частота чипа) * 16 (количество блоков ROP) = 10400 мегапикселей в секунду, а текстурный — 650 * 24 (кол-во блоков текстурирования) = 15600 мегатекселей/с. Чем больше первое число - тем быстрее видеокарта может отрисовывать готовые пиксели, а чем больше второе - тем быстрее производится выборка текстурных данных. Оба параметра важны для современных игр, но они должны быть сбалансированы. Именно поэтому количество блоков ROP в чипах семейства G7x, на которых построено семейство GeForce 7, меньше количества текстурных и пиксельных блоков.

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

Пиксельные процессоры — это одни из главных блоков видеочипа, которые выполняют специальные программы, известные также как пиксельные шейдеры. По числу блоков пиксельных шейдеров и их частоте можно сравнивать шейдерную производительность разных видеокарт. Так как большая часть игр сейчас ограничена производительностью исполнения пиксельных шейдеров (см. технологические обзоры игр), то количество этих блоков очень важно! Если одна модель видеокарты основана на GPU с 8 блоками пиксельных шейдеров, а другая из той же линейки — 16 блоками, то при прочих равных вторая будет вдвое быстрее обрабатывать пиксельные программы, и в целом будет производительнее. Но на основании одного лишь количества блоков делать однозначные выводы нельзя, обязательно нужно учесть и тактовую частоту и разную архитектуру блоков разных поколений и производителей чипов. Чисто по этим цифрам прямо можно сравнивать чипы только в пределах одной линейки одного производителя: AMD(ATI) или NVIDIA. В других же случаях нужно обращать внимание на тесты производительности в интересующих играх.

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

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

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

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

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

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

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

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

Нужно еще раз отметить, что современные видеочипы нельзя оценивать только числом разнообразных блоков и их частотой. Каждая серия GPU использует новую архитектуру, в которой исполнительные блоки сильно отличаются от старых, да и соотношение количества разных блоков может отличаться. Компания ATI первой применила архитектуру, в которой количество блоков пиксельных шейдеров было в разы больше числа блоков текстурирования. Это было сделано немного преждевременно, на наш взгляд, но в некоторых приложениях пиксельные блоки используются более активно, чем остальные и для таких приложений подобное решение будет неплохим вариантом, не говоря уже о будущем. Также, в предпоследней архитектуре AMD(ATI) нет отдельных пиксельных конвейеров, пиксельные процессоры не «привязаны» к блокам TMU. Впрочем, у NVIDIA в GeForce 8800 получилось еще сложнее.

Рассмотрим ситуацию на примере видеокарт GeForce 7900 GT и GeForce 7900 GS. Обе они имеют одинаковые рабочие частоты, интерфейс памяти и даже одинаковый видеочип. Но модификация 7900 GS использует GPU с 20 активными блоками пиксельных шейдеров и текстурных блоков, а видеокарта 7900 GT — по 24 блока каждого типа. Рассмотрим разницу в производительности этих двух решений в игре Prey:

Разница в количестве основных исполнительных блоков в 20% дала разный прирост скорости в тестовых разрешениях. Значение 20% оказалось недостижимо потому, что производительность в Prey не ограничена на этих видеокартах только скоростью блоков TMU и ROP. Разница в разрешении 1024x768 составила меньше 8%, а в более высоких достигла 12%, что ближе к теоретической разности в количестве исполнительных блоков.

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

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

В каждой игре есть определенный объем видеопамяти, которого хватает для всех данных, и хоть 4 ГБ туда поставь — у нее не появится причин для ускорения рендеринга, скорость будут ограничивать исполнительные блоки, о которых речь шла выше. Именно поэтому почти во всех случаях видеокарта с 320 Мбайт видеопамяти будет работать с той же скоростью, что и карта с 640 Мбайт (при прочих равных условиях). Ситуации, когда больший объем памяти приводит к видимому увеличению производительности, существуют, это очень требовательные игры в высоких разрешениях и при максимальных настройках. Но такие случаи весьма редки, поэтому, объем памяти учитывать нужно, но не забывая о том, что выше определенного объема производительность просто не растет, есть более важные параметры, такие как ширина шины памяти и ее рабочая частота. Подробнее о выборе объема видеопамяти читайте во второй части статьи.

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

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

Рассмотрим относительную производительность видеокарт с разной пропускной способностью на примере видеокарт RADEON X1900 XTX и RADEON X1950 XTX, которые используют почти одинаковые GPU с одними характеристиками и частотой. Основные их отличия состоят в типе и частоте используемой памяти — GDDR3 на частоте 775(1550) МГц и GDDR4 на 1000(2000) МГц, соответственно.

Хорошо видно, как отстает карта с меньшей пропускной способностью памяти, хотя разница никогда не достигает теоретических 29%. Разница между достигнутой частотой кадров растет с увеличением разрешения, начинаясь с 8% в 1024x768 и достигая 12-13% в максимальных режимах. Но это сравнение видеокарт с небольшой разницей в ПСП, а особенное внимание на параметры ширины шины памяти и частоты ее работы следует уделять при покупке недорогих видеокарт, на многие из которых ставят лишь 64-битные интерфейсы, что сильно сказывается на их производительности. Вообще, покупка решений на базе 64-бит шины для игр вовсе не рекомендуется.

Типы памяти

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

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

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

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

Итак, видеопамять самых современных типов: GDDR3 и GDDR4, отличается от DDR некоторыми деталями, но также работает с удвоенной передачей данных. В ней применяются некоторые специальные технологии, позволяющие поднять частоту работы. Так, GDDR2 память обычно работает на более высоких частотах, по сравнению с DDR, GDDR3 — на еще более высоких, ну а GDDR4 обеспечивает максимальную частоту и пропускную способность.

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

Главные характеристики для мощности видеокарты. И это не Гигабайты.
Начнем с основных характеристик всех видеоадаптеров.
  • Ширина шины памяти , измеряется в битах — количество бит информации, передаваемой за такт. Важный параметр в производительности карты.
  • объём видеопамяти , измеряется в мегабайтах — объём собственной оперативной памяти видеокарты. Больший объём далеко не всегда означает большую производительность.
  • частоты ядра и памяти — измеряются в мегагерцах, чем больше, тем быстрее видеокарта будет обрабатывать информацию.
  • текстурнаяипиксельнаяскорость заполнения , измеряется в млн. пикселей в секунду, показывает количество выводимой информации в единицу времени.
И перейдем к самым важным, особенно для игровых видеокарт
  • Количество вычислительных (шейдерных) блоков или процессоров
  • Блоки текстурирования (TMU)
  • Блоки операций растеризации (ROP)
  • И пожалуй тип памяти (GDDR-X или HBM-X)
Теперь немного разжуем, что это и какие задачи выполняет.
  • Количество вычислительных (шейдерных) блоков или процессоров

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

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

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

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

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

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

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

В бюджетных видеокартах в основном стоит GDDR3 , но и бывает GDDR5 , соответственно лучше GDDR5 , но в наше время, лучший тип памяти это - GDDR6 или HBM2 (пока слишком дорогая).

Это пусть и не самый главный, но далеко не маловажный аспект в видеопамяти, благодаря охлаждению, будут более приемлемые температуры и более низкий уровень шума. Что сделает видеокарту, более приятной и не сбрасывающей вольтаж/частоты, соответственно подарит ей более стабильную и долгую работу.

Ну и не забываем про тип подключения основной - PCI-Express х16 3.0 пока что, но уже у AMD есть PCI-Express х16 4.0 и к примеру для RX 5500 XT этот параметр важен, видеокарта становится производительнее до 40% , но это особенность видеокарты, ведь дорожек у нее не ( х16 ), а всего ( х8 ).

Вывод таков, всегда выбирайте те или иные видеокарты с умом, и желательно предварительно просматривать тесты в играх, которые необходимы, или можете захватить сразу все, чтобы было видно результат "на лицо".

Вопрос не такой простой, поскольку тесно связан не только с оценкой технических показателей устройства, но и с вопросом цены. В сети немало материалов на эту тему, но мы все же обратимся к ней еще раз и постараемся рассмотреть ее комплексно, учесть наиболее важные факторы и их взаимосвязи. Чтобы извлечь из этого максимум пользы, возьмем отстраненный от сегодняшнего дня пример, видеокарту, которая уже стала историей: Sapphire Radeon X1650 PRO (RV535). Этот пример уже не может вызывать бурных споров, цена устройства тоже теперь не имеет значения, поэтому на него можно смотреть достаточно трезво.

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

Ответ на поставленный в первом абзаце вопрос определяется множеством характеристик видеокарты. Кроме того, видеокарта - это не вещь в себе, она является частью более сложной системы - компьютера. Несбалансированные характеристики системы (наиболее типичный источник проблем), даже если сами по себе выглядят привлекательно, могут в итоге оказаться дорогим и малополезным решением. Как известно, наиболее удачное приложение для просмотра характеристик видеокарты - GPU-Z. Используем его для наглядности.

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

ЧАСТЬ 1

GPU Clock (594 MHz) - тактовая частота видеочипа в герцах. Чем выше, тем производительнее карта.

Memory Clock (1391 MHz) - тактовая частота видеопамяти. Влияние на производительность такое же.

Memory Type (GDDR3) - тип видеопамяти. Чем новее тип, тем выше частота памяти.

Memory Size (256 MB) - объем памяти (здесь - в Мбайтах). Чем выше значение, тем больше текстур сможет хранить видеокарта в собственной памяти. Если ширина шины видеокарты шире ширины шины интерфейса подключения видеокарты к компьютеру (см. ниже), то этот параметр оказывает очень заметное влияние на производительность. Если ширина шины видеокарты такая же, или даже ниже, чем у интерфейса подключения, то влияние малозначительно.

Bus Width (128 bit) - ширина внутренней шины видеокарты. Очень важный параметр. Чем шире шина, тем выше ее пропускная способность, т. е. способность пропустить через себя определенное количество информации. Сегодня 128 бит - это минимум, необходимый для комфортной работы с CG и игр. С этой ширины начинаются решения среднего класса. Предпочтительно выбирать карты с внутренней шиной 192, 256 и более бит. Сегодня предлагается очень много видеокарт с шириной шины 64 бита. Часто такие карты снабжаются высокопроизводительными памятью и процессором, большим объемом видеопамяти, но по существу их покупать для задач CG и игр не следует. Это бюджетные решения (хотя порой они могут стоить не так уж и мало), которые являются хорошим вариантом для домашнего и офисного компьютера, нетребовательных игр и просмотра фильмов. В этом плане заметным преимуществом таких устройств может стать их абсолютная бесшумность (зачастую они не снабжаются кулерами).

Bandwidth (44,5 GB/s) - пропускная способность шины видеокарты. Этот параметр производен от частоты и ширины шины видеопамяти: ширина * частота / 8. В нашем случае 128 * 1400 / 8 = 22 400 (т. е. 22,4 GB/s; как видно, GPU-Z тут ошибается, выдавая 44,5 GB/s). Чем больше пропускная способность, тем выше производительность видеокарты.

Bus Interface (AGP 8x @ 8x) - интерфейс подключения видеокарты к материнской плате. Мы говорили о нем выше. Его характеристики следует сравнивать с пропускной способностью шины самой видеокарты. Интерфейс AGP сегодня устарел и в новых машинах его нет. Однако принципы оценки интерфейса для современных карт те же, что и для AGP, и для любых других интерфейсов. Разберем наш пример. AGP 8x работает на частоте 66 MHz и обладает шириной шины 32 бита. Это немного, однако благодаря ряду хитрых решений AGP 3.0 (он же 8x) может передавать 2 GB/s. И все равно этого мало. Как видно, это в 10 раз меньше, чем пропускная способность шины обсуждаемой видеокарты. Значит, в нашем конкретном случае объем видеопамяти является критичным. Это означает, что на данном интерфейсе карта с теми же характеристиками, но бо'льшим объемом видеопамяти будет значительно производительнее.

Почему это так? В общем виде все достаточно просто. Когда видеокарте не хватает собственной памяти для хранения данных (например, текстур), они хранятся в системной памяти. Мы помним, что в нашем примере обмен данными с системной памятью идет на скорости 2 GB/s, а с видеопамятью - на скорости 22,4 GB/s. Поэтому очевидно, что при визуализации конкретной трехмерной сцены обращение не к видео-, а к системной памяти снизит скорость обработки данных примерно в 10 раз. Именно поэтому видеопамяти должно быть достаточно много. Точности ради надо заметить, что такой линейной зависимости вы все равно почти никогда не обнаружите, потому что реальная схема обмена процессора с памятью не так груба, как в нашем рассуждении. Однако общая схема не меняется: а) карта должна получить некоторое количество данных из системной памяти; б) карта должна заполнить этими данными видеопамять; в) видеочип будет работать с этими данными, пока не потребуются другие данные; г) порядок обмена данными с системной памятью и видеопамятью определяет общую скорость и логику обработки данных.

В современных компьютерах используется шина PCI-Express. Пропускная способность ее последней версии достигает 64 GB/s. Видеокарта из нашего примера (а похожих решений для PCI-Express достаточно много, поэтому пример вполне актуален) просто не даст раскрыться возможностям такой шины. Видеокарта будет работать на пределе, а процессор, системная шина и память будут "недозагружены".

Наш вывод на этом этапе: главное - сбалансированность характеристик компонентов системы. Если ее не будет, это означает, что вы переплатили либо за материнскую плату, либо за видеокарту. При этом одно устройство будет "недорабатывать", а другое - работать на пике своих возможностей, что сделает всю систему менее стабильной и сократит срок жизни отдельных ее компонентов. Никто, кроме нас самих (ни тематический форум, но оценки потребителей, ни тесты на производительность, ни критические или хвалебные обзоры, ни авторы компьютерных сборок в магазинах) - никто на самом деле не заинтересован в том, чтобы проследить сбалансированность характеристик нашей машины. Это только наша задача. Что хорошо на одной машине и для одних целей, то вполне может быть плохо в других условиях.

ЧАСТЬ 2

На нашем рисунке осталось еще несколько не рассмотренных позиций.

DirectX Support (9.0c / SM3.0) - пункт показывает, какую версию DirectX и модель шейдеров (SM) поддерживает видеокарта. Чем старше версия, тем лучше. DirectX - это совокупность библиотек обработки мультимедиа контента, в том числе звука и видео. От версии библиотек зависит производительность системы и качество картинки в видеоиграх. Разные версии DirectX сориентированы на разные процессорные архитектуры и операционные системы. Например, 10 версия DirectX практически не работает с WindowsXP, хотя при желании из нее (из DirectX) можно вытащить ряд библиотек, совместимых с XP (народным умельцам это удалось). А вот DirectX 11 ни в каком виде на этой операционной системе работать не будет. В свою очередь, производители программ тоже ориентируются на возможности DirectX со всеми вытекающими из этого последствиями. Шейдерная модель (SM) видеокарты взаимодействует с DirectX. Шейдеры - это специализированные инструкции/процессоры видеокарты, выполняющие те или иные виды обработки картинки.

Shaders (12 Pixel / 5 Vertex) - количество шейдерных процессоров на видеокарте. В современных видеокартах уже не используется специализация шейдеров на пиксельных (Pixel Shader обрабатывает цвет и глубину пикселей) или вершинных (Vertex Shader обрабатывает вершины, т. е. геометрию объектов) выборках, а применяются универсальные процессоры. В ходе обработки данных видеокарта сама определяет, как перераспределить задачи между шейдерными процессорами. В нашем примере мы имеем всего 17 шейдерных процессоров. По современным меркам это, конечно, неприлично мало. У разных производителей шейдерные процессоры устроены по-разному, поэтому сравнивать чипы Ati и Nvidia между собой по количеству шейдеров некорректно. Но в пределах решений одного производителя работает правило - чем больше шейдерных процессоров, тем выше производительность видеокарты.

Pixel Fillrate (2.4 GPixel/s) - количество пикселей, которые может отрендерить видеокарта за 1 секунду. Эта характеристика определяет максимально возможное разрешение, при котором видеокарта теоретически обеспечит необходимую частоту смены кадров. Считается, что для человека комфортной является смена кадров с частотой не менее 24/s. Исходя из этого определим количество пикселей на 1 кадр: 2.4 / 24 = 0.1 GPixel. Это 100 MPixel. Остается узнать, какое это разрешение. К примеру, FullHD это 1920 * 1080 = 2 073 600 Pixel, т. е. округленно это 2 MPixel. Получается, что в "запасе" у нас еще 98 Mpixel на каждый кадр. С этим карта справится без проблем, но только в том случае, если мы не будем иметь в сцене никаких текстур. Однако на каждый объект послойно спроецированы карты текстур, а каждый слой - это плоское изображение определенного разрешения (растр), отвечающее за какой-либо визуальный эффект (основной цвет, неровности, блики и пр.). Таким образом, видеокарта обрабатывает геометрию объектов (по вершинам) и информацию о цвете и глубине пикселей, получаемую из различных карт текстур, для попиксельной отрисовки и раскраски объектов сцены. Поэтому надо различать пиксели как часть результирующего растра (кадра) и пиксели как составные элементы текстур объектов (тексели).

(Между прочим, не будем забывать также, что комфортность восприятия частоты смены кадров зависит от выводящего картинку устройства. Для старых ламповых мониторов нормальной считалась частота развертки в районе 80 - 100 Гц. В современных жидкокристаллических мониторах в качестве стандарта используется частота 60 Гц. Поскольку частота развертки - это количество обновлений экрана в секунду, очевидно, что наилучшее восприятие движущейся картинки будет обеспечено, если частота смены кадров кратна частоте развертки. Например, для частоты 60 кадров наибольший комфорт будет достигнут при частоте 30 и 60 кадров в секунду. Частота в 15 кадров тоже кратна 60, но она заметно ниже комфортных для глаза 24 кадров в секунду. Частота выше 60 кадров не имеет смысла, если монитор не способен ее поддерживать. Более того, любой выход за пределы кратности будет неизбежно приводить к дефектам изображения, так как какие-то кадры будут "выпадать" и не выводиться монитором. Поэтому наилучшим выходом является принудительный рендеринг с жестко заданной частотой, который в настройках видеокарты получил название "вертикальная синхронизация". Существуют и некоторые другие нюансы, связанные с технологией обновления жидкокристаллического экрана, которые снижают комфорт от просмотра даже тогда, когда видеокарта уверенно "держит планку" в 60 кадров, заведомо превышающую комфортные для глаза 24 кадра в секунду. Выражается это в том, что обновление экрана происходит не мгновенно, и предыдущий кадр как бы растворяется в последующем. При ближайшем просмотре глаз это фиксирует и воспринимает как размытость кадров. Поэтому для игровых мониторов стандарт частоты развертки увеличивается, поэтому и VR требует как минимум стабильных 90 кадров в секунду. Ведь матрица в шлеме находится очень близко от глаз и эффекты размытия чрезвычайно заметны и даже способны приводить к нежелательным последствиям, таким как головокружение, тошнота и пр.)

Вернемся к пикселям и текселям.

Texture Fillrate (2.4 GTexel/s) - количество текселей, обрабатываемых картой за 1 секунду. Надо учитывать, что количество текселей отнюдь не равно количеству пикселей на экране. Разберем простой пример. Допустим, что мы видим кадр в разрешении FullHD, ПОЛОВИНУ которого занимает стена. При этом положим, что текстура стены тоже сделана в разрешении FullHD. Означает ли это, что видеокарте надо отренедрить текстуру стены в каком-то "половинном" разрешении (т. е. FullHD/2)? Нет! Если в сцене мы наблюдаем две стены, каждая из которых занимает половину экрана и "покрыта" текстурой FullHD, видеокарта будет рендерить 2*FullHD текселей. И так со всеми объектами, а их в сцене сотни. Предположим условно, что надо отрендерить 100 объектов, для каждого из которых используется по одной текстурной карте с разрешением 1024х1024. Тогда получим 104 857 600 текселей, или округленно 0,1 GTexel (на каждый кадр). Значит, наша карта сможет обеспечить для такой сцены частоту 2.4 / 0,1 = 24 кадра в секунду. Таким образом, мы нашли верхний предел возможностей карты обеспечить более-менее комфортное восприятие движущейся картинки. Разумеется, здесь речь не идет о комфортном выводе изображения на жидкокристаллический монитор (60 кадров) или в шлем VR (90 кадров).

Проблема ограничения возможностей карты по количеству обрабатываемых текселей в секунду остроумно решается в играх с открытым миром (например, от Bethesda), где необходимо выводить на экран огромные пространства и тысячи объектов. Для человека естественно видеть то, что находится далеко, размытым и нечетким. Столь же естественно просто терять из виду мелкие объекты. Поэтому очевидным было решение скрывать удаленные мелкие объекты, а текстуры высокого разрешения заменять на текстуры низкого разрешения, что и обеспечивает возможность одновременно вывести на экран сотни объектов, уложив их обработку в некий заданный пользовательскими настройками текстур лимит Texture Fillrate. Для поддержки высокой частоты кадров при обработке вершин (выполняемой шейдерными процессорами) используется аналогичное решение - заменять геометрию удаленных объектов с детальной на упрощенную.

Из всего сказанного выше можно сделать простой практический вывод. Основные ресурсы видеокарты уходят на обработку геометрии и вычисление проекционных координат текстур и их визуализацию. Поэтому скорость отрисовки трехмерной сцены зависит не столько от разрешения результирующего кадра (см. "запас" Pixel Fillrate), сколько от количества и размера карт текстур и сложности топологии объектов. Миллионы пикселей (текселей) больших карт занимают в памяти много места (1024 * 1024 = 1 048 576 пикселей) и требуют много процессорного времени для обработки. Более частая, густая сетка каркаса объекта содержит больше вершин - следовательно, опять же больше данных для обработки.

ROPs / TMUs (4 / 4) - количество блоков растеризации / текстурирования, отвечающих за отправку просчитанных кадров в буфер видеокарты (т. е. уже в сторону вывода на экран) и их постобработку / выборку данных из памяти. Количество блоков в видеокарте влияет на ее производительность. В частности, число ROP определяет Pixel Fillrate, а от числа TMU зависит скорость выборки текстур из памяти и, соответственно, показатель Texture Fillrate . Исходя из того, что мы уже сказали про оба показателя, можно сделать вывод, что наиболее критичным является Texture Fillrate и, следовательно, количество блоков TMU.

ВМЕСТО ЗАКЛЮЧЕНИЯ

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

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

В заключение приглашаю отдать дань ретро-устройствам и полюбоваться на дизайн видеокарты, которая верно послужила нам в качестве примера (на фотографии слева).

Основные характеристики видеокарт Radeon, GeForce

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

Виды видеокарт

Видеокарта – это устройство, которое отвечает за вывод изображения на экран монитора. В современных компьютерах видеокарты бывают двух видов – дискретные (в виде отдельной, вставляемой внутрь корпуса платы) и встроенные (интегрированные, распаянные на материнской плате компьютера).

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

Интегрированные видеокарты обладают меньшей производительностью, по сравнению с дискретными. В основном, они ориентированны на офисную работу с компьютером и для игр практически не подходят. Среди интегрированных видеокарт наибольшей популярностью пользуется продукция компаний Intel, AMD (используется в гибридных процессорах A-Series), VIA, S3 и SIS.

Основные параметры видеокарт

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

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

Эта характеристика видеокарты напрямую влияет на производительность графического процессора. Ведь чем больше частота - тем больший объем информации (пикселей, вершин, и т.д.) GPU может обработать в определенный промежуток времени. То есть, одинаковый GPU работающий на частоте 950МГц, будет обладать большей производительностью, чем такой же чип, работающий на частоте 900МГц. И, скорее всего, остальные основные характеристики этих чипов будут отличаться таким же образом. Однако следует учитывать то, что в современных видеокартах все немного сложнее, и тактовая частота графического процессора - это не единственный параметр, который определяет его производительность. Помимо этого, на производительность графического чипа достаточно большое влияние также оказывает и его архитектура, а именно количество разнообразных исполнительных блоков и их характеристики.

В последних моделях графических процессоров также не редки случаи, когда тактовая частота из различных блоков может отличаться. То есть, различные блоки видеокарты могут работать на различных частотах. Это решение применяется в угоду эффективности, ведь одни блоки способны работать на более быстрой частоте, а другие - нет. Например, графический процессор может работать на частоте 600МГц, а шейдерный блок на частоте 1100МГц.

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

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

Пиксельную - демонстрирует скорость отрисовки пикселей на экране;
Текстурную демонстрирует скорость выборки данных текстуры.

Пиксельная скорость заполнения зависит от рабочей частоты GPU и количества блоков ROP (блендинга и растеризации), а текстурная - зависит от частоты GPU и количества текстурных блоков. Для того чтобы узнать пиксельную или текстурную скорость заполнения, необходимо частоту умножить на количество пиксельных или текстурных блоков видеокарты. То есть, например, для видеокарты NVIDIA GeForce GTX 275 пиксельная скорость заполнения составит 633 (частота GPU) x 28 (блоки ROP) = 17724 мегапикселей/с, а текстурная - 633 (частота GPU) x 80 (количество текстурных блоков) = 50640 мегатекселей/с.

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

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

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

Впервые это решение было применено в графическом процессоре компании ATI для консоли Xbox 360. А в графических процессорах для настольных ПК унифицированные шейдерные блоки впервые были реализованы в GeForce 8800.

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

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

Текстурные блоки (TMU)

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

Несмотря на то, что в современных архитектурах графических процессоров все больший упор производится на математические расчеты, нагрузка на текстурные блоки по прежнему остается достаточно высока. Это происходит из-за того, что помимо основных текстур необходимо производить выборки из карт нормалей и смещений, а также внеэкранных буферов рендеринга (render targer). Именно поэтому высокая текстурная производительность является одной из самых важных характеристик графических процессоров. Особенно важен этот параметр при использовании в сценах антизотропной фильтрации, сложных алгоритмов мягких теней.

Блоки блендинга и растеризации (ROP)

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

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

Блоки обработки геометрии

До недавнего времени количество этих блоков не имело большого значения, а графическому процессору достаточно часто хватало только одного блока. Важность количества этих блоков и параллельной обработки геометрии выросли с появлением поддержки тесселяции геометрии в Direct X11. Первенцем в параллельной обработке геометрических данных стала компания NVIDIA. Именно в графических процессорах GF1xx впервые появились сразу несколько этих блоков. Немногим позже аналогичное решение выпустила и компания AMD.

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

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

В современных видеокартах используется шина памяти с шириной от 64 до 384 бит. Стоит отметить, что раньше встречались модели видеокарт и с 512-битной шиной, но в современных видеокартах площадь кристалла GPU настолько мала, что физически не позволяет осуществить разводку на шину подобной ширины. Поэтому наращивание пропускной способности сейчас производится путем применения новых типов памяти.

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

Типы видеопамяти

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

GDDR3 – память, в которой применены аналогичные DDR2 технологии, но улучшены такие характеристики, как тепловыделение и энергопотребление. Благодаря этому модули этой памяти достигают больших тактовых частот по сравнению с DDR2.
GDDR4 – работает примерно вдвое быстрее GDDR3, а основные отличия между ними заключаются в повышенных тактовых частотах у GDDR4 и более низком энергопотреблении. Технически эта память представляет собой дальнейшее улучшение идей заложенных в GDDR3.
GDDR5 – работает на учетверенной тактовой частоте (до 5,5ГГц, теоретический максимум - 7ГГц), обеспечивает пропускную способность до 176ГБ/с с 256-битной шиной памяти. По сравнению с GDDR4, GDDR5 обладает вдвое меньшей площадью кристаллов и энергопотреблением, а ее производительность примерно вдвое выше.

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

Разъемы видеокарт

При выборе дискретной видеокарты, необходимо знать какой разъем для ее подключения используется на материнской платы. Сегодня, для подключения видеокарты используют в основном разъем PCI-Express (PCI-E), но все еще можно и устаревший разъем AGP. Давайте рассмотрим их немного подробнее. На сегодняшний день существует три спецификации интерфейса PCI-E.

PCI-E 1.0 – это самая старая, и наиболее медленная спецификация стандарта. Поэтому при выборе видеокарты, лучше обратить свое внимание на модели с поддержкой более поздней спецификации.

Пропускная способность PCI-E 1.0:

Основные характеристики видеокарт Radeon, GeForce

PCI-E 2.0 – более поздняя спецификация стандарта, основное отличие от предшествующей - удвоенная пропускная способность каждой линии, в каждом направлении.

Пропускная способность PCI-E 2.0:

Основные характеристики видеокарт Radeon, GeForce

PCI-E 3.0 – это самая последняя спецификация стандарта на сегодняшний день. Она была принята в ноябре 2010 года, а ее основными отличиями от предшествующей стали - измененная схема кодирования (по шине можно передать 128 бит полезной информации из 130 бит отправленной, в отличие от ранних спецификаций которые подразумевали отправку 8 бит из 10 полезной информации). Помимо этого до 8 GT/s увеличена скорость передачи данных (в PCI-E 1.0 она составляла 2.5GT/s, а в PCI-E 2.0 - 5GT/s). Благодаря этим изменениям, по сравнению с PCI-E 2.0 пропускная способность была увеличена вдвое.

Пропускная способность PCI-E 3.0:

Основные характеристики видеокарт Radeon, GeForce

Таким образом, учитывая четырехкратную разницу в производительности различных спецификаций интерфейса, при выборе видеокарты, лучше всего обратить свое внимание на модель которая поддерживает спецификации PCI-E 3.0. А учитывая что все спецификации интерфейса PCI-E имеют обратную совместимость друг с другом, даже если материнская плата вашего ПК не поддерживает более новые спецификации интерфейса, видеокарта все равно будет нормально работать, правда с меньшей производительностью.

Устаревший разъём AGP (Accelerated Graphics Port)

AGP – это 32-битная шина для видеокарт, разработанная компанией Intel. На сегодняшний день, этот интерфейс устарел, но все еще можно встретить компьютеры, в которых присутствует именно этот разъем. Шина AGP работает на частоте 66МГц.

Спецификации шины AGP:
• AGP 1x (AGP 1.0) - практически не используется, так как не обеспечивает необходимой скорости при работе с памятью в DME режиме, рабочее напряжение 3,3В;
• AGP 2x - главное отличие от 1х заключается в пересылке двух блоков данных за один рабочий такт;
• AGP 4x (AGP 2.0) - передает 4 блока данных за один такт, а пропускная способность составляет примерно 1ГБ/с, еще одно отличие от предшественников - уровень напряжения 1,5В (Вместо 3,3В у AGP 2.x);
• AGP 8x (AGP 3.0) - в передает 8 блоков данных за рабочий такт, пропускная способность составляет 2ГБ/с. Примечательным в этой спецификации было то, что в ней была заложена возможность работы двух видеокарт (аналогично режимам CrossFire или SLI), но она так и не была использована производителями.
• AGP Pro - спецификация появилась в ответ на рост энергопотребления видеокарт, так как шина AGP уже не могла справляться с возросшей мощностью (более 40 ватт), ее снабдили дополнительными разъемами питания.

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

  • Обзор ОС Android – недостатки и преимущества
    Android - это операционная система, построенная на базе ядра Linux, и предназначенная для коммуникаторов и различных
  • Прямоугольная мышь Logitech Cube – модель из будущего
    Крупные производители периферии и аксессуаров достаточно часто балуют публику интересными концептами самых различных
  • Обзор Windows 7 – что новенького
    Windows 7 - это современная операционная система от компании Microsoft, которая является большим шагом вперед по
  • Особенности Windows Phone 7
    Windows Phone 7 - это относительно новая операционная система, которая была разработана компанией Microsoft.
  • 3D BIOS - Новое, или хорошо знакомое старое
    Компания Gigabyte не так давно представила свою новую технологию «3D BIOS».

Читайте также: