DataLife Engine / Нагрузка на процессор в играх

Нагрузка на процессор в играх



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

Нагрузка на процессор в играх


 

 

Подбирая железо в игровую тачку, у пользователя не возникнет никаких проблем с выбором видеокарты, здесь все предельно просто. Чем больше у вас денег, тем лучше вы сможете приобрести графический ускоритель. Более дорогая видюха гарантированно даст вам большую производительность, а значит и большее количество кадров в любимой игре. С выбором процессора всё не так просто и очевидно. Для того, чтобы знать за что именно вы отдаете свои золотые монеты, когда покупаете кусок кремния, необходимо понимать, за что именно отвечает ЦПУ в рамках игровой нагрузки. И если опять же вернуться к графическим адаптерам, то каждый второй юзер знает, что видеокарта отвечает за качество визуальной составляющей любого игрового проекта. А за что же отвечает мой Pentium, спросите вы? Давайте разбираться.

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

Обработка пользовательских команд


С помощью посредника в лице материнской платы, процессор доставляет отсортированные по типу данные до различных комплектующих и от них же принимает определенную информацию, а затем обрабатывает её. Получается круговорот информации внутри системы, в центре которой находится тот самый кремниевый кусок. Качество и скорость любых взаимодействий пользователя с компьютером посредством устройств ввода данных зависят напрямую от производительности ЦПУ. То есть, за возможность управлять в игре персонажем с помощью нажатий на клавиатуру и передвижений мышью, можете сказать спасибо в первую очередь ЦПУ. Каждое нажатие на клавишу отправляет процессору информацию, он же ее обрабатывает и в игре происходит определенное действие. Так вот между нажатием и результатом вашего нажатия проходит n-ое количество времени, которое требуется процессору на обработку. Чем процессор производительнее, тем быстрее произойдет обработка сигнала, а соответственно задержка отклика будет минимальной. Вы можете наблюдать задержку отклика, если запустите тяжелое игровое приложение на старом процессоре. Поворачивая мышкой в игре, вы увидите, что поворот камеры произойдет через одну-две секунды после того, как вы подвинули грызуна. Это говорит о недостаточной мощности ЦПУ. На количество кадров в секунду данное событие никак не влияет, однако, на комфортность геймплея еще как. Безусловно, если вы не искушенный дорогими железяками пользователь, то можно поиграть и так, но на впечатление от игры напрямую влияет еще несколько зависящих от процессора факторов. 

Построение окружающей среды




Для того, чтобы разобраться за что отвечает процессор в игре, придется немного затронуть тему 3D моделирования. Почти все, что вы видите в игре, является моделями. Дома, персонажи, машины, оружие, деревья и так далее – все это отдельные модели. За их детализацию отвечает графический ускоритель, а вот за их построение и расстановку в пространстве относительно друг друга – процессор. То есть получается, что первым в работу включается именно ЦПУ, он собирает все необходимые данные и отправляет их видеокарте, чтобы она занялась отрисовкой и детализацией каждого объекта. Если говорить более простым языком, то диалог между двумя комплектующими будет выглядеть следующим образом:
Процессор: "Эй, пссс, подруга, я тут построил каркас нашего совместного проекта, но вот не задача, выглядит все как-то не очень, ты не могла бы мне помочь?”
Ну и видеокарта, как представительница женского рода, который очень любит красоту, не может отказать своему другу-технарю и отвечает ему: "Да, конечно, я сделаю из этого неотесанного куска камня конфетку”.
В случае если уровень вашего кусочка кремния будет сильно отставать от минимальных системных требований игры, то в игре вы будет наблюдать не полную загрузку объектов и в таком случае диалог между комплектующими уже будет выглядеть следующим образом:

Видеокарта: "Прием, ты там живой? Я уже закончила свою работу, другие указания имеются?”
На что процессор отвечает: "Подожди, я тут немного задумался и не могу понять земля должна находиться под танком или над ним…”

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


Математические алгоритмы


В любом трехмерном игровом приложении очень многие вещи работают на определенных заложенных разработчиками алгоритмах, просчётами которых занимается процессор. Самый банальный и наглядный пример практически в любой игре это отбрасываемые объектами тени. Для самого простого появления тени, скажем от дерева, процессору потребуется рассчитать расстояние от источника света до объекта, отбрасывающего тень, угол падения световых лучей, динамическое изменение объектов в пространстве, взаимодействие с другими объектами окружения, интенсивность освещения и многое многое другое. И это всего лишь для какой-то никчемной тени, на которую игрок даже не обращает внимания. Теперь представьте, сколько объектов может одновременно находится в поле зрения игрока, взаимодействуя при этом между собой. И всеми этим подсчетами должен заняться ЦПУ. И подобного рода алгоритмов в любой игре насчитывается огромное множество, которые касаются практически любого элемента геймплея. Скажем, ваш персонаж стоит на месте и бездействует. Спустя определенное время, при соблюдении огромного количества условий, ваш персонаж будет говорить одну из нескольких фраз, которая будет выбрана исходя из опять же таки выполненных условий алгоритма. И чем разнообразнее разработчики пытаются сделать свое детище, тем выше будут системные требования к железу, а в частности к процессору. Визуальную составляющую в любой игре довольно просто улучшить, просто создав более детализированные модели в паре с качественным и реалистичным освещением. Тоже самое касается и даунгрейда, когда специально ухудшают внешний вид. Такое часто можно наблюдать с портированными проектами на консоли, ведь они не отличаются высокопроизводительной начинкой. А вот для того, чтобы игра выглядела, как можно более реалистично, если можно так выразиться, создателям приложений приходится засовывать в свои проекты огромное множество математических формул. Для того, чтобы вы понимали насколько сильно процессор задействован в любой игре, приведу еще один утомительный пример. В современных играх часто встречаются так называемые NPC. NPC – это персонажи, которые не находятся под управлением игрока, и которые запрограммированы на определенные действия при появлении определенных раздражителей.

Вот на скриншоте выше NPC в виде эльфа с луком ведет ожесточенную борьбу с другим NPC в виде самого обыкновенного волка. Эльф при взаимодействии с любым враждебным NPC встает на место и начинает стрелять из лука. Если вражина приближается очень близко, то он достает кинжал и сражается в ближнем бою. При этом волк пытается сблизиться с длинноухим, но если поблизости оказывается игрок, то он в первую очередь будет атаковать ведьмака. А если ведьмак будет убегать от острозубого хищника, то волчара кинется на испуганного лучника. То есть получается, что в основу любого взаимодействия игрока с геймплейной механикой, заложено очень много "если” и "то”. И всевозможными вариантами развития событий занимается тоже процессор. Добавляйте в эту схему вышеупомянутые математические расчеты объектов окружения, и вы получите неимоверную нагрузку в виде тысячи параллельно решаемых уравнений. Получается, что чем больше в игре возможностей, тем мощнее требуется ЦПУ.

Расчеты физики


Основываясь на вышеупомянутых математических расчетах в современных играх, присутствует огромное количество объектов, которые подвержены физике игрового движка. Безусловно, она отличается от реальной физики по той простой причине, что нынешние процессоры не обладают достаточной производительностью для столь сложных расчетов. Посудите сами, когда на автомобиле в игре вы падаете с обрыва, вы летите вниз с определенной скоростью и по определенной траектории. Сталкиваясь с землей, конструкция машины изменяется определенным образом и после ДТП авто продолжает движение без усилий игрока согласно инерции. Все это и есть физика в игре. И чем более она реалистична, тем, как вы уже догадались, требуется более производительный камень. В реальной жизни исход подобного происшествия зависит от огромного количества факторов: скорость машины до слёта вниз, ускорение свободного падения, высота обрыва, материалы автомобиля, плотность поверхности и многое многое другое. На самом деле подобных переменных в условиях такого события просто не сосчитать, а потому воспроизвести такое сложное с точки зрения физики происшествие в игре невозможно. Вы просто представьте, какие усилия должны быть приложены для создания таких алгоритмов, и какая вычислительная мощность потребуется, чтобы всё это должным образом рассчитать. Поэтому в играх нашего времени существует очень сильно упрощенная система физических расчетов. 
P.S. В августе 2009 года англоязычный журнал Game Developer, посвящённый разработке компьютерных игр, опубликовал статью о современных игровых движках и их использовании. Согласно данным журнала, наиболее популярным среди разработчиков является движок nVidia PhysX, который занимает 26,8% рынка. На втором месте находится Havok, который занимает 22,7% рынка. Третье место принадлежит движку Bullet Physics Library (10,3%), а четвёртое — Open Dynamics Engine (4,1%).
Как и в случае с классическими математическими расчетами, процессор, будучи альфонсом, не брезгует помощью видеокарты и здесь, перекладывая на неё часть своих обязанностей. Например вышеупомянутый знаменитый движок от компании Nvidia – PhysX, адаптирован для ускорения физических расчетов на графических чипах с архитектурой CUDA. Но это не значит, что ЦПУ менее важен, как вы могли понять, ему реально есть чем заняться, он у нас парень вообще разносторонний и многозадачный. 

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



Откуда пошел миф про то, что играм не требуется производительный процессор?


Ноги у данного мифа появились на заре игростроения, когда игры были очень простыми и разработчики уделяли больше внимания визуальной составляющей с помощью повышенной детализации объектов. Темпы развития производительности процессоров были значительно ниже, чем у видеокарт. Миры были относительно пустые, в них было очень мало NPC, которые дай бог, имели пару реплик и оживали только при взаимодействии игрока с ними. Таких теней как сейчас не было, были, по сути, затемненные статичные текстуры. Про физику я вообще молчу, ни о какой разрушаемости не могло идти и речи. И поэтому многие стали думать, что процессор это второсортная комплектующая для игровых нагрузок, а вот высокопроизводительный графический акселератор – просто must have. Однако в современном мире огромное количество проектов движется в сторону реализма. Под реализмом причем я подразумеваю не только красивую высокодетализированную оболочку. Я говорю именно про различные мелочи, которые делают игру разнообразнее. Количество реплик у персонажей, их возможные взаимодействия между собой, рандомно генерируемые второстепенные объекты и события, реалистичные поведенческие особенности NPC и многое другое – все это ложится на плечи ЦПУ, который с каждым годом требуется все мощнее и мощнее. Ведь если наложить красивую оболочку на однобокий и простой мир, то не получится создать реалистичную вселенную.

Почему процессор важнее видеокарты?


Ответ на этот вопрос кроется в возможностях игровых настроек и кастомизаций. Игроку, как правило, предлагается широкий спектр управления графической составляющей. Тут вам и общее качество текстур, теней, рельефа, освещения и так далее. И все они в основном влияют на выработку видеокарты. Возможность снижения нагрузки на ЦПУ зачастую попросту недоступна. Именно поэтому, если у вас имеется графический ускоритель не соответствующий рекомендованным системным требованиям, то вы можете укатать картинку до того уровня, на котором значение кадров в секунду приблизиться к комфортному для вас восприятию. Но если вы ещё имеете и слабый процессор, тот тут вам практически гарантирован дискомфорт в игре из-за регулярных фризов. Поэтому я рекомендую брать процессор с небольшим запасом и делать упор в связке CPU+GPU именно на первую комплектующую. 

Да, в некоторых проектах, существуют такие возможности, как уменьшение количества окружающих вас NPC или снижение дальности прорисовки объектов, но такие настройки встречаются крайне редко, а потому процессор, на мой взгляд, является более капризной железкой, нежели видеокарта. Более того, нагрузка на железо во время игры не является статичной. В особо динамических сценах со множеством различных частиц и эффектов, вы можете столкнуться со 100% нагрузкой на процессор, что негативным образом скажется опять же таки на ваше восприятие. И количество ФПС при этом может быть заоблачным, но это не спасёт от фризов, ведь ЦПУ выжимает из себя при этом все соки.

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

Статьи по этой теме:
1. Что будет, если установить в компьютер слабый процессор и мощную видеокарту.
2. Как определить сбалансированность процессора и видеокарты персонального компьютера
17-08-2018
Вернуться назад