А что даёт это в практическом смысле?
Уменьшается загрузка ASIO. В двух словах там ситуация такая:
Есть основной поток, который находится в Baios.dll. Этот основной поток выполняет роль планировщика для остальных - запускает их, готовит задания, и так далее (да, некоторая часть собственно обработки тоже выполняется в этом потоке). Почему-то уважаемые решили, что этот поток надо принудительно запускать только на нулевом ядре. В результате есть вот такая картина:
От вертикальной серой черты до второй серой черты - это полностью обработка одного буфера. Третья вертикальная серая черта - это начало обработки следующего буфера.
Внизу - распределение по ядрам. Именно в ядре 0 выполняется поток 592 (подсвечен темносиним вверху) - это тот самый основной поток. Только время от времени он прерывается всякими системными делами - DPC и прочим, которые по умолчанию выполняются в потоке 0. В результате у него не получается вовремя готовить задания для других потоков - это черные дырки в остальных ядрах (нижний график). Т.е. другие потоки заканчивают заметно раньше ожидаемого времени, и просто простаивают, пока из основного потока им не упадет новая задача.
Если забрать у Кубейса нулевое ядро, то основной поток начинает работать на произвольных ядрах. Даже если его вытесняет кто-то, то его работа продолжится на другом ядре. Результат:
На этом примере основной поток работает сначала на ядре 2, потом 6, потом 4.
Тот же масштаб, но количество дырок резко уменьшилось. Соответственно, времени обработка того же проекта занимает меньше (сравните прошедшее время между двумя серыми чертами на первом и втором графике).
На втором примере хорошо видно, что нулевое ядро довольно сильно занято всякими процессами системными.
Самое интересное, что в audioengine.properties есть параметры, которые позволяют не привязывать к ядрам потоки обработки данных, но именно отцепить от нулевого ядра основной поток - невозможно. Только путем выставления Process Affinity Mask.