Update: Recent tests indicated that the situation has improved significantly, and feedback from the user base supports the results. The behavior running on the latest Cubase/Nuendo 12 and Windows 11 builds is mostly as expected. Cubase/Nuendo 13 support hybrid CPU systems officially without any limitations!
Problem
Running Cubase/Nuendo on systems with hybrid-architecture CPUs utilizing performance and efficiency cores (P-Cores/E-Cores), such as the 12th Gen Intel® Core™ Alder Lake or newer, can lead to audio dropouts and reduced performance.
Cause
Windows 11 is recommended for CPUs with hybrid-architecture. The Windows scheduling and Intel's "Thread Director" assign tasks to available cores to use as many cores as possible simultaneously. However, tests have shown that tasks which are not in focus and run in the background, such as rendering jobs, minimized windows or real-time audio tasks, could end up on the much slower E-Cores.
Workarounds
-
Disable the E-Cores in the UEFI/BIOS setup (if accessible)
Depending on the UEFI/BIOS setup, this option should be available in the advanced CPU setup.
Here's an example:
(Source: skatterbencher.com)
This way, no tasks can be moved to the E-Cores anymore. However, this is a system-wide setting, which is not always desirable. - Set the processor affinity for the application
The Windows Task Manager allows setting the processor affinity for each task separately. This way Cubase/Nuendo can be forced to run on the P-Cores offering the best performance.
There are many ways to open the Task Manager. One is to right-click on the Windows Start button in the task bar and select "Task Manager" from the context menu.
Now, switch to the "Details" view, right-click the Cubase/Nuendo.exe and select "Set affinity".
A new window opens in which the CPUs to be used can be chosen.
Here, it is important to know how many P- and E-Cores your system has. In the list above, the P-Cores come first, followed by the E-Cores. If your system uses 8 P-Cores and 8 E-Cores, the last 8 "CPUs" in the list need to be deactivated to prevent any E-Cores from being used.
The drawback of this workaround is that this has to be done every time, the application is used.
However, there is a description on how to keep this setting using a shortcut in the Microsoft Community. Use at your own risk!
Solution
We have started investigating this topic a while ago and aim to improve the situation over time.
As this issue is not limited to our applications, it is very likely that we will see further optimizations on the operating system level (especially the Thread Director) as well.