Processor Scheduling in Windows 10/8/7

Depending on the usage of your Windows 10/8/7 computer, you can configure processor scheduling, so that it gives you the best performance while using Programs or for Background Processes. You can make this adjustment easily via the Control Panel.

Processor Scheduling in Windows

To begin the process, type sysdm.cpl in Run box and hit Enter to open the System Properties. Select the Advanced tab and under Performance, click on Settings. In the Performance Options box, select the Advanced tab again. You will see a section Processor Scheduling.


There are 2 settings you can choose:

  • Adjust for best performance of Programs
  • Adjust for best performance of Background Services.

This setting changes the DWORD value of Win32PrioritySeparation under the following registry hive:


Just in case you wish to know, the PriorityControl key defines the foreground vs. background priority differential. The possible default values for Win32PrioritySeparation REG_DWORD 0, 1, or 2, with the default being  0x2.

This default value specifies the priority to give to the application running in the foreground. This application receives more process or time relative to other applications running in the background, explains TechNet.. The values here correlate to the following options in the Tasking dialog box: Value Meaning

  • 0          Foreground and background applications equally responsive
  • 1          Foreground application more responsive than background
  • 2          Best foreground application response time.

Coming back, if you have NOT changed this setting at all, and you were to open the Windows Registry, you would see Win32PrioritySeparation have a value 2. These screenshots are from my Windows 8 Pro.


Now, if via the Control Panel, as shown above, you select Adjust for best performance of Background Services and click Apply, you will find that its sets Win32PrioritySeparation to 18 (decimal 24) for Background Services.


If you now select Adjust for best performance of Programs, you will find that it sets Win32PrioritySeparation to 26 (decimal 38) for Programs.


Using this features, you can set up Windows, so that it is optimized to run programs or foreground services OR Background Services, like printing or backing up, while you work in another program, simply by adjusting Processor Scheduling. This way, Windows then knows how to distribute or allocate the available the resources, to best perform these tasks.

If you are using a desktop, you may leave the setting at its default or choose Adjust for best performance of Programs. Let us know if this results in a smoother, faster response time for your programs or foreground services.

However, if you use your PC as a Server or if you constantly have background services, such as printing or disk backup that run while you work and you want them to respond faster, you can have Windows share processor resources equally between background and foreground programs by choosing the other option, ie. Adjust for best performance of Background Services.

So you see, Windows now gives you an easy way to set Processor Scheduling. If you are an advanced user and wish to set the values manually, you many use the follow the manual way in this post on how to get best performance for programs or background services.

Posted by on , in Category Windows with Tags
Anand Khanse is the Admin of, a 10-year Microsoft MVP Awardee in Windows (2006-16) & a Windows Insider MVP. Please read the entire post & the comments first, create a System Restore Point before making any changes to your system & be careful about any 3rd-party offers while installing freeware.