CoreDirector is a free Windows application to keep specified processes from being scheduled to efficient cores (E-cores), thereby keeping them on performant cores (P-cores). This allows improved performance in demanding applications, such as gaming, audio production, video editing, and streaming.

A common challenge with heterogeneous CPUs like Intel 12th+ generation is the occasional undesirable scheduling of threads onto the efficient (E) cores, hampering their performance. This issue arises because most applications have not been, and may never be, updated to provide explicit instructions to the scheduler regarding their thread load types, leaving Windows to rely on educated guesses. But don't worry, until applications are updated to specify where their threads belong, CoreDirector has you covered!

CoreDirector has several methods of enforcement, from gently disabling Efficiency Mode on target processes, to the little stronger CPU sets, to strict CPU affinities. See the 'Options' menu to choose the method(s) of enforcement.

CoreDirector is compatible with Intel's 12th, 13th, and 14th Gen chips.

Enforcement Methods:

Efficiency Mode OFF
This method will prevent threads from being put into Efficiency Mode. This serves to prevent them from being automatically scheduled to the E-cores. However, a process can still use the E-cores if its thread count warrants such, or if it specifically chooses to.

CPU Affinities
This method will restrict all threads to the P-cores. The only exception is a process that is intentionally scheduling onto the E-cores. In that case, you can use Process Lasso with 'Forced Mode' to overcome the process's own choices.

CPU Sets
This method is somewhere in between the other two and leaves a lot of the decision to the OS.

CoreDirector will run fine alongside Process Lasso.