Question Permanently set program to high priority? Or executeable file to start program in high priority?

Jan 27, 2020
14
0
10
0
Hi, there used to be programs that work really well to permanently set the priority for certain programs in Windows 7. However in windows 10 I can't seem to find a good one that doesn't just reset after restarting.

Does anyone know how to start Rainbow Six siege in high priority using some sort of executable? Or possibly edit the registry to force it to start in high priority?
D:\Ubisoft Game Launcher\games\Tom Clancy's Rainbow Six Siege/RainbowSix.exe
Thanks
 
Jan 27, 2020
14
0
10
0
cmd.exe /c start "Program Name" /priority "Full path of application file"
Code:
cmd.exe /c start "" /high "D:\Ubisoft Game Launcher\games\Tom Clancy's Rainbow Six Siege/RainbowSix.exe"
u can put it inside shortcut
For some reason when I do that rainbow six siege does not open in high priority
 
For some reason when I do that rainbow six siege does not open in high priority
You don't need the double quotes,you only need to put the .exe path in quotes because it has spaces.

cmd.exe /c start /high "D:\Ubisoft Game Launcher\games\Tom Clancy's Rainbow Six Siege\RainbowSix.exe"

Some games will ignore the command line,you can use process hacker which is a free tool to change the priority of a running game and then save this change so it will always execute like that even when not running.

Also online games might ban you for messing with the game executable so be warned.
 
Jan 27, 2020
14
0
10
0
You don't need the double quotes,you only need to put the .exe path in quotes because it has spaces.

cmd.exe /c start /high "D:\Ubisoft Game Launcher\games\Tom Clancy's Rainbow Six Siege\RainbowSix.exe"

Some games will ignore the command line,you can use process hacker which is a free tool to change the priority of a running game and then save this change so it will always execute like that even when not running.

Also online games might ban you for messing with the game executable so be warned.
thank you so much,sorry for late reply, I only just saw your reply, I installed process hacker but when I right click to change the priority, I cannot see a save priority option so it just changes back to original priority, do you know a solution?

Thanks
 
Jan 27, 2020
14
0
10
0
Right click on the .exe, go to priority and on the bottom there are two options one of them is "save for xxx.exe"
Yes but when I do that, under the word 'Idle', there isn't the options to select 'Save' for the processes, it simply isn't there, do I have to activate something? Or maybe I don't have the same version of the program?
 

Pinhedd

Champion
Moderator
Hi, there used to be programs that work really well to permanently set the priority for certain programs in Windows 7. However in windows 10 I can't seem to find a good one that doesn't just reset after restarting.

Does anyone know how to start Rainbow Six siege in high priority using some sort of executable? Or possibly edit the registry to force it to start in high priority?
D:\Ubisoft Game Launcher\games\Tom Clancy's Rainbow Six Siege/RainbowSix.exe
Thanks
There's no need to do this. In fact, doing so can actually hinder performance rather than help it.

Changing priority does not make anything run faster, ever

Manually setting the priority for a process simply sets the base priority for threads belonging to the process. The process may set threads to run at a higher or lower priority if desired, this is up to the programmer. However, this is done on a case-by-case basis according to the logic running on the thread in question. Threads processing I/O run at a higher priority than threads loading assets from disk in the background. If the program sets its own thread priority, the process priority has no effect.

Priority only affects one thing: which thread gets access to execution resources first

If a high priority thread and a low priority thread are both ready to run (not waiting on the system to wake them up and give them something to do) the high priority thread will be scheduled on a logical processor first, followed by the low priority thread. If two logical processors are available, both get scheduled; if only one logical processor is available, the high priority thread is scheduled and the low priority thread is placed in queue.

When multiple threads of equal priority are ready to run -- and no threads of higher priority are ready to run -- they are executed in a round-robin fashion for a set period of time. Once that period of time elapses, they get kicked off and go to the back of the line.

When a thread of higher priority becomes ready to run it will take the place of a thread of lower priority that is currently running if there's no free logical processor at that time. In other words, threads of high priority can kick out threads of low priority.

Thus, threads that are heavy on logic and computation, or are otherwise not time sensitive, are assigned low priority. Threads that are time sensitive are assigned high priority. Mucking with priorities can result in time sensitive threads not having access to the resources that they require when they need them.
 
Jan 27, 2020
14
0
10
0
There's no need to do this. In fact, doing so can actually hinder performance rather than help it.

Changing priority does not make anything run faster, ever

Manually setting the priority for a process simply sets the base priority for threads belonging to the process. The process may set threads to run at a higher or lower priority if desired, this is up to the programmer. However, this is done on a case-by-case basis according to the logic running on the thread in question. Threads processing I/O run at a higher priority than threads loading assets from disk in the background. If the program sets its own thread priority, the process priority has no effect.

Priority only affects one thing: which thread gets access to execution resources first

If a high priority thread and a low priority thread are both ready to run (not waiting on the system to wake them up and give them something to do) the high priority thread will be scheduled on a logical processor first, followed by the low priority thread. If two logical processors are available, both get scheduled; if only one logical processor is available, the high priority thread is scheduled and the low priority thread is placed in queue.

When multiple threads of equal priority are ready to run -- and no threads of higher priority are ready to run -- they are executed in a round-robin fashion for a set period of time. Once that period of time elapses, they get kicked off and go to the back of the line.

When a thread of higher priority becomes ready to run it will take the place of a thread of lower priority that is currently running if there's no free logical processor at that time. In other words, threads of high priority can kick out threads of low priority.

Thus, threads that are heavy on logic and computation, or are otherwise not time sensitive, are assigned low priority. Threads that are time sensitive are assigned high priority. Mucking with priorities can result in time sensitive threads not having access to the resources that they require when they need them.
Wow, thank you so so much for your expertise! This answer is much more than I could have hoped for, it answered my question but differently to how I would have expected! Would love to hear your knowledge more.
 

ASK THE COMMUNITY