После первых игровых тестов Nvidia Geforce 9600 GT, мы довольно сильно удивились тому, насколько близки были его результаты к скорости явно более мощного Geforce 8800 GT. Мы, конечно, ожидали, что новый чип G94 будет силён и отлично сбалансирован по основным параметрам (количеству разных исполнительных блоков, ПСП и т.п.), но в первых игровых тестах Geforce 9600 GT почти догонял Geforce 8800 GT, имеющий больше и текстурных блоков TMU, и универсальных шейдерных ALU. Прирост частоты, по сравнению с видеокартой на основе чипа G92, был не таким большим, а пропускная способность видеопамяти не изменилась.
Так почему у карты на основе урезанного чипа G94 получились такие сильные результаты? Неужели почти вдвое большее количество TMU и ALU (если сравнивать чипы, то ровно вдвое, но по сравнению с Geforce 8800 GT конкретно — на 75% больше) в G92 не имеет смысла почти во всех современных играх, и скорость рендеринга в них ограничена, прежде всего, или филлрейтом (частотой блоков ROP и их количеством) или пропускной способностью видеопамяти, а может, и этих двух показателей вместе?
Конечно, часть преимущества в первых тестах G94 объяснялась разными версиями драйвера для старых решений и нового, но всё-таки среднее преимущество Geforce 8800 GT над Geforce 9600 GT в равных условиях составило лишь 15%, что значительно меньше, чем 75%. Мы решили провести исследование, определив, какие параметры больше всего влияют на производительность современных игр. Кроме того, мы давно не исследовали зависимость производительности от рабочих частот CPU и GPU, а также видеопамяти. Поэтому решили восполнить недостаток, протестировав в разных условиях видеокарту на основе чипа G92 и определив основные ограничители скорости рендеринга в современных играх. Конфигурация и настройки тестовой системы
При тестировании использовалась следующая программно-аппаратная конфигурация:
- процессор: AMD Athlon 64 X2 4600+ Socket 939;
- системная плата: Foxconn WinFast NF4SK8AA-8KRS (Nvidia nForce4 SLI);
- оперативная память: 2048 МБ DDR SDRAM PC3200;
- видеокарты: Nvidia Geforce 8800 GT 512 МБ;
- жесткий диск: Seagate Barracuda 7200.7 120 ГБ SATA;
- операционная система: Microsoft Windows Vista Home Premium;
- видеодрайвер: Nvidia ForceWare 169.21.
Использовался единственный режим видеонастроек наиболее распространенное разрешение 1280x1024 (или ближайшее к нему 1280x960 для игр без поддержки такового) с включенными мультисэмплингом с четырьмя выборками (MSAA 4x) и анизотропной фильтрацией максимально возможного уровня 16x. Все возможности включались из игровых настроек, в конфигурационной панели видеодрайвера ничего не форсировалось.
Набор игр, использовавшихся в наших тестах, включает многие современные проекты, имеющие встроенную возможность тестирования. Предпочтение отдавалось новым играм с поддержкой Direct3D 10 или новым и интересным, с точки зрения технологий 3D-графики. Полный список используемых игр: Crysis 1.2 (DX10), Call of Juarez 1.1.1.0 (DX10), S.T.A.L.K.E.R.: Shadow of Chernobyl 1.0005, Lost Planet: Extreme Condition 1.004 (DX10), МорскойОхотник DX10 benchmark (PT Boats: Knights of the Sea), Call of Duty 4 1.5 (MultiPlayer), Enemy Territory: Quake Wars (OpenGL), World in Conflict 1.006 (DX10). Дополнительно из программного обеспечения использовалась последняя версия утилиты RivaTuner, с её помощью осуществлялось изменение тактовых частот видеокарты. Результаты тестирования
Зависимость производительности от частоты CPU
Для определения зависимости скорости рендеринга от рабочей частоты центрального процессора системы, мы изменяли частоту тестового Athlon 64 X2 4600+ от 1800 до 2400 МГц с шагом в 200 МГц. Изменение частоты должно вызывать такое же изменение производительности в играх, производительность которых ограничена, прежде всего, мощностью используемого CPU. Естественно, не нужно забывать об используемом в тестах разрешении рендеринга и включенных анизотропной фильтрации и сглаживании, в других режимах всё будет иначе. А у нас получились такие цифры:
Сразу видны игровые приложения, скорость рендеринга в которых сильно зависит от мощности CPU, его тактовой частоты. Это игры Call of Duty 4, Enemy Territory: Quake Wars, демо-бенчмарк PT Boats: Knights of the Sea, а также стратегия World in Conflict. В остальных приложениях ограничение мощностью центрального процессора не такое явное, хотя оно и присутствует в той или иной степени. Так, из оставшихся проектов выделяется ещё и S.T.A.L.K.E.R., а остальные игры всегда упираются в скоростные показатели видеокарты.
Для наглядности приведем диаграмму в другом виде где за 100% частоты кадров в секунду взята производительность тестовой системы с процессором, работающим на частоте 1800 МГц. А остальные цифры выше 100% показывают относительный прирост в FPS. Выглядит это так:
Подтверждаются все ранее сделанные выводы о наиболее процессороёмких игровых приложениях. Интересно, что все игры чётко разделились на две группы: сильно зависящие от скорости CPU и не очень зависящие. При росте частоты процессора на треть (с 1800 до 2400), частота кадров игр первой группы выросла примерно на четверть, а во второй группе лишь на 5-7%.
Делаем вывод, что для половины выбранных игр мощность тестового CPU недостаточна для определения производительности видеокарт, а современные игры довольно сильно ограничены скоростными характеристиками центрального процессора системы. Хотя наиболее требовательные игры, такие как Crysis и Call of Juarez, используемые в наших материалах, отличаются сравнительно низкой требовательностью к мощности CPU, и скорость в них зависит больше от видеокарты, к исследованию параметров которой мы переходим.
Зависимость производительности от частоты видеопамяти
Масштабируемость производительности в зависимости от рабочей тактовой частоты локальной видеопамяти мы исследуем, плавно изменяя её эффективную (удвоенную для GDDR3) тактовую частоту от 1600 до 2200 МГц с шагом в 200 МГц. Такое изменение частоты видеопамяти (на самом деле, цифры получались не круглые, но близкие к ним, и разницей этой можно пренебречь) должно вызвать плавное изменение производительности в играх, производительность которых ограничивается в большей степени пропускной способностью (ПСП) видеопамяти или эффективным филлрейтом, что одно и то же в случаях ограничения производительности ПСП.
Всё это относится исключительно к тем же условиям: разрешение 1280x1024, анизотропная фильтрация максимального уровня и сглаживание MSAA 4x, ибо разрешение и уровень сглаживания сильно влияют на требовательность игровых 3D приложений к величине ПСП. Такие результаты у нас получились:
Приложения, сильно зависящие от ПСП и эффективного филлрейта, то есть частоты видеопамяти, видны невооруженным глазом. С большим отрывом впереди следует Lost Planet, а за ним следуют S.T.A.L.K.E.R. и Call of Juarez. Посмотрим то же в более удобном виде — относительной частоты кадров в разных условиях с изменяющейся частотой локальной видеопамяти, за 100% принята средняя частота кадров при частоте видеопамяти 1600 МГц:
Лидерство Lost Planet по зависимости от ПСП и филлрейта видно ещё более явно, при росте частоты видеопамяти тестовой видеокарты почти на 40%, прирост в частоте кадров в этой игре едва не достиг 20%. Все остальные игры зависят от ПСП в наших условиях (1280x1024, MSAA 4x) ещё меньше — два игровых проекта получают 10%-ное преимущество от такого прироста ПСП, ещё четыре — 4-5%, а одна игра не показывает зависимости от филлрейта и ПСП. Скорее всего, World in Conflict тоже немного зависит от скорости видеопамяти, но встроенный в игру бенчмарк не показывает десятых долей в показаниях достигнутой средней частоты кадров.
Вывод в этой секции будет простой: производительность большинства современных 3D-игр почти не зависит от тактовой частоты видеопамяти, а значит, и от показателей эффективного филлрейта и ПСП. Только малая часть проектов реально ограничена скоростью памяти, да и то — изменение ПСП не даёт соответствующего ускорения. То есть, полного упора в ПСП ни в одной использованной в тестах игре нет.
Зависимость производительности от частоты GPU
Далее, проверяем зависимость средней частоты кадров в секунду (масштабируемость) от тактовой частоты видеочипа G92, установленного на тестовой Geforce 8800 GT. Частота shader domain остаётся неизменной, её мы исследуем дальше. А тактовую частоту GPU мы изменяли от 550 до 700 МГц с шагом в 50 МГц. Точных цифр добиться невозможно по некоторым причинам, но мы выставляли наиболее близкие к указанным, эти числа не отличались более чем на 1-2%.
Такое изменение частоты видеочипа вызовет изменение производительности в тех игровых проектах, скорость рендеринга в которых ограничивается в основном не пропускной способностью видеопамяти и эффективным филлрейтом, а скоростью текстурирования (блоки TMU), растеризации и блендинга (блоки ROP), а также другими операциями (triangle setup, input assembler и т.п.), которые выполняет основная часть видеочипа. И снова напоминаем, что мы говорим исключительно о разрешении 1280x1024 с включенными анизотропной фильтрацией (что важно, так как проверяем зависимость, в том числе от производительности TMU) и сглаживанием (которое влияет на производительность блоков ROP).
Интересно, что наиболее зависящими от частоты GPU стали игры Crysis и S.T.A.L.K.E.R. Затем идут Call of Juarez, PT Boats и Lost Planet, а менее всего зависят от частоты видеочипа игры со сравнительно устаревшими движками, а также World in Conflict, который сильнее всего упирается в CPU, судя по всему. Чтобы убедиться в правильно сделанных выводах, смотрим цифры относительной производительности в более удобном виде, когда за 100% принят средний FPS при частоте GPU, равной 550 МГц:
Так и есть, первой по масштабированию в зависимости от частоты видеочипа идёт игра Crysis, лишь немного отстаёт S.T.A.L.K.E.R. В этот раз видим три группы: сильно зависящую от частоты GPU (указанные две игры), средне-зависящие Call of Juarez, Lost Planet и бенчмарк PT Boats, и слабо зависящие остальные. Интересно, что при изменении рабочей частоты чипа более чем на четверть, максимальный прирост был отмечен лишь 11-12%, а чаще всего и того меньше 3-7%.
Поэтому и вывод будет такой: для видеокарты Geforce 8800 GT в тестовом разрешении с включенными анизотропной фильтрацией и антиалиасингом, упор в производительность блоков TMU, ROP и других хоть и есть, но не такой большой, и ограничение скорости рендеринга чаще бывают вызваны производительностью CPU и пропускной способностью памяти, чем скоростью текстурирования и растеризации. Впрочем, нужно ещё проверить зависимость FPS от тактовой частоты потоковых процессоров, чем мы сейчас и займёмся.
Зависимость производительности от частоты потоковых процессоров GPU
Масштабируемость скорости рендеринга в зависимости от мощности потоковых процессоров (stream processors) мы исследуем, плавно изменяя частоту, на которой эти процессоры работают, также известную как частота shader domain, от 1400 до 1700 МГц с шагом в 100 МГц. Полностью плавного изменения частоты shader domain в данном случае также не добиться, но все реально выставленные значения были в рамках пары процентов погрешности.
Частоты от 1400 до 1700 МГц должны показать масштабируемость скорости 3D-рендеринга в играх, FPS в которых ограничивается в основном математическими расчётами в вершинных и пиксельных (теоретически и геометрических тоже, но практически в играх они применяются незначительно) шейдерах.
Картина проще, чем в прошлый раз, с частотой всего чипа целиком. В случае изменения частоты шейдерных процессоров G92, скорость рендеринга значительно меняется только в случае игры Crysis, которая действительно ограничена во многом и математическими расчётами в шейдерах (зависимость почти линейная — игре явно нужна шейдерная мощь). Все остальные игры укладываются в 5%, что хорошо видно на второй диаграмме в более удобном виде — по цифрам относительной производительности, где за 100% принята скорость рендеринга при частоте shader domain, равной 1400 МГц:
Выделить какие-то игровые проекты, кроме Crysis, не представляется возможным. Разве что можно отметить единственную OpenGL игру Enemy Territory: Quake Wars, скорость в которой почти не зависит от производительности шейдерных процессоров. Все остальные игры также почти не получили прироста от увеличения тактовой частоты шейдерных процессоров, при её росте более чем на 20%, скорость увеличивается лишь на 2-5%. Crysis тут, конечно, отличился — почти линейная зависимость и 12% прироста по максимуму. И о World in Conflict не совсем понятно из-за не очень удачного встроенного бенчмарка, выводящего только целые числа.
Вывод в данной секции будет таким: очень редкие современные игры упираются в производительность вершинных и пиксельных шейдеров, точнее, в математические вычисления в них. Чаще всего, скорость в условиях, схожих с теми, что были использованы нами, ограничена ПСП, филлрейтом, скоростью текстурирования и/или производительностью других блоков видеочипа, но не шейдерных ALU. Исключений на данный момент крайне мало.Выводы
Подведём сначала выводы отдельно по играм:
- Crysis производительность в этой игре зависит, прежде всего, от мощности видеочипа, от производительности его основных исполнительных блоков, особенно TMU и ALU. При росте частоты ALU на 21% производительность увеличилась на 12%, а при увеличении частоты всего чипа, исключая потоковые процессоры, на 27%, скорость рендеринга возрастает на 13%. Зависимость от мощности CPU и пропускной способности памяти в тестовых условиях минимальна при увеличении этих значений более чем на 30%, производительность выросла лишь на 4% в каждом случае.
- Call of Juarez эта игра отличается требовательностью к филлрейту, то есть пропускной способности видеопамяти и производительности операций с фреймбуфером, а также текстурирования. Увеличение частоты чипа на 27% приводит к росту средней частоты кадров в секунду на 8%, а при увеличении ПСП на 38%, скорость вырастает на 9%. Меньшее влияние оказывает усиление ALU, 21%-ный рост частоты shader domain привёл к ускорению на 5%. От скорости центрального процессора в наших условиях игра зависит меньше всего лишь 5% прироста при 33%-ном различии в частоте.
- S.T.A.L.K.E.R.: Shadow of Chernobyl лучше всего ускоряется при увеличении частоты видеочипа и видеопамяти, но и мощность CPU влияет на показанные в нём результаты. А скорость ALU почти неважна. При увеличении частоты GPU целиком на 27%, игра ускоряется на 11%, а увеличение ПСП на 38% даёт 10%-ное ускорение. Частота центрального процессора при росте на треть ускоряет игру лишь на 8%, а усиление ALU на 21% даёт лишь 3% прибыли к среднему FPS.
- Lost Planet: Extreme Condition отличается от всех остальных игр тем, что очень большое влияние на её скорость оказывает пропускная способность памяти, то есть эффективная скорость заполнения. Также на скорость рендеринга в Lost Planet влияет частота видеочипа, то есть производительность блоков TMU и ROP. В первом случае рост частоты памяти на 38% дал 18%-ный прирост в FPS, а во втором +27% к частоте GPU вылились в 7% дополнительных кадров в секунду. А от скорости CPU игра не зависит, при ускорении процессора на 33% скорость рендеринга в игре вырастает лишь на 1%. Частота ALU влияет на средний FPS, но не сильно — 4% при увеличении частоты потоковых процессоров на 21%.
- World in Conflict в этой игре бенчмарк абсолютно точно ограничен производительностью тестового центрального процессора, всё остальное влияет на скорость в меньшей степени, а ПСП с филлрейтом не влияют. Рост частоты CPU на 33% дал преимущество в средней частоте кадров в секунду на четверть! А ускорение как всего видеочипа на 27%, так и блоков ALU на 21%, дали лишь по 5% преимущества в скорости в каждом из случаев. О видеопамяти сказано — 0% прироста FPS.
- Call of Duty 4 продолжил список процессорозависимых игр в условиях тестовой системы, более всего его скорость зависит от частоты CPU. В меньшей степени производительность в Call of Duty 4 ограничена ПСП и скоростью текстурирования с блендингом, а в мощность универсальных процессоров игра не упирается. Итак, при росте частоты CPU на 33% средний FPS в игре возрос на 27%, увеличение частоты GPU на 27% дало 4%-ное ускорение, рост ПСП почти на 40% дал 5% преимущества, а увеличенная на 21% скорость ALU показала лишь 2% прироста.
- PT Boats: Knights of the Sea единственное пприложение, ещё не вышедшее в виде игры, также показало большую зависимость от скорости центрального процессора системы, рост его частоты на треть дал ускорение на привычные для процессорозависимых игр 25%. Также это 3D-приложение заметно зависит и от частоты GPU, скорости текстурирования и блендинга. Рост частоты видеочипа на 27% дал в наших условиях 7%-ный прирост. А от частоты локальной видеопамяти и скорости потоковых процессоров зависимость меньше: 4% в первом случае, и 3% — во втором.
- Enemy Territory: Quake Wars одинокая OpenGL игра, также показавшая упор в скорость устаревшего центрального процессора тестовой системы и почти полное отсутствие зависимости от других из изменяемых нами параметров. Увеличение частоты CPU на 33% дало результат в виде 24%-ного увеличения FPS, а со всем остальным плохо: ускорение GPU и отдельно ALU дало 3% и 1% прироста, а усиление ПСП на 38% лишь на 5% ускорило рендеринг в этой игре.
А теперь подведём общие итоги по всему набору игр:
- половина использованных игр очень сильно зависит от мощности тестового центрального процессора, большая их часть — от скорости текстурирования и блендинга (частота GPU), а также эффективного филлрейта (частота видеопамяти, её пропускная способность). А мощность потоковых процессоров (частота ALU) реально нужна в единицах даже современных игр;
- соответственно, главный вывод: двухъядерного AMD Athlon 64 X2 4600+ явно недостаточно для современных игр, так как четыре игры из восьми (то есть ровно половина) показали явный упор в скорость CPU. В связи с чем конфигурация данной тестовой системы (не путать с основной на iXBT!) будет обновлена. И на ней будет проведено несколько других полезных практических исследований, связанных с этим исследованием. Следите за свежими материалами раздела и их обновлениями;
- одно лишь увеличение количества потоковых процессоров (ALU) и их частоты в будущих архитектурах AMD и Nvidia вряд ли даст такой же прирост производительности без усиления остальных блоков (TMU, ROP и других) в большинстве нынешних игр. Для них также важно и увеличение ПСП, особенно в более жёстких условиях, чем наши тестовые в этом исследовании. Хотя в случае действительно современных игровых приложений, таких как Crysis, само по себе усиление ALU должно дать довольно сильный эффект.