Как «на глаз» определить почему тормозит игра
Игра тормозит, а почему — не понятно. Конечно, всегда можно заглянуть в требования и узнать, какой именно компонент вашей системы мешает играть, но есть более простой способ. Дело в том, что определить слабый компонент можно «на глаз», по специфическим особенностям этих «тормозов». Достаточно знать, как каждый конкретный элемент вашего компьютера влияет на общую производительность.
Процессор и материнская плата
Процессор — наименее значительный элемент системы в этом вопросе. Не смотря на то, что процессор — сердце компьютера и казалось бы отвечает за все, конечный пользователь редко видит разницу между процессорами одного класса.
Также процессор редко становится конечной целью апгрейда. Юзер скорее купит себе новую видеокарту, еще памяти или вобще новый стул, чем процессор. Процессор меняется заодно, когда приходит время менять всю материнскую плату.
Кроме того, я никогда не слышал, чтобы кто-либо говорил, что его игра тормозит из-за слабого процессора. Роль процессора в настольной системе может быть заметна разве что в приложениях, которые интенсивно используют какие-либо вычисления. Например, при конвертировании видео или архивации. При конвертировании видео также довольно хорошо становится заметным количество ядер процессора. Конвертация на двухъядерном процессоре может занять почти в два раза меньше времени, чем на одноядерном.
Оценить то, как ведет себя система при разных процессорах, можно на ноутбуках — для этого достаточно включить энергосберегающий режим. Частота процессора понизиться для экономии энергии, что отразиться на производительности.
На материнскую плату тоже не так часто обращают внимание. Да, основа всей системы, да, связывает все другие компоненты, да, частоты шин и контроллеров напрямую влияют на производительность системы. Но практически никогда материнская плата не становится целью апгрейда, так же как почти никогда не рассматривается как причина тормозов системы.
Оперативная память
С оперативной памятью ситуация совсем другая. Любая запущенная программа хранится и хранит свои данные в оперативной памяти. Ваш браузер может занимать около 300 мегабайт в RAM после длительного серфинга. Любая современная игра также довольно интенсивно использует оперативную память, поэтому дефицит ее сразу будет заметен.
Именно объем памяти тут играет бóльшую роль, чем ее характеристики, хотя они конечно тоже важны. Программа хранит данные в памяти, но что делать, когда память заканчивается? Современные операционные системы подсовывают программе жесткий диск вместо памяти. То есть используют свободное место на жестком диске, чтобы переместить туда данные некоторых программ, которые сейчас не используются, и освободить место для более нужных. Это место на жестком диске называется файлом подкачки, swap, свопом. Если памяти совсем не хватает, то данные уже нужных программ могут быть перемещены на диск. Это особенно актуально для игр, как самых ресурсоемких приложений на компьютере.
И когда часть игровых данных находится на жестком диске, а они должны быть в оперативной памяти, начинаются тормоза. Сравните, скорость чтения с оперативной памяти у меня — около 6000 мб/с, скорость чтения с самого быстрого жесткого диска — около 100 мб/с. Разница очевидна.
Тормоза из-за недостатка оперативной памяти довольно характерны: программы долго запускаются (в игрушках долго грузятся уровни), после загрузки игра периодически замирает на несколько секунд (в это время «хрустит» жесткий диск), после чего игра возобновляется с нормальной скоростью вплоть до следующего такого момента. Именно в этот момент считываются недостающие данные из файла подкачки.
Зачастую описанная ситуация случается, например, при переходе из одной части игрового уровня в шутере, на другую часть того же уровня. В этот момент начинают использоваться данные, которые до этого не были востребованы и их не было в памяти. Поэтому игра и замирает. Данные загружаются в память и игра возобновляется вплоть до следующего изменения игровой обстановки, когда понадобятся новые данные.
В целом — чем больше памяти, тем лучше. Большее количество оперативной памяти значительно отразится на производительности компьютера. Компьютер будет включаться быстрее, программы будут загружаться быстрее. Помню, как удивился тому, насколько быстро все стало работать после того, как обновился с 512 мегабайт на 1.5 гб.
Кроме того, большее количество оперативной памяти позволяет быстрее переключаться между программами. Поскольку данные не нужно выгружать на жесткий диск, переключение между задачами, даже между играми, с помощью Alt-Tab будет происходить без проблем.
Чтобы лучше продемонстрировать то, как именно тормозят игры при нехватке памяти, я подготовил видео. Я всячески измывался над собственным компьютером. Игрой-жертвой стал Oblivion. На каждом видео я запускал одну и ту же песню, чтобы вы могли увидеть разницу.
Для начала — идеальный вариант без тормозов. Просто для сравнения:
А теперь видео, когда игре ощутимо не хватает памяти. Не спрашивайте, что мне пришлось сделать, но я оставил Обливиону около 300 мегабайт, что совсем мало для игры с минимальными требованиями в 512. Конечно на моем компьютере ситуация лучше, чем на компьютере с реальными 300 — у меня Windows могла освободить еще памяти, сбросив ненужные данные на диск, что она со временем и делала. На компьютере с 300 мб так сделать не получится.
При просмотре видео обратите внимание на то, как долго загружается игра. После загрузки игра лагает по вышеописанному принципу «потормозить, потом перестать». Это хорошо видно, в самом начале, когда я начал осматриваться вокруг. Первый раз это вызвало значительные задержки, на второй раз — быстрее. Важно знать, что если при этом стоять на месте и смотреть в ту же точку (то есть запрашивать только те данные, что есть в памяти) игра будет выдавать достаточно высокое количество кадров в секунду.
Также можно обратить внимание на прерывистость музыки иногда — это тоже из-за нехватки памяти.
Видеокарта
Видеокарта ответственна за выдачу вам красивой картинки на экран. Со временем игры становятся все более требовательными, и в настройках игры приходится уменьшать «красивость картинки». Так происходит до тех пор, пока видеокарта совсем не утрачивает возможность обеспечивать достаточный фреймрейт (частота кадров в секунду), после чего следует неминуемый апгрейд. Который зачастую тянет апгрейд всей системы.
Иногда видеокарта также обновляется из-за того, что появилась какая-нибудь новая технология, которая требуется игре, но не поддерживается вашей видеокартой. Например, шейдеры какой-нибудь там версии. Современные видеокарты пытаются стать более универсальными, но пока еще есть над чем работать.
Тормоза от видеокарты тоже довольно характерны. В отличие от тормозов из-за RAM, тормоза из-за видеокарты постоянны и не проходят. Из-за памяти игра тормозит потому, что подгружает данные. Видеокарта же просто не справляется со своей обязанностью — построением и выводом изображения на экран.
Другое дело, что сцены в играх совсем не однородны. Некоторые моменты сложнее для видеокарты, а некоторые — легче. Например, в Обливионе относительно сложно рисовать траву и деревья, а подземелья — легче. Так же сложнее рисовать взрывы или какие-нибудь другие спецэффекты с обилием света и частиц.
Для того, чтобы сымитировать слабую видеокарту, я запустил в фоновом режиме специальную тестовую утилиту, которая полностью загружает видеокарту. Все это в результате позволило получить неиграбельные FPS в игре.
Сетевое подключение
Еще одна вещь, которая может мешать нормальной игре — недостаточная скорость или большие задержки вашего сетевого подключения. Но тут реакция конкретна для каждой игры. Некоторые стратегии ждут всех пользователей, поэтому при плохом сетевом подключении у кого-нибудь из игроков, все будут ожидать самого медленного.
Для игр заточенных под мультиплеер (особенно для шутеров) плохая связь проявляется в игроках, которые магическим образом рывками перемещаются по карте.
Лаги из-за Сети довольно характерны и их сложно спутать с чем-нибудь другим.
Большинство игр дают знать, если возникают какие-то проблемы с соединением. Важное слово, которое следует тут знать — пинг (ping). В онлайн играх пинг — это время задержки между игроком и игровым сервером. Измеряется в милисекундах. Чем больше, тем естественно, хуже. Пинг в играх по локальной сети обычно около 10 мс. В играх по интернету пинг до 60-100 — очень хорошее значение, но и при 300 можно нормально играть.
P.S. Ну вот все основное, что мне пришло в голову. Тормоза в играх — такое явление, которого не избежать и которое уже давно стало элементом народного айтишного фолькльора. Энджой

