Всем привет! Сегодня поговорим о том, как заставить совершенно любую игру (или даже программу) "летать" на вашем слабом ПК. В частности, мы решим острую проблему нехватки ОЗУ (оперативной памяти), либо ее чрезмерного потребления теми или иными программами. И самое главное - характеристики вашего компьютера должны соответствовать минимальным системным требованиям игры или программы.
Давайте сразу: это не кликбейт | многие воспринимают подобные статьи в штыки | речь пойдет о скрытых системных API Windows под названием "EmptyWorkingSet" и "SetProcessWorkingSetSize" - то-есть, эти функции уже есть в вашем компьютере ,и их разработала сама компания Microsoft, но для доступа к их настройкам требуется графическая оболочка (программа, о которой сегодня пойдет речь) | утилита совершенно бесплатна, и в ней нет даже рекламы | никто не мешает вам лично убедиться в ее эффективности | это не какой-нибудь очередной "ускоритель" или "оптимизатор". Приступаем к обзору!
Когда можно и нужно использовать эту программу?
Очень часто разработчики устанавливают планку системных требований к своим программам и играм с существенным запасом, чтобы впоследствии списать плохую оптимизацию на слабое железо пользователя. Например, написано, что для комфортной игры на минимальных настройках графики для той же "Contol" от Remedy потребуется 8 ГБ ОЗУ, но если верить бенчмарку, то игра при средних настройках графики использует всего 3,5-5 ГБ памяти. При этом для средних-высоких настроек разработчики рекомендуют играть уже на ПК с 16 ГБ ОЗУ 🤷♀️ Как это работает?
Просто игра перекидывает часть своих данных в оперативную память и хранит их там, что впоследствии должно ускорить процесс загрузки. При этом, если на компьютере очень мало свободной памяти, это наоборот приводит к неминуемым тормозам. То же самое и с веб-браузерами на нетбуках, где самой слабой характеристикой является малое количество оперативной памяти. Никто и ничто не ограничивает работу программы (а конкретно в нашем случае, игры) от неконтролируемого процесса поглощения ресурсов вашего компьютера. Если написано, что рекомендуется 16 ГБ ОЗУ, то значит игра сможет зарезервировать под свои нужны от 8 до 16 ГБ памяти. А то, что самой этой памяти в какой-то момент будет не хватать на фоновую деятельность Windows | игру уже не волнует... Отсюда тормоза. Замкнутый круг.
Решение всех проблем
Сколько по вашему мнению оперативной памяти будет использовать для своих нужд веб-браузер Google Chrome или Opera если открыть, скажем, чуть больше 40 вкладок (а если быть точным, то 44, и на 2-х из них будет воспроизводиться медиаконтент | видеоролик и музыкальная трансляция с онлайн радиостанции)? 2 или 3 ГБ, как пить дать? Нет, всего лишь 50 мегабайт ОЗУ | иногда 150-180 в зависимости от того, что я делаю в браузере, но это называется динамической активностью, и как только дополнительная память больше не нужна - ресурсы снова освобождаются под нужды Windows. Почему так мало? Благодаря API "EmptyWorkingSet" и "SetProcessWorkingSetSize". Чтобы не углубляться в терминологию и дебри устройства системы Windows, я максимально простым языком постараюсь объяснить принцип работы механизма этих инструментов:
"оперативная память - это очень быстрая память, где хранятся данные, доступ к которым должен осуществляться в кратчайшее время. В момент выполнения активных действий той или иной программой или игрой ее процессу требуется X+ памяти. Если мы установим параметр "SetProcessWorkingSetSize" до значения X или даже X-, то все излишки, которые в текущий момент времени не востребованы процессом, будут выгружаться из ОЗУ. При этом выделенная ранее память + по-прежнему принадлежит процессу. Если памяти для нормального функционирования Windows и фоновой активности сторонних служб более, чем достаточно, то эти “выгруженные” данные на самом деле будут продолжать находиться в оперативной памяти, и доступ к ним по-прежнему будет мгновенный. Если же памяти мало, то Windows перенесет их в виртуальную память. То-есть, теперь сама система решает, какие данные в ОЗУ вам необходимы, а какие нет."
Программа Firemin
Как я писал ранее - это встроенный в Windows механизм, разработанный Microsoft. Чтобы получить доступ к ее настройки, нам необходимо скачать утилиту "Firemin" (ссылка, как всегда в самом конце статьи).
Интерфейс у нее максимально простой, и она переведена на русский язык. Показываю, как пользоваться. После стандартной установки запускаем ярлык программы "Firemin". Изначально, самая первая версия утилиты была предназначена для браузера Firefox, а уже потом разработчики прикрутили возможность контроля сторонних программ и игр. Поэтому, самое первое, что вас просят выбрать - это указать браузер по умолчанию. У меня это Opera GX. Теперь обратите внимание на снимок ниже 👇 (я поясню за каждый параметр настроек)
Проходим в пункт меню "Расширенные процессы" - именно здесь мы добавляем контроль за теми или иными процессами. "Firemin" работает с любыми играми, хоть пиратскими, хоть лицензионными, включая магазины Steam или Epic Games Store. Все, что от вас потребуется - это внести в список название процесса игры. Например, Red Dead Redemption 2 - это RDR2.exe и т.д.:
thunderbird.exe,sunbird.exe,seamonkey.exe,plugin-container.exe,msedge.exe,opera.exe,AvP_DX11.exe,xrEngine.exe,csgo.exe,Control.exe,RDR2.exe,starwarsjedifallenorder.exe,ds.exe,mafiadefinitiveedition.exe,HorizonZeroDawn.exe
Как правильно выбрать ограничение памяти?
- Для офисных программ и графических редакторов можете выставлять очень жесткие рамки. Для браузера Opera у меня стоит предел в 5 мегабайт ОЗУ - естественно, с таким малым количеством памяти веб-браузер работать не может, и Windows выделяет ему в среднем около 50 мегабайт памяти (как я писал ранее, уже сама система определяет минимально допустимый объем RAM для тех или иных процессов).
- Для игр, вышедших до 2020 года, можете выделять памяти аккурат под минимальные системные требования самих разработчиков (помним, что они указываются с запасом | я делаю так, запускаю игру и смотрю, сколько она съедает памяти при обычной игре, потом запускаю Firemin и убираю 1 ГБ ОЗУ, если все нормально, то повторяю процедуру, в какой-то момент Windows выделит игре чуть больше памяти, чем выделили вы - значит это и есть ее порог)
- Для новых игр лучше брать средние значения. Что-то между рекомендуемыми и минимальными. Тот же Cyberpunk 2077 лучше вообще никак ни в чем не ограничивать - игра очень требовательная к железу, и с ней итак довольно много проблем, то же самое могу сказать и про Horizon Zero Dawn | у обеих игр не все так гладко в плане оптимизации.
Ссылка на загрузку программы "Firemin" (официальный сайт): https://www.rizonesoft.com/downloads/firemin/
Очень надеюсь, что данный материал вам понравился. Всем добра! И подписывайтесь на мой канал - здесь каждую неделю выходит подобная годнота: обзоры фильмов, игр и многое другое ✌