реклама
Видеокарты

Ботозависимость, или зачем 3D-играм мощный CPU

⇣ Содержание
Если вы внимательно изучили График 1, то наверняка задались вопросом – почему линии графика такие «кривые»? Тем более странно, что в некоторых случаях увеличение числа ботов приводит к повышению значения среднего FPS, хотя по логике вещей такого быть не должно, да и вообще, линии графика должны плавно и равномерно приближаться к оси Х по мере возрастания нагрузки на процессор. Однако такого не происходит. И вот почему. Во-первых, мы измеряем FPS с помощью FRAPS. Такой способ сам по себе содержит определенную погрешность. Во-вторых, время тестирования каждой сцены достаточно мало (15-20 секунд, а потом боты начинают убивать друг друга), это тоже вносит определенную погрешность. В-третьих, мы не знаем, как движутся и взаимодействуют друг с другом боты в каждом раунде, но можно утверждать, что разные раунды совершенно точно не идентичны друг другу. Казалось бы, как в таких условиях можно получить «приличные» результаты? Однако попробовать можно. Давайте построим еще один график, но вместо среднего FPS, как на Графике 1, возьмем минимальный FPS из того же файла FRAPS с именем «…minmaxavg.csv». Смотрите, что получится.
 graph2.gif
График 2
Теперь линии графиков ведут себя гораздо ближе к теории. При увеличении числа ботов в игре минимальный FPS уже не превышает предыдущих значений и графики стремятся к оси Х более плавно. Почему так получается? Давайте вспомним определение среднего FPS – это суммарное количество кадров, отрендеренных в процессе тестирования демо-сцены, поделенное на время тестирования. То есть, средний FPS есть величина интегральная. А вот минимальный FPS величина несколько другого рода, и характеризует уровень «провалов» FPS в процессе тестирования демо-сцены. В наших условиях тестирования эти «провалы» обусловлены не видеокартой, поскольку она совсем не нагружается, а загрузкой центрального процессора. Увеличивая число ботов, мы нагружаем CPU, то есть на просчет каждого кадра требуется все больше и больше времени. Таким образом, минимальный FPS как величина, обратная времени, должен уменьшаться. Именно это мы и видим на графиках. Продолжим. Для дальнейшего изложения мы воспользуемся методами, указанными в статье «Методика тестирования видеокарт 2007. Использование FRAPS». Сейчас мы продемонстрируем, как «разделяются» FPS на два типа – те, которые зависят от GPU, и те, которые зависят от CPU. Звучит ненаучно и совершенно фантастично, но это так. Давайте возьмем платформу Core 2 Duo @ 2,93 ГГц и построим диаграммы распределения FPS для разного числа ботов. Итак.
 graph3.gif
График 3
Когда число ботов равно нулю, а главный герой стоит лицом к стенке, мы видим один колокол распределения, причем весьма узкий. Так и должно быть. Поскольку ничего не происходит, видеокарта рисует столько кадров сколько может, с незначительными флюктуациями вокруг среднего значения равного 151 FPS. Увеличим число ботов до 10 штук.
 graph4.gif
График 4
Как видите, при увеличении числа ботов главный пик остается практически на том же месте, но колокол «размазывается» по оси Х. Как видно из Графика 2, заметное проседание минимального FPS на платформе Core 2 Duo @ 2,93 ГГц начинается с 14 ботов (в наших условиях тестирования). Давайте возьмем 16 ботов, так сказать – с запасом, и посмотрим на диаграмму распределения FPS.
 graph5.gif
График 5
И опять получаем главный пик на уровне 150 FPS и размазанный по оси Х спектр. Но что это, левая часть спектра отделилась от основной массы и образует отдельный «колокол»! Смею утверждать, что этот левый колокол как раз и образован из значений FPS, зависящих от производительности центрального процессора. Если предположение верно, то при увеличении нагрузки на CPU (добавлении ботов), «колокол CPU» будет смещаться влево по оси Х. Давайте проверим. Возьмем 24 бота.
 graph6.gif
График 6
Как видите, «колокол CPU» действительно смещается влево. Если взять 30 ботов и более, то такое «движение» станет еще более очевидным.
 graph7.gif
График 7
 graph8.gif
График 8
Помимо смещения влево колокола, образуемого «процессорными» FPS, на этих диаграммах прослеживается еще одна очень интересная тенденция. Во-первых, увеличивается расстояние между левой и правой частями распределения FPS, впрочем, так и должно быть. Во-вторых, правая часть распределения также несколько смещается влево. В-третьих, по мере роста нагрузки на CPU, количество FPS в правой части распределения значительно уменьшается по сравнению с количеством значений в левом «колоколе». О чем это говорит? Скорее всего, о том, что CPU настолько «поглощен работой», что не в состоянии выдать видеокарте требуемое количество «каркасов для раскраски». Подчеркнем, что такая картина распределения справедлива для всех платформ. Возможна ли такая ситуация, когда CPU будет загружен настолько, что второй (правый) колокол просто исчезнет? Возможна. И это можно продемонстрировать, если мы увеличим количество ботов для этой платформы или… возьмем другую платформу, «послабее». Давайте возьмем ту же платформу на базе Intel Core 2 Duo, но с частотой центрального процессора не 2,93 ГГц, а 1,87 ГГц. Ниже приведена диаграмма распределения FPS при количестве ботов 30 штук.
 graph9.gif
График 9
А далее приведем диаграмму для этой же платформы Intel Core 2 Duo @ 1,87 ГГц, но уже с числом ботов равным 32 штуки.
 graph10.gif
График 10
Как видите, правый колокол распределения исчез. Центральный процессор уже не позволяет продемонстрировать всю свою мощь видеокарте, которая при этом совершенно не нагружена. Означает ли это что, выражаясь разговорным языком, процессор «не тянет» видеокарту? В принципе, можно сказать и так. Но с другой стороны, с этой же видеокартой этот же самый процессор 30 ботов, выходит, тянет? На самом деле, видеокарта здесь не при чем. В данных условиях центральный процессор «не тянет» возложенную на него нагрузку, и какая бы видеокарта не присутствовала в системе, результат отличался бы не сильно (если, конечно, видеокарта не полный low-end). Теперь можно сформулировать граничный критерий недостаточной мощности CPU. Если в заданных условиях (игры или тестирования) нагрузка на видеокарту минимальна, а на диаграмме распределения FPS правый колокол распределения «исчезает», то производительность центрального процессора – недостаточна. И еще одно важное практическое следствие, обусловленное «исчезанием» правого колокола распределения. В этот момент должно наблюдаться резкое падение среднего FPS. И вот почему. Пока присутствуют оба колокола распределения, очевидно, средний FPS будет находиться между ними. Если же правый колокол исчезает, то средний FPS будет находиться примерно посередине оставшегося левого колокола. Если мы вычислим средний FPS на основе мгновенных FPS из Графиков 9 и 10, то получим, что для Графика 9 средний FPS будет равен 68, а для Графика 10 – всего 23. Как видите – трехкратный скачок в показываемой производительности при добавлении всего лишь двух «лишних» ботов, при этом от видеокарты совершенно ничего не зависит.

Заключение

Нет никаких сомнений, что данный материал вызовет неоднозначную реакцию читателей и оставит очень противоречивые впечатления. Да, по сути, это частный случай тестирования одной единственной игры. Да, условия тестирования также выглядят нереально «синтетическими» (где это видано – «играть в игру, стоя лицом к стенке»). Да, измерение FPS утилитой FRAPS вносит приличную погрешность, особенно на коротких интервалах времени и при неидентичных демо-сценах. Критерий, который был сформулирован в конце статьи, тоже достаточно трудно использовать на практике. Все это так. Тем не менее, не претендуя на микронную точность количественных измерений, мы получили весьма интересные качественные результаты о «вкладе» центрального процессора в общую производительность системы. Конечно, много вопросов осталось открытыми, но мы надеемся, что данное исследование все же будет вам интересно или, по крайней мере, даст пищу для размышлений. Обсудить на форуме

 
← Предыдущая страница
⇣ Содержание
Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.
Вечерний 3DNews
Каждый будний вечер мы рассылаем сводку новостей без белиберды и рекламы. Две минуты на чтение — и вы в курсе главных событий.
window-new
Soft
Hard
Тренды 🔥
Итоги Golden Joystick Awards 2024 — Final Fantasy VII Rebirth и Helldivers 2 забрали больше всех наград, а Black Myth: Wukong стала игрой года 2 ч.
В программу сохранения классических игр от GOG вошли S.T.A.L.K.E.R. Shadow of Chernobyl и Call of Pripyat, а Clear Sky — на подходе 3 ч.
Star Wars Outlaws вышла в Steam с крупным обновлением и дополнением про Лэндо Калриссиана 4 ч.
Рекордная скидка и PvP-режим Versus обернулись для Warhammer: Vermintide 2 полумиллионом новых игроков за неделю 5 ч.
Новый трейлер раскрыл дату выхода Mandragora — метроидвании с элементами Dark Souls и нелинейной историей от соавтора Vampire: The Masquerade — Bloodlines 6 ч.
В Японии порекомендовали добавить в завещания свои логины и пароли 8 ч.
Обновления Windows 11 больше не будут перезагружать ПК, но обычных пользователей это не касается 8 ч.
VK похвасталась успехами «VK Видео» на фоне замедления YouTube 10 ч.
GTA наоборот: полицейская песочница The Precinct с «дозой нуара 80-х» не выйдет в 2024 году 12 ч.
D-Link предложила устранить уязвимость маршрутизаторов покупкой новых 12 ч.
Представлен внешний SSD SanDisk Extreme на 8 Тбайт за $800 и скоростной SanDisk Extreme PRO с USB4 51 мин.
Представлен безбуферный SSD WD_Black SN7100 со скорость до 7250 Мбайт/с и внешний SSD WD_Black C50 для Xbox 56 мин.
Новая статья: Обзор ноутбука ASUS Zenbook S 16 (UM5606W): Ryzen AI в естественной среде 2 ч.
Redmi показала флагманский смартфон K80 Pro и объявила дату его премьеры 4 ч.
SpaceX рассказала, почему затопила ракету Super Heavy во время последнего запуска Starship 5 ч.
Астрономы впервые сфотографировали умирающую звезду за пределами нашей галактики — она выглядит не так, как ожидалось 7 ч.
Японская Hokkaido Electric Power намерена перезапустить ядерный реактор для удовлетворения потребности ЦОД в энергии 7 ч.
Грузовик «Прогресс МС-29» улетел к МКС с новогодними подарками и мандаринами для космонавтов 8 ч.
Meta планирует построить за $5 млрд кампус ЦОД в Луизиане 8 ч.
Arm задаёт новый стандарт для ПК, чтобы навязать конкуренцию x86 8 ч.