Как сделать приоритет на игру
Как изменить приоритет процесса и как его сохранить (высокий, низкий)
Доброго времени!
Первый и самый главный вопрос, с которого следовало бы начать данную статью: зачем вообще менять приоритет и стоит ли это делать. 👀
Представьте, вот вы запускаете тяжелую игру (или редактор видео, или еще что-то. ) далеко на не самом мощном компьютере. Причем, помимо вашей игры в Windows (обычно) запущено достаточно большое количество процессов, приложений. И в определенное время они могут “забирать” часть ресурсов себе — в результате игра время от времени притормаживает.
Смена приоритета процесса же позволяет указать Windows, что запущенная игра — это первоочередная задача, которой нужно выделить все основные ресурсы (а все остальное может подождать. ) . Благодаря заданию приоритетов для самых “главных” для вас программ — можно снизить количество притормаживаний и лагов, ускорить их работу.
Т.е. тема достаточно интересна, и может быть очень полезна как для любителей игр, так и для работы с видео, фото и пр. ресурсоемкими задачами.
Теперь ближе к сути.
Работа с приоритетами.
У каждой запускаемой программы или процесса в Windows есть приоритет. Обычно, ОС Windows “сама знает” кому и что выделять, и делает это автоматически (без участия пользователя). Вообще разнообразие приоритетов не такое уж и большое:
- Idle (низкий) — программы, выполнение которых может и подождать (при выставлении данного приоритета некоторый софт может тормозить) ;
- Below Normal (ниже среднего);
- Normal (средний) — большинство программ запускаются со средним приоритетом;
- Above Normal (выше среднего);
- High (высокий);
- Real Time (реального времени) — самый высокий приоритет. При его выставлении — в первую очередь будет выполняться именно эта программа.
Отмечу, что с приоритетами High и Real Time нужно быть крайне осторожными: в некоторых случаях при выставлении оных — компьютер может зависнуть или Windows завершит работу с ошибкой.
Еще один совет : нет необходимости выставлять приоритет каждой запускаемой программе (с этим Windows хорошо справляется в авто-режиме). Как правило, есть смысл указать приоритет для 2÷5 часто-используемых приложений, которые для вас наиболее важны.
Изменение приоритета
И так, чтобы поменять приоритет работающей программы (процесса) в Windows — необходимо воспользоваться диспетчером задач . Для того, чтобы его вызвать — нажмите сочетание кнопок Ctrl+Shift+Esc (либо Ctrl+Alt+Del).
Для вызова диспетчера задач — нажмите Ctrl+Shift+Esc
Далее откройте вкладку “Подробности” (это для Windows 10, для Windows 7 — “Процессы”) и найдите в списке нужный процесс ( прим. : название программы совпадает с названием процесса) .
После, на нужном процессе кликните правой кнопкой мышки: в появившемся меню перейдите во вкладку “Задать приоритет” и укажите нужный вам.
Задание приоритета для запущенного процесса
Собственно, на этом всё! Теперь запущенная программа будет работать с новым приоритетом. При выставлении приоритета реального времени — возможно, компьютер начнет тормозить.
Сохранение приоритета с помощью настроек реестра
После перезагрузки компьютера (или при перезапуске программы) — установленный вами приоритет сбрасывается (т.е. Windows снова задает его автоматически). И это не очень удобно.
Но с помощью настроек реестра можно “сохранить” указанный вами приоритет (т.е. Windows будет “знать”, что эту программу нужно запустить с таким-то приоритетом).
Как это сделать:
- сначала необходимо открыть редактор реестра (нажмите Win+R , и введите команду regedit , нажмите OK). У кого не открылся редактор, привожу в помощь одну свою старую заметку: https://ocomp.info/sposoby-otkryit-redaktor-reestra.html
regedit — открыть редактор реестра
далее необходимо открыть следующую ветку реестра (можно просто ее скопировать и вставить в редактор): HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Options
Какую ветку в реестре нужно открыть
затем нужно узнать точное название исполняемого файла программы (игры). Для этого просто щелкните правой кнопкой мышки по ее ярлыку и перейдите в свойства . После, в разделе “Ярлык” — в строке “Объект” скопируйте название исполняемого файла;
Узнаем название исполняемого файла игры / Кликабельно
теперь в открытой ветке реестра создайте раздел (папку) с именем исполняемого файла программы (которое мы узнали в предыдущем шаге) . В моем случае — это “civilization4.exe” (без кавычек и с маленькими буквами!) ;
Создание раздела / Реестр
далее в ветке с названием игры (программы) создайте еще один раздел (папку) и назовите ее “PerfOptions” , см. пример ниже;
последний штрих: в разделе “PerfOptions” создайте параметр DWORD (32), присвойте ему имя ” CpuPriorityClass ” и задайте значение исходя из требований, в моем случае это “3” ( прим.: 1 — низкий приоритет; 5 — ниже среднего; 8 — средний; 6 — выше среднего; 3 — высокий) .
Создать параметр DWORD32
в конечном итоге получится так, как показано на скрине ниже.
Что получилось в итоге!
Кстати!
Для Windows 7 есть спец. программа Prio, позволяющая задавать (и сохранять) приоритеты для практически любых программ и процессов. Правда, в Windows 10 она не работает (поэтому выше я и привел универсальный рабочий способ для всех современных ОС Windows).
Запуск приложения с нужным приоритетом (через командную строку)
Есть еще один вариант задания приоритета приложению — речь идет о командной строке (разумеется, если создать “BAT” файл — то запуская его, можно всегда иметь программу с нужным приоритетом) .
Как это сделать:
- создать на рабочем столе (например) обычный текстовый файл;
Создать текстовый документ
Вставка строки в блокнот и сохранение
после чего сохраните текстовый файл, закройте его и переименуйте расширение: с “TXT” на “BAT” (или “CMD”). Если у вас не отображается расширение файла, ознакомьтесь вот с этой заметкой: https://ocomp.info/kak-uvidet-skryityie-faylyi-i-papki.html
Изменяем расширение блокнота с TXT на CMD
Дополнения по теме будут весьма кстати.
Управление приоритетами процессов в ОС Windows Vista и Windows 7
Приоритет процесса
Наверняка, практически все знают что такое приоритет процесса, если же нет, постараюсь кратко объяснить.
Это понятие, в определенном смысле, равно как для Windows, так и для Linux, а так же для некоторых других операционных систем.
Сейчас речь пойдет об операционных системах Windows Vista и Windows 7.
Windows Vista и Wnidows 7, впрочем, как и предыдущие версии, системы мультизадачные, т.е. могут выполнять параллельно множество программ, причем, еще и мультипоточные, но это уже отклонение, точнее, ненужное углубление в тему.
Каждая программа, запущенная в Windows, представляет из себя процесс или несколько процессов.
Под каждый процесс, при его запуске, в системе выделяется память, а так же устанавливается приоритет по умолчанию, если только в самой программе нет упоминания о приоритете, с которым необходимо её запускать.
Чем выше приоритет процесса, тем больше ему выделяется процессорного времени, чем ниже приоритет, тем меньше процессу выделяется процессорного времени.
Или если простым языком — чем выше приоритет, тем чаще и больше процессор «уделяет внимание» процессу и его операциям, а чем ниже приоритет, тем меньше «уделяет внимание».
Соответственно это сказывается на скорости выполнение той или иной программы.
Практическая польза от изменения приоритета процесса
В Windows 7 меня изначально удивлял тот факт, что по-сути чисто декоративным процессам, вроде sidebar.exe (гаджеты на рабочий стол) уделяется процессорного времени ровно столько же, как и остальным процессам.
При этом sidebar.exe сам по себе не выполняет каких-то сверх важных и сверх нужных функций. Так зачем же ему уделять столько же процессорного времени, как, например, тяжелому ресурсоёмкому приложению, вроде 3D-игры или 3D-редактора с большой сценой?
Исходя из этого вопроса я и начал, что называется, играть с приоритетами процессов.
Главное что я понял, выше приоритета Normal (Средний) пользовательским программам лучше не подниматься, ибо тогда Windows Vista/7 может начать некорректно распределять процессорное время и некоторые важные системные процессы начнут «подтормаживать».
На самый крайний случай, нужному вам пользовательскому процессу можно выставить приоритет AboveNormal (Выше среднего), но это в очень редких случаях добавляет ощутимую разницу в производительности программе.
Но при этом никто не запрещает снизить приоритет другим, мало или не столь важным процессам, дабы они не отъедали ценное процессорное время, например, у игры.
Часто такие манипуляции действительно позволяют выиграть 5-10FPS.
Автоматический запуск процесса с определенным приоритетом
Недостаток, который известен многим — при изменении приоритета через «Диспетчер задач», он сохраняется лишь до завершения процесса, потом же процесс вновь запускается с приоритетом по-умолчанию. Т.е. ваши настройки приоритетов не запоминаются.
Из-за этого в интернете появилось множество программ, которые запоминают ваш выбор приоритета, а при следующем запуске программы, меняют его за вас автоматически.
Я же изначально не поверил в то, что в Windows нет какого-нибудь инструмента для управления и запоминания приоритета процесса и начал рыть документацию на сайтах Microsoft.
Не буду разводить полемику на тему плохой документированности возможностей Windows, но я оказался прав.
Любому процессу в Windows можно вручную через реестр указать приоритет и еще некоторые свойства, с которыми он будет запускаться.
Путь к разделу реестра:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Options
Как запустить редактор реестра?
Нажмите сочетание клавиш Win+R (быстрый вызов команды «выполнить»), в появившемся окошке, в текстовой строке наберите regedit и нажмите Enter =)
Для того, что бы указать приоритет для процесса, с которым он должен сразу всегда запускаться, вам нужно в указанной выше ветке реестра создать раздел с его именем.
Далее в нем создать еще один раздел, т.е. уже подраздел с названием PerfOptions, а уже в нем создать параметр DWORD (32бита) с названием CpuPriorityClass и задать ему одно из десятичных значений — 1, 2, 3, 5, 6.
1 — приоритет Idle (низкий);
2 — приоритет Normal (средний);
3 — приоритет High (высокий);
5 — приоритет BelowNormal (ниже среднего);
6 — приоритет AboveNormal (выше среднего);
Разберем на примере sidebar.exe.
В ветке ресстра HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Options я создаю раздел sidebar.exe.
В нем создаю подраздел PerfOptions. И в этом подразделе создаю параметр DWORD (32бита) с названием CpuPriorityClass c десятичным значением 1.
Таким образом sidebar.exe теперь у меня всегда будет запускаться с низким приоритетом (Idle).
Так же все вышеописанные операции можно делать и через командную строку (cmd).
Я написал небольшой универсальный пакетный файл, который все это делает за пользователя.
Ссылка на пакетный файл: save_process_priority.cmd
В пакетном файле все пункты расписаны на русском языке. От пользователя потребуется только вводить нужное ему имя процесса и выбирать приоритет.
Для того что бы ваши настройки приоритета вступили в силу, необходимо перезапустить процесс. Если же вы внесли сразу несколько системных процессов, перезагрузите систему, так будет проще.
Это необходимо потому, что данные с реестра считываются только при загрузке и запуске программ, но не при их работе.
Вот и все, спасибо за внимание =)
Если заметили ошибку, обязательно сообщите, буду очень благодарен.
Как поставить низкий приоритет программе – инструкция
Современные операционные системы являются многозадачными, это значит, что каждому исполняющемуся процессу отводятся ресурсы процессора оперативной памяти в реальном времени и т.д.
Создаётся впечатление, что программы и утилиты работают одновременно, хотя на самом деле процессор производит переключение между задачами, выделяя очередную порцию своего процессорного времени в порядке очереди. Это происходит настолько быстро, что пользователь компьютера не успевает заметить данную особенность.
Однако если процесс той или иной программы или игры начинает потреблять большое количество ресурсов, то в системе возникает дисбаланс, возникает торможение из-за того, что процессору приходится задерживаться при обработке данного процесса (выделять свои ресурсы в большом количестве).
Естественно, другие процессы при этом страдают, им не уделяется достаточно внимания. Всё это, как говорилось выше, вызывает общее торможение всех процессов в операционной системе.
Проблема эта известная, но искоренить её появление невозможно, т.к. все программы разные – для одних необходимо минимум ресурсов, а другие же будут пытаться отобрать все имеющиеся у процессора ресурсы. К примеру, мощные фото или видео редакторы, конвертеры и т.п.
Однако избыточное потребление системных ресурсов не всегда связанно с широкими функциональными возможностями, в некоторых случаях причиной является неоптимизированность программного кода приложения или игры.
В Microsoft, создателе операционной системы Windows, знают об этом, потому внедрили систему приоритетов для работающих программ и приложений (включая игры).
Если выставить программе низкий приоритет, то при всём желании она не сможет занять все ресурсы у процессора и общая заторможенность не возникнет, система будет работать сбалансированно. И тормоза если и появятся, то только в той программе, чей приоритет был выставлен на низкий уровень.
Вы можете собственноручно поменять приоритет процессу любой работающей программе или игре. Давайте рассмотрим, как это сделать.
Устанавливаем низкий приоритет процессу программы или игры
Стоит отметить, что инструкция является универсальной. Процесс таким образом можно поменять во всех существующих версиях Windows, включая последнюю Windows 10.
- Приоритет меняется в диспетчере задач. Для его вызова следует навести курсор мышки на панель задач и нажать правую кнопку.
В выведенном меню необходимо выбрать пункт, запускающий диспетчер задач.
Открыв диспетчер задач, переключитесь в нём во вкладку Процессы и найдите процесс той программы, приоритет которой необходимо изменить.
Найдя его, кликните по нему правой клавишей мышки. В контекстном меню наведите на пункт Приоритет и из появившегося списка выберите вариант Низкий.
Появится подтверждающее окно изменения приоритета процесса – нажмите Изменить приоритет.
Теперь вы знаете, как с лёгкостью изменять процесс работающей программе или игре. Это позволит вам повысить общую стабильность системы и усмирить «прожорливые» программы, утилиты и игры.
В свою очередь, Вы тоже можете нам очень помочь.
Просто поделитесь статьей в социальных сетях с друзьями.
Поделившись результатами труда автора, вы окажете неоценимую помощь как ему самому, так и сайту в целом. Спасибо!
Источники:
https://ocomp.info/kak-izmenit-prioritet-processa.html
https://stopgame.ru/blogs/topic/21535
https://it-actual.ru/how-to-change-process-priority-on-low-variant.html