Видео маппинг, видео перформансы

VJ Железо

Выбор объема видеопамяти


Производительность видеокарты определяется не только мощностью GPU. Любому чипу нужны большой объем выделенной памяти и высокая пропускная способность при записи и чтении различных данных: текстур, вершин, содержимого буферов. Даже мощный видеочип можно «задушить» малым объемом видеопамяти с медленным доступом, поэтому её характеристики (а также характеристики видеочипов по работе с внешней памятью) являются одними из важнейших.

Микросхемы памяти, количество которых на некоторых экземплярах достигает уже 12 штук, обычно располагаются на плате вокруг видеочипа. В некоторых случаях для них не используется даже пассивное охлаждение, но чаще всего применяется общий кулер, а иногда и отдельные радиаторы. Вот так микросхемы памяти выглядят на GeForce 8800 GTS со снятым устройством охлаждения:

Memory

Современные видеокарты оснащаются разным объемом локальной видеопамяти, обычно от 128 Мбайт до 1024 Мбайт (1 гигабайт). Чаще всего на low-end и mid-end видеокарты ставят 256 Мбайт памяти, а на high-end уже 512 Мбайт и выше, но есть и некоторые исключения. Чем больше памяти установлено на видеокарте, тем больше данных (тех же текстур, вершин и буферов) в ней можно хранить, не используя медленный доступ к ОЗУ компьютера. Причем, больше всего места занимают текстуры, рассмотрим скриншоты из игры Call of Duty 2 с разными установками качества текстур:



В Call of Duty 2 игра сама настраивает качество текстур под имеющийся объем текстурной памяти (объем видеопамяти минус место, занятое фреймбуфером). Так, режим Extra автоматически выставится на 320-512 Мбайт видеокартах, High или Normal — на 256 Мбайт, в зависимости от настроек разрешения и уровня антиалиасинга, а Low — на 128 Мбайт. Даже если вы выставите максимальные настройки вручную, то на видеокарте с недостаточным объемом видеопамяти для хранения ресурсов будет использоваться часть системной памяти, что приведет к сильным тормозам и отсутствию комфорта и плавности в игре.

Для того чтобы было проще ориентироваться, приведем таблицу среднего использования видеопамяти некоторыми из современных 3D игр в режиме максимальных настроек, при разрешении 1024x768 и использовании антиалиасинга уровня 4x (там, где это возможно), информация взята из технологических обзоров игр.

Название игры Средний
объем занятой
видеопамяти, Мбайт
Максимальный
объем занятой
видеопамяти, Мбайт
Call of Duty 2 280-300 350
F.E.A.R. 250-270 400
Need for Speed: Most Wanted 150-160 200
Serious Sam 2 180-200 280
Tomb Raider: Legend 140-150 200
Condemned: Criminal Origins 160-180 300
Prey 190-200 280
Splinter Cell: Chaos Theory 70-80 110
Call of Juarez 240-250 400
FlatOut 2 120-130 150
Hitman: Blood Money 140-150 200
Need for Speed: Carbon 150-160 210
Среднее 180 257


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

В некоторых случаях бывает так, что указанное на коробке количество видеопамяти не равно объему установленных на плату микросхем. Такое было ранее в случае low-end видеоплат, работающих с частью системной памяти при помощи технологий TurboCache от NVIDIA и HyperMemory от ATI:

Обзор NVIDIA GeForce 6200 TurboCache 16/32MB (128MB)
Обзор ATI RADEON X300SE HyperMemory 32 (128)MB

В характеристиках видеокарт с поддержкой этих технологий, в маркетинговых целях указывался объем памяти (в т.ч. и часть ОЗУ), который может использоваться видеочипом, равный 128 Мбайт, в то время как в реальности на них установлен меньший объем — 16-32 Мбайт. Нужно внимательно читать материалы нашего сайта, чтобы не попадаться на подобные ухищрения в будущем, если они будут. А пока что можно жить спокойно, сейчас в таких видеокартах уже никто не видит смысла, их нишу заняли интегрированные чипсеты.

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

Продавцы иногда используют объем видеопамяти в качестве основной характеристики видеокарт, и это часто вводит в заблуждение простых покупателей, плохо знакомых с реальным положением дел. Сравним производительность решений с разным количеством видеопамяти на примере двух одинаковых видеокарт NVIDIA GeForce 8800 GTS, с единственным отличием — на первой установлено 320 Мбайт памяти, а на второй — 640 Мбайт. Любой продавец вам скажет, что вторая видеокарта значительно быстрее первой, кроме случаев, когда в магазине есть модели с 320 Мбайт, а другие отсутствуют (редчайшие случаи честных и одновременно компетентных продавцов мы в расчет не берем). А что же на самом деле? Смотрим цифры, полученные в двух играх:





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

Важное замечание! Речь идет об объемах памяти не менее 256 Мбайт! В этом случае, примеры, когда объем памяти сказываться на производительности, весьма редки, но если сравнивать 128 Мбайт и 256 Мбайт решения, то такие выводы не являются верными. Дело в том, что разработчики игровых приложений рассчитывают используемые в играх ресурсы так, чтобы они входили в локальную видеопамять наиболее распространенных на рынке видеокарт, он на данный момент как раз равен 256 Мбайт (в редких случаях чуть больше). И если видеопамяти меньше, то современные игры или будут тормозить, подгружая данные из оперативной памяти, или не дадут выставить максимальные настройки, а может быть, и то и другое вместе.

Еще один момент — расчетный объем видеопамяти у игровых разработчиков постоянно растет, несколько лет назад было вполне достаточно 128 Мбайт, теперь появились проекты, в которых и 256 Мбайт недостаточно. Таких пока мало, но они уже появляются (см. таблицу). Поэтому, в случае небольшой разницы в цене между видеокартами с разными объемами памяти при прочих равных условиях (частота и ширина шины), следует покупать плату с большим объемом. Но без погони за цифрами — никакой low-end карте не помогут 512 Мбайт памяти. Равно как и объем в 1 ГБ на данный момент просто не нужен. В общем, можно сказать, что для low-end и mid-end оптимальным объемом является 256 Мбайт, для high-end — 512 Мбайт или, с небольшой натяжкой — 320 Мбайт. Больший объем пока что просто очень редко используется.

Подробнее о пропускной способности памяти

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

Пиковая пропускная способность памяти рассчитывается просто — это произведение «эффективной» частоты памяти на количество данных, передаваемых за такт (ширина шины памяти). Например, для GeForce 8800 GTS с шиной 320-бит и частотой видеопамяти 800(1600) МГц, ПСП равна:

800 МГц * 2 (передача по двум фронтам) * 40 байт (перевод ширины шины в байты) = 64000 Мбайт/с = 64 Гбайт/с

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

Поэтому, при выборе между видеокартой с большим объемом видеопамяти и меньшим, нужно всегда смотреть на тактовые частоты, ширину шины и цены! Так, при большой разнице в ценах между двумя low-end решениями с 256 и 512 Мбайт памяти, нет смысла гнаться за вторым вариантом, видеокарта низкого уровня просто не получит большой прибавки в производительности от этого. Другой пример — видеокарты с разным объемом, но разными же частотами видеопамяти. Тут нужно выбирать, исходя из того, какого уровня видеокарта и насколько разные частоты, не забывая и про цену, естественно.

Например, из high-end решения с 320 Мбайт и более высокими тактовыми частотами против такой же 640 Мбайт карты со стандартными частотами и более высокой ценой, на данный момент выгоднее будет первая видеокарта, так как она обеспечит большую производительность почти во всех режимах и условиях, кроме самых высоких разрешений. Вот подтверждение:

BFG GeForce 8800 GTS Overclocked 320MB, MSI GeForce 8800 GTS OC Edition 320MB, Foxconn GeForce 8800 GTS 320MB PCI-E

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

EventCatalog.ru — всё для организации мероприятий!