Ботозависимость, или зачем 3D-играм мощный CPU
Предисловие. Постановка вопроса.
Разговоры от том, что важнее для комфорта в 3D-играх – мощный центральный процессор или топовая видеокарта, не утихают с момента появления первых 3D-ускорителей. Конечно, в идеале хотелось бы одновременно иметь и самый производительный центральный процессор, и самую мощную видеосистему. Однако ограниченность ресурсов для покупки компьютера топовой конфигурации, а тем более скачкообразное развитие технологий CPU и GPU, оставляют массу вопросов в выборе оптимального сочетания этих двух самых важных составляющих современного компьютера.
Одни настаивают на необходимости использования мощной видеосистемы, другие говорят, что без мощного CPU тоже не обойтись. Правы и те, и другие. Дело в том, что какие-то 3D-приложения более чувствительны к производительности видеосистемы, а какие-то – к мощности центрального процессора. Если же в вышеупомянутом «споре» не указывать детально, к какому именно случаю относится приводимый пример, то этот спор рискует затянуться до бесконечности. Это как спорить о том, что лучше – яблоки или апельсины?
Первоначально, поводом написания этой статьи послужило желание определить ту минимальную грань производительности центрального процессора, которой было бы достаточно для комфортной игры в настоящий момент. Нечто подобное, отчасти, мы уже видели, когда сравнивали производительность современных AGP-видеокарт на разных платформах. Как показало то тестирование, в условиях ограниченной производительности видеосистемы мощность центрального процессора (и всей платформы в целом) не имеет решающего значения.
Отсюда и возникла мысль - а что если взять достаточно мощную видеокарту и, варьируя мощность CPU, посмотреть, как будет меняться FPS в этом случае. Собственно, этому вопросу и посвящено наше сегодняшнее исследование. К сожалению, в рамках одной статьи невозможно сравнить между собой все имеющие на данный момент платформы, поэтому мы решили остановиться на двух из них - Intel Core 2 Duo и Athlon 64 X2. Однако даже с использованием только этих двух платформ можно получить весьма интересные результаты.
Условия тестирования
Первая платформа это наш стандартный стенд:
Тестовый стенд №1
Шина
|
PCI-Express
|
CPU
|
|
MB
|
|
Memory
|
|
OS
|
WinXP + SP2 + DirectX 9.0c
|
PSU
|
Thermaltake ToughPower 750 Wt
|
Помимо тестирования на частоте 2,93 ГГц, мы также проводили тестирование на частоте CPU равной 1,87 ГГц. Это было достигнуто понижением множителя CPU с 11 до 8. В идеале, для получения полной картины процессорозависимости, следовало бы провести тесты при каждом значении множителя CPU, но это довольно трудоемкая задача. В то же время, для оценки масштабируемости результатов FPS в зависимости от частоты CPU, нам будет вполне достаточно двух указанных частот.
Вторая платформа выглядит следующим образом:
Тестовый стенд №2
Шина
|
PCI-Express
|
CPU
|
|
MB
|
|
Memory
|
|
OS
|
WinXP + SP2 + DirectX 9.0c
|
PSU
|
FSP 400 Wt
|
Помимо центрального процессора, другим существенным отличием второй платформы является использование оперативной памяти стандарта DDR-I. На первый взгляд, тестовые платформы находятся в сильно неравных условиях. Тем не менее, применение памяти стандарта DDR-I не особенно критично в 3D-приложениях, поскольку здесь не так важна абсолютная пропускная способность шины памяти, сколько малые тайминги и латентность оперативной памяти (DDR-I в этом смысле предпочтительнее DDR-II). С другой стороны, как вы далее увидите, мы постарались сделать так, чтобы вообще максимально снизить нагрузку на оперативную память.
Как и в случае с платформой Intel Core 2 Duo, для Athlon 64 X2 мы использовали две частоты CPU. Первая частота указана в описании стенда и равна 2,70 ГГц (к сожалению, разгон до более высоких частот приводил к нестабильности системы), вторая частота равна 1,89 ГГц и достигнута понижением множителя CPU с 10 до 7. Как видите, вторые, более низкие частоты для выбранных нами платформ очень близки друг к другу, поэтому мы можем сравнить эффективность центральных процессоров от Intel и AMD при практически равных условиях.
В качестве видеосистемы мы использовали видеокарту Radeon X1900XTX. По нынешним меркам это не самое топовое решение, однако вполне достаточное для наших целей. Ну а теперь расскажем о ключевых особенностях тестирования. Тестирование проводилось с помощью драйверов Catalyst 7.2.
Мы будем изучать зависимость значений FPS от степени загрузки CPU на примере игры “Counter Strike: Source”. Как вы знаете, игра использует движок Half-Life 2 и по меркам компьютерного мира уже является довольно старой. Но в этом тестировании нам и не нужна неимоверно тяжелая графика. А вот то, что игра демонстрирует довольно достоверную физику и «боты» обладают довольно продвинутым интеллектом, нам очень даже пригодится. Согласно показаниям «диспетчера задач», при запуске игры загрузка CPU на наших тестовых стендах составляла 50%, а это значит, что игра не оптимизирована для работы с многоядерными процессорами. Таким образом, «чистота» эксперимента только возрастает, поскольку системные службы Windows выполняются на одном ядре, а второе ядро целиком отводится под игру. Видеорежим, в котором мы тестировали:
Мы специально взяли разрешение 1280х1024 и максимальные установки качества изображения в игре. Это позволит загрузить видеокарту, чтобы получить горизонтальную «полочку», которая показывает, что уровень FPS ограничен производительностью видеосистемы. Но, в то же время, уровень этой «полочки» будет находиться достаточно «высоко», чтобы не скрадывать уменьшение FPS при увеличении нагрузки на центральный процессор. Объяснение выглядит несколько туманно, но, поверьте, как только мы доберемся до первого же графика, все станет на свои места.
Теперь несколько слов о методике тестирования. Суть тестирования состоит в том, что мы на локальном компьютере создаем мультиплеерную игру и постепенно увеличиваем количество ботов. То есть, увеличивается нагрузка на центральный процессор, поскольку именно он отвечает за расчет физики и искусственного интеллекта ботов. Изменение FPS (если такое случится) с увеличением количества ботов, как раз и покажет нам влияние загрузки CPU на средний FPS.
Игра создавалась на карте de_dust, ниже вы видите скриншот в точке рождения «террористов».
Средний FPS, который в этом и последующих тестах измерялся с помощью утилиты FRAPS, в этом случае находился на уровне около 110 FPS. Зависимости от платформы и частоты CPU в этом случае не наблюдалось, то есть все «упиралось» в производительность видеокарты. Как снизить влияние видеокарты? Очень просто. Ниже вы видите второй скриншот, который получен при максимальном приближении к стене.
В этом случае средний FPS сразу же подпрыгивал до уровня примерно 150 FPS, и опять же не зависел от типа платформы и частоты центрального процессора. Это значит, что уровень FPS опять определяется производительностью видеокарты. Ситуация выглядит несколько искусственной, но посмотрите, что нам это дает. «Отвернувшись» к стенке, мы сильно облегчили задачу видеокарты. Теперь ей не надо отображать множество объектов обстановки и ботов, которых мы будем постепенно добавлять. В этих условиях можно ожидать, что уровень FPS, зависящий только от видеокарты, будет оставаться неизменным, независимо от числа ботов. А это значит, что все изменения среднего значения FPS будут определяться только нагрузкой на центральный процессор.
Таким образом, методика тестирования выглядит так – в начале каждого раунда бежим до ближайшей стены в «точке рождения», упираемся в нее «лбом» и запускаем подсчет FPS с помощью FRAPS. Подсчет идет до тех пор, пока количество ботов остается таким же, как и в начале раунда. Как только хоть один из ботов погибает - останавливаем FRAPS (чтобы не искажать картину уменьшившейся нагрузкой на CPU). Затем увеличиваем количество ботов и повторяем вышеприведенные действия.
И вот что из этого получается. Мы взяли значения среднего FPS из файлов «…minmaxavg.csv» и отложили их на графике. По оси Х указано количество ботов с шагом в 2 бота (на каждом шаге добавляли по одному боту за контров и за терроров, чтобы им не скучно было). По оси Y отложены значения FPS. Линии синего цвета соответствуют платформе Intel Core 2 Duo, более светлый оттенок означает более высокую частоту CPU. Аналогично построены две линии для платформы AMD Athlon X2, но уже зеленого цвета.
График 1
Полученный график в особых комментариях не нуждается. Четко видно превосходство процессоров Intel Core 2 Duo. И спад FPS при росте числа ботов у них начинается существенно позже, и превосходство архитектуры C2D даже на равных частотах составляет порядка 1,5-2 раза по сравнению с Athlon.
На этом можно было бы и остановиться, но вы же не думаете, что все это затевалось ради одного единственного графика? На самом деле, пока мы увидели только верхушку айсберга. Данные, собранные в процессе тестирования, позволяют «копнуть» гораздо глубже и получить еще массу весьма занятных сведений. Интересно? Читаем