How to give an application a high priority. About interesting things from the IT world, instructions and reviews. Changing "Performance Options"

The topic is not new, but maybe it will be useful to someone. How to start processes automatically with high or low priority without left programs and with your own hands? I'll use Windows 7 as an example, but the steps will be the same in Windows 8 and 10.

Congratulations to the contestant

This text was submitted to the writing competition that we launched in the spring. We dealt with a large number of incoming materials, summed up the results and awarded the winners. The author of this note received a prize - a three-month subscription to "Hacker". Congratulations!

First, select the program or game that we want to set priority. Let's take, for example, Google browser Chrome. Right click on the Chrome shortcut and context menu choose the location of the file.


Don't forget to check "Show file extensions". To do this, in the "Explorer" select "Organize → Folder Options → View" and uncheck "Hide extensions for known file types", click "Apply" and "OK".



Now copy the name chrome.exe by double-clicking on the name, and press Ctrl + C or select "Copy" from the context menu.



We go to the registry, for this we press Win + R and write regedit.



Press Enter, the Registry Editor will open.



Go to the path HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options . Right-click on the “Image File Execution Options” section and select “New” and “Section” from the context menu.



We name the new section chrome.exe .



If it does not work to rename the section and it is called "New Section # 1", then right-click on it and select "Rename" in the context menu.



In the same section, we create another section. Let's name it PerfOptions and create a DWORD (32 bit) parameter in it. To do this, click right click Click on the PerfOptions section and select New → DWORD Value (32-bit) from the context menu.



We set the calculation system "Decimal" and in the value we indicate the priority in the form of a number - for example, 3. Click OK.


  • 1 - Idle priority (low)
  • 5 - Priority BelowNormal (below average)
  • 8 - Normal priority (medium)
  • 6 - Priority AboveNormal (above average)
  • 3 - priority High (high)

Close the registry, launch the browser and the task manager (Ctrl + Shift + Esc, Ctrl + Alt + Delete or right-click on the taskbar and "Start Task Manager" in the context menu). In the task manager, go to the "Processes" tab and look for the chrome.exe process. Right-click on it and select "Priority" in the context menu to check if the priority you set is set.



In this way, you can optimize processes by giving high priority to the programs that you use the most, and low - to programs that are not important to you.

Competition continues

We decided to extend the competition and turn it into a permanent promotion. By sending us a description of the hack, helpful advice or the description of a cool unknown program, you can still get a subscription for a month, three months or, if you try, a year.

Good day. Today, as you understood from the title, we will talk about how speed up computer and processor using prioritization.

Many have probably heard that you can use different priorities (background, normal, high, real time, etc.) to different processes, thereby optimizing their performance and allocating more processor power (processor time) to them.

Sometimes this helped to significantly speed up the work of a particular application or the system as a whole and even (ping) (the reasons for the decrease in ping depending on processor priorities and capacities, in principle, will be explained in a separate article).

How to speed up a computer and processor in theory

However, you will agree that, say, a 3D game and a regular notepad are slightly different applications and, obviously, the game needs more processor resources in real time, because being in a three-dimensional application you hardly interact with this very notepad and it You do not need it for the time being (yes, the notepad almost does not need special processor power - there is that program then .. once or twice and no).

From here, it seems to follow logically that the priorities of different applications should be different (especially in times of multi-core then), but in practice this is far from reality.

As you already understood, I tend to suggest that full-fledged applications should be given higher priority, which will automatically significantly optimize them by injecting large computer resources.

But still, I think that you will agree that to do this every time (because the priority set in the task manager is forgotten by the system after a restart) manually is a real punishment and generally universally lazy, and therefore this process needs to be automated somehow, i.e. That is, conditionally, to speed up the computer and the processor is not entirely manual.

That's about it and will be discussed in this article.

How to speed up the computer in practice using the program

About two months ago I came across a wonderful program called Mz CPU Accelerator. What it does is that it automatically changes the processor priority of the active window or application to a pre-specified one, which, in general, is what we need, because it is this that will allow us to speed up the processor and computer.

Moreover, all this is implemented really rarely convenient, logical and does not require unnecessary gestures from the user. Plus, there is support for multiprocessing (multi-core) and the ability to run an application in a separate segment (that is, say, to allocate only two cores out of four to the program (this is closer to completely point optimization)).

Note. I don't know how I didn't stumble upon this before :)

Namely:

  • put a circle Realtime;
  • check the Load on Windows startup checkboxes (so that the program is loaded immediately at system startup);
  • Start Activated (so that the program is immediately activated, that is, so that it does not require an additional button press in order to start its duties) and..
  • Start Minimized (to be initially minimized to tray).

If you wish, you can also check Check for updates on startup (so that it is immediately checked whether the program has been updated), as well as to your taste, choose how the program will be displayed in the tray: Show Mz CPU Accelerator Icon (the icon of the program itself will be in the tray) or Shows CPU Usage (shows how busy it is) (the color of the numbers is selected from the drop-down list).

Everything, it remains only to press the Activate button and enjoy how the computer has accelerated, more precisely, the active window or application.

List of useful notes worth knowing

What else is worth knowing and understanding on this topic:

  • Note: on the Exclusions tab, you can add applications that you want to exclude from the list of optimized by the program, i.e. it will not assign any priority to them. To do this, use the Add new process button and select the program you want to exclude;
  • Note 2: on the CPU Manager tab, you can distribute processes to different cores (buttons Add new process and Run new process), i.e., say, assign some cores to one program and others to others, which in a sense can affect performance gain. Similar in principle
  • Note 3: I have not come across it myself, but I admit (albeit unlikely) that on some machines there may be problems (in the form of system slowdown) due to the choice of an excessively high priority. If so, try using the High circle instead of Realtime.

Now let's move on to the afterword.

Afterword

Here is such a thing. In general, I really liked the program, because it is really effective and allows you to speed up your computer and Windows, and, relatively speaking, the processor.

By the way, in theory, owners of multi-core processors, as well as users of firefox browser(it is processor-dependent and when realtime priority is given, it starts to fly noticeably faster (especially in a coupe)) and everyone who is somehow connected with processor-dependent full-fledged applications (I'm talking about all sorts of renders in photo, video and 3D editors).

If you have any questions, then, as always, ask in the comments to the article - I will be happy to help.

PS : Feedback on personal feelings in terms of performance gains is no less interesting than questions;)

This guide was made for Source 1, Reborn will be tested as soon as possible.

Introduction

The guide was completely updated on February 1, 2014. Most commands have not changed. If there are new - write.

Setting location

Location (screenshots)

Command list (game start)

-console- starts the game with the console turned on. More:

-novid- on startup, disables the video that plays when the game starts
-toconsole- force launch console, even if the parameter is specified +map, which forces the engine to load the map when the game starts

Command List

-override_vpk- the game will read game elements in \steamapps\common\dota 2 beta\dota to replace and load them into the game. The command is for Modifications.
The use of -override_vpk has been removed by Valve.
Instead, a slightly different command was added:
-enable_addons- allows to use allowed modifications of client resources ( Mini-map, HUD, icons and sound scripts, music scripts and flash video)
-autoconfig- Restores default graphics settings. Ignores any set configs until this option is removed
-dev- includes developer mode. Also disables automatic download background image of the menu and stops asking for confirmation to exit.
The last lines of the console will be displayed on top of the game's HUD. It is not recommended to use
-nod3d9ex * - turns off(forced) directx 9 external rendering.
-d3d9ex * - includes(forced) directx 9 external rendering.
-32bit- starts the engine in 32-bit mode. Useful for 64-bit OS only.
-full or -fullscreen- run the game in full screen mode
-windowed or -sw- starts the game in screen mode
-w **** -h**** - Launches Dota 2 with a specific screen resolution (width and height). For example: -w 1280 -h 1024
-noborder- don't show window frame and title when running the game in windowed mode
-nosound- completely disables the sound in the game
-nosync* - disables vertical sync.
+exec"cfg file name" (without quotes) - Automatically loads the CFG configuration file on startup. For example, you can execute your special config with settings.
-noaafonts* - disable true type fonts (font smoothing)
-insecure - VAC not used when starting the server
-nomaster- the server you created is not visible to other users in the Steam server list
-gl- changes the quality of the game to OpenGL, the default is SoftWare.
-heapsize"NUMBER" * - Specifies the size of the paging file (an acceptable number is 2-4 times the size of the physical random access memory) that the game will use (in kilobytes).
Calculated by the formula: (RAM / 2 * 1024). Number examples for the OP:

  • 512 MB => 262144;
  • 1 GB => 524288;
  • 2 GB => 1048576;
  • 3 GB => 1572864;
  • 4 GB => 2097152;
  • 8 GB => 4194304
-low- starts the game with LOW priority.
-high* - starts the game with HIGH priority.
-nojoy- disables the joystick in the game
-noipx- does not load IPX connections, saves memory
-noforcemspd** - use mouse speed settings from Windows;
-noforcemparms** - use mouse button settings from Windows;
-noforcemaccel** - use mouse acceleration settings from Windows;
-freq"NUMBER" or -refresh"NUMBER" * - sets screen refresh rate(recommended 60Hz for LCD monitors, 85 or 100Hz for CRT monitors)
-nocrashdialog- disables the debugger built into the game, saves some RAM. Removes the dialogue memory could not be read".
-condebug- turns on the debug mode, in which all the contents of the console will be written to a file console log

* Help with FPS optimization, but maybe not all teams (what would DotA * didn't lag*)
** Mouse acceleration in Windows

Command List (Menu Interface)

-dota_members 0- Disable background animation in the main menu (this is the only way to put old backgrounds in the menu, i.e. they will be without animation)
-dashboard international_2012- Change menu theme to International 2012
-dashboard international_2013- Change menu theme to International 2013
-dashboard frostivus_2013- Change menu theme to Frostivus 2013
-dashboard spirits_2013- Change menu theme to 3 Spirits Update
-dashboard newbloom_2014- Change menu theme to newbloom

Command list (non-working)

-international
-international2012
-halloween
-perfectworld* - Gift orb via Chinese client
-dxlevel :
-dxlevel 9 ; launch with DirectX 9.
-dxlevel 8 ; launch with DirectX 8.
-dxlevel 7 ; launch with DirectX 7.
-dxlevel 6 ; launch with DirectX 6.

* Can break the client

FAQ and problems

Save between commands (write) spaces.
- Is it possible to write multiple commands? - Can.
- Most problems with the game solved by checking the cache.
- If you still started the game with the team -perfectworld and wised up with the registration of the Chinese client, the game, etc. and at the same time, after all, Dota will look strangely necessary:

  • Check cache
  • Change the Dota language from English to another and back (in extreme cases, do the same fraud with Steam itself)
- A problem with disconnecting from the server :
  • Through the Task Manager, set the Steam.exe process for the process real time priority(at the very least, high priority)
  • Launch game from high priority (-high)
- A problem with unable to connect to the server *:
  • Set launch parameter -clientport 27015(or 27011 -20 i.e. any number from 11 before 20 )
- Infinite Dota Loading*:
  • Delete everything in a folder \Steam\userdata\ and run a cache check.
* Not 100% solution

-high: high CPU priority in your system, not cheat
-nod3d9ex: can give a small boost FPS and faster ALT-TAB
But! also this team can break the game(only stops running), and also if 1 time trying start the game with -nod3d9ex, height FPS should be preserved, and then quietly remove this command.
Try setting the mode * in full screen*, for many with * in full screen* with the nod3d9ex command enabled, the game hung or crashed, or crashed when minimized, so a way to fix this problem was invented - mode * in a frameless window*. If you don’t crash or freeze in full screen mode, leave where there is more fps, for MOST in full screen mode gives more fps.

If you set a high priority for an application, it will start working faster. I personally have a script that sets the priority of all processes to High. And you know - everything really works faster, pages open faster. True, and Chrome at the same time loads the processor even more.

So, I will now show you how to manually set a high priority program / process in Windows 10. For example, I will take .. ICQ (ICQ). ICQ is a program for communication, messenger, which was very popular before. But now it has been replaced social media, Viber, well, that's all .. and although it was very popular, and convenient, everyone had their own number, and it was possible to write to each other. Yes, and today it is possible - only few people use it now. So, okay, launch the dispatcher - right-click on the taskbar and select this item:


Then we are looking for the program that we want to set a high priority, I have it as ICQ, it is called here as ICQ (32 bits):


Right-click on it and select Details:


After that, the Details tab is automatically activated, where the program process will be highlighted, in my case it is icq.exe. Right-click on it and set the priority:


We confirm:


Everything, after that the priority of the program process will be high. I do not recommend setting real time - there may be wild brakes if the program itself freezes, and it still has real time priority .. then the whole computer may freeze tightly. To return the priority back, you do the opposite, well, I think it’s clear.

Should I prioritize the game? If at the same time you close all programs, as much as possible, then yes, it’s worth it. And the effect will be better if you also turn off the Internet and antivirus. The more you disable, the better the high priority will work. But don't put a real priority on the game, unless you have a top processor. If the top one, then you can try, but again, everything can freeze. The fact is that by setting a real priority .. you indicate that the game needs to be processed in the first place. In terms of processor instructions. Well, well, what to do with the rest of the processes, among which there are important and system ones? So they may not receive resources .. and as a result, the computer may freeze once, twice, and for the third time it won’t hang down ..

let's talk about priorities Windows processes . In most cases, there is no need to “play around” with setting priorities, but, sometimes, competent System Administrator can help the system more properly allocate CPU time between running tasks. There is no single recipe, but by "selection and enumeration" it is quite feasible. Where might it be needed? For example, in a 1C-SQL bundle, you can give more processor time to 1C and SQL, as the most resource-critical processes.

In general, you can view and change the priority of a running process through the Task Manager

WindowsNT/2000/7 /2008

In Windows 2012 it was "buried" a little deeper

As you can see from the examples above, there are only 6 priorities available to you (as it turns out later, this priority classes). Enough? Microsoft thinks so. But let's remember the "legendary" phrase of Bill Geist, who said that "640 KB of RAM will be enough for everybody". But time has shown that this is far from the case. :)

Now let's see how it really is.

There are actually 32 priority levels in Windows, from 0 to 31.

They are grouped like this:

  • 31 — 16 real time levels;
  • 15 — 1 dynamic levels;
  • 0 is a system level reserved for the zero-page thread.

When a process is created, it is assigned one of six priority classes:

  1. Real time class (value 24),
  2. High class (value 13),
  3. Above normal class (value 10),
  4. Normal class (value 8),
  5. Below normal class (value 6),
  6. or Idle class (value 4).

You can view the priority of the process, as described above, using the Task Manager.

Note: Above normal and Below normal priorities have been introduced since Windows 2000.

The priority of each thread ( base thread priority) is the sum of the priority of its process and relative priority the flow itself. There are seven relative thread priorities:

  1. Normal : same as process;
  2. Above normal : +1 process priority;
  3. Below normal : -1;
  4. Highest : +2
  5. Lowest : -2
  6. Time critical : Sets the base thread priority for the Real time class to 31, for other classes to 15.
  7. Idle : Sets the base thread priority for the Real time class to 16, for other classes to 1.

The following table shows the process priorities, relative and base thread priorities.

Thread Priority Process class Process class
Idle class Below normal class normal class Above normal class high class real time class
1 IdleIdleIdleIdleIdle
2 Lowest
3 below…
4 Idle class NormalLowest
5 Above…below…
6 Below normal class HighestNormalLowest
7 Above…below…
8 normal class HighestNormalLowest
9 Above…below…
10 Above normal class HighestNormal
11 Above…Lowest
12 Highestbelow…
13 high class Normal
14 Above…
15 Highest
15 Time criticalTime criticalTime criticalTime criticalTime critical
16 Idle
17
18
19
20
21
22 Lowest
23 below…
24 real time class Normal
25 Above…
26 Highest
27
28
29
30
31 Time critical

Now that we know all this, what can we do with it all? Well, for example, start using.

How else can a process be started with a "non-standard" priority or changed?

Method 1. Start a task/process and change the priority via the Task Manager.

Cons of the method:

  • Only 6 priorities available
  • Switching priorities is done with the mouse, not automated.

Method 2. You can use the START command with the appropriate switches

The available priority keys are as follows (I deliberately omit the keys command line teams START not related to the described process of working with priorities):

C:\>start /?
Starts a separate window to run a specified program or command.
START["title"]


LOW Start application in the IDLE priority class.
NORMAL Start application in the NORMAL priority class.
HIGH Start application in the HIGH priority class.
REALTIME Start application in the REALTIME priority class.
ABOVENORMAL Start application in the ABOVENORMAL priority class.
BELOWNORMAL Start application in the BELOWNORMAL priority class.

As you can see, the START command makes it possible to start the process with the same 6 priorities that are available through the Task Manager

Minus the method:

  • Only 6 priorities available

Method 3: Using the wmic.exe utility

As shown above, the Task Manager and the START command are rather clumsy for the task of prioritizing. Let's see how to apply this more flexibly. We will use the utility wmic.exe.

Command line:

wmic process where name="AppName" CALL setpriority ProcessIDLevel

wmic process where name="calc.exe" CALL setpriority 32768

wmic process where name="calc.exe" CALL setpriority "above normal"

Priorities (predefined):

  • idle: 64
  • below normal: 16384
  • normal: 32
  • above normal: 32768
  • high priority: 128
  • real time: 256

Retreat. What if there are several processes with the same name? The priority of a process can be changed either by the process name or by using the PID (Process ID) of the process.

Here is a short example of running wmic.exe to get the information you need

We use the command:

Note: I will not give an example of executing this command. The list of processes is too big. Do it yourself if you wish.

You will get a list of processes running on your local computer. Now run the command:

wmic process list brief | find "cmd.exe"

Result:

I specifically ran several copies of cmd.exe to make the illustration more complete.

Now the list of processes is limited to only those processes whose executable name contains the string "cmd.exe". Pay attention to the PID of the process(es).

Now let's try to select processes of interest to us using WMI directly and without resorting to standard means command line. To do this, simply write:

wmic process where description="cmd.exe" list brief

Result:

Compare your results. Take note of the PID of the CMD.EXE process.

Command line to run wmic.exe

wmic process where processid="XXXX" CALL setpriority ProcessIDLevel

Well, now we can change the priority of a particular process (for example, with PID=8476):

wmic process where processid="8476" CALL setpriority 32768

wmic process where processid="8476" CALL setpriority "above normal"