I found that there are many people suggest setting the priority of one process to "Realtime" in task manager and requesting ways to make a process run in 100% CPU usage.
However, with the situation of CPU usage currently not 100% in task manager, is it useless to give a process a higher cap as all of the processes that are currently running doesn’t even exceed the capability of my CPU?
Or for example, assume program A costs 5 CPU units to run. Program A will run faster if I give it a 100 units resources instead of 50 units despite that it doesn’t use all of the resources in both situations?
2 Answers
You will want to increase priority for a process when it is possible that the process is delayed by other processes with high CPU usage.
If that process uses a low amount of CPU resources (let's say 5%), making it real-time will make no difference, generally speaking; it will still use 5%, but no other lower priority process will be able to steal that 5%.
Practically, priorities are used to reserve CPU usage.
The problem is some program will not use more CPU because they are not designed to be multi-threaded. Most programs are still single threaded, and some can use more than 1 core, but only under certain conditions.
Some of this is because the program is not written to take advantage of more than a single core. Sometimes, a task can not be made to use multiple cores because you have to wait for part 1 to complete before part 2 starts.
In some cases a program can be re-written to support multi-threading, but it will probably take a lot of time and money so good luck convincing the developer to do it. Unless of course you had him a blank check, and pay for it.