In this post, Ajinkya from DevsJournal shares details on what different CPU priority settings in Windows mean.
Users are often curious about optimizing the speed of their PCs to personally match their needs. Is it possible? The short answer is yes! But it can be done to a certain limit. Exceeding the predetermined performance threshold of the PC can potentially crash all running programs.
In every Windows version, the apps run on a normal priority level with a defined speed to deliver the user a smooth processing speed for all applications. This means the execution of the processes will be considered normal, and the CPU performs at its usual speed. Modern windows allegedly share your personal computer’s CPU resources between running apps. The higher the priority level to prefer foreground applications, the more resources are allocated to the user processes.
There are essentially six priority levels available to processes in Windows:
- Above normal
- Below normal
Real-time is the highest priority class available to a process. When your CPU is not responding the way you want, you might want to switch the priority levels to high or real-time. Although, to use the ‘above normal’ or ‘real-time’ priority levels, the user needs administrator rights.
However, setting a process priority to real-time might prove to be risky at times. The problem is there are critical system threads that run with a lower priority, and it could starve them of CPU time. In such a situation, the user might experience issues.
Windows provides a scheduling algorithm. If only one thread in the system wants to use the CPU time, the priority matters the least. It achieves 100% of the CPU time. It is not as if the scheduler “holds back” a portion of the CPU’s ability when a low priority thread is running, just if something of higher priority comes along.
Alternatively, if two threads with same priorities want to use the CPU simultaneously, then factors like ‘time slicing’ and over time come into play. each of the active threads receive roughly 50% of the CPU time. Whereas if they’re of different priorities then the higher-priority thread receives 100% and the lower gets nothing.
The User must have a valid reason to set any priority. For example, if you have some CPU-hogging task like any big application running, and it’s slowing down your use of the system while it’s running. Lowering the priority of the task can substantially reduce any potential interference with other programs.
Let us consider an example for better understanding. If you’re currently running a high-weightage application like adobe after effects, it might attract higher priority levels than other threads. It will use all the CPU time, and the browser will get what’s left over and run slowly.
If both tasks are manually allocated the same priorities, the functioning of both active threads is likely to be fluent and smooth. Allocate the intensive task a lower priority and it will barely take the CPU time left over, speeding up the browser.
The User must know when to change the priority.
The CPU shares its processing time with all running processes. It works uniformly and shares intelligently, so it is obvious the program with more work gets a bigger share of the resources. Mostly, when everything is working normally, changing their priorities won’t make a difference.
When several computationally intensive programs are working together simultaneously, processing time may be “over-subscribed.” You may notice that other programs run slower than usual because there is not enough processing time to share between all of them.
In such cases, reordering the priority of processes can be helpful. You could lower the priority of one of the computationally intensive processes to free up more processing time for other programs. Alternatively, you could increase the priority of a more important process to you and that you want to run faster.
Some crucial points to remember while setting priority
- For frequent changes for any app, install priority tools on your computer.
- Reordering the priority in the Task Manager can sometimes do more harm than good, as it may not leave enough CPU power for other processes on your system. You would be better off if you upgrade your system to support the demanding application’s user wants to use.
- If a user wants to improve CPU allocation for a game or any other application, set the game on High priority and make sure no other process is running at chief priority.
- Although the user can change the priorities according to the need, the priority is on-site permanently. Once you restart your system, Windows forgets your custom priorities and assigns the default process priority.
- As of now, you get to know how to change the CPU priority level in Windows. It isn’t a difficult task to do, but you must have a reason to do the same. Or else, maintain it as it is.
- Executing a process, a more absolute priority won’t make it work faster. Your programs will never use more CPU time than they need because it is limited 100%. Real-time or high in windows is just a priority setting, it can “boost” your application or game, but not as much as you think. Setting the priority to “High” seems okay in case of playing a game and don’t listen to music at the same time or handle no other application because then the CPU might get busy again and a problem might occur.