Прошли те времена, когда центральные процессоры состояли из абсолютно идентичных ядер, и современная операционная система Windows знает об этом лучше большинства пользователей. Процессор способен сообщать ОС, какие именно его ядра способны достигать наивысшей производительности. Однако во время запуска игры порой может показаться, что Windows полностью проигнорировала эти рекомендации. Это особенно интересно, когда вы стремитесь выжать каждый кадр в секунду или улучшить показатели редких и очень важных событий, известных как 1% low.

Разумеется, как и в случае с любым другим компьютерным железом, ситуация редко бывает простой. Большее количество ядер далеко не всегда автоматически означает более высокую производительность. Диспетчер задач постоянно решает, какие именно потоки процессора заслуживают определенные ядра, и эти решения могут иметь вполне измеримые последствия. Главная задача заключается в том, чтобы понять, когда именно Windows принимает правильное решение, когда ошибается и способно ли ручное вмешательство заставить игры работать быстрее, плавнее и стабильнее.
Как процессор ранжирует собственное железо
Современные чипы строятся не из одинаковых ядер. Микроскопические производственные отличия приводят к тому, что одни элементы способны развивать более высокие тактовые частоты по сравнению с другими. Компания AMD передает эту внутреннюю иерархию с помощью технологии Collaborative Processor Performance Control, или CPPC. Проще говоря, процессоры прекрасно знают, кому из их ядер посчастливилось выиграть кремниевую лотерею. Именно микропрограмма передает информацию CPPC операционной системе через интерфейс ACPI.
Эту систему лучше всего описывать как подробный разведывательный отчёт. Она сообщает Windows, какое конкретное ядро может сильнее разгоняться, а какое выглядит не столь впечатляюще. Если системе поступает особо требовательная задача, диспетчер знает, что можно задействовать определенный ресурс. В сценариях с видеоиграми это оказывается невероятно полезным, поскольку здесь один или два активных потока могут значить гораздо больше, чем десятки фоновых процессов, загружающих графики использования процессора.

Тем не менее, в конечном счете функция CPPC остается лишь рекомендацией, а не жестким бронированием. Windows прекрасно осведомлена о приоритетных ядрах, но ей все равно приходится одновременно балансировать между температурами, энергопотреблением, фоновыми нагрузками и прочими процессами на ПК. И то, как именно ОС распоряжается полученными данными, представляет наибольший интерес.

Особенности планировщика задач в Windows
Большую часть времени операционная система справляется с этой задачей скучно, но правильно. Она делает то, что и должна делать: считывает информацию о приоритетных ядрах, распределяет требовательные потоки по подходящим местам и не вмешивается без нужды. Однако если этот рейтинг оказывается некорректным, планировщик фактически начинает работать по ошибочной карте.

Аппаратный сбой в микропрограмме может сделать так, что все ядра процессора будут казаться системе одинаковыми. В результате Windows приходится распределять задачи без информации, которую она должна была получить от самого чипа. Именно по этой причине важно регулярно обновлять BIOS, так как подобные патчи исправляют загадочные проблемы с производительностью процессора. Если микропрограмма некорректно транслирует иерархию предпочтительных ядер, операционная система не способна восстановить ее самостоятельно. Она работает исключительно с поступающими данными, а мусорная информация приводит к не самым полезным решениям.

На чипах с одним кристаллом Core Complex Die (CCD) неоптимальный выбор Windows во время игровой нагрузки не является катастрофическим. Существует и другая сложность: игровые нагрузки не слишком вежливы по отношению к планировщиму. В игре один поток может выполнять львиную долю работы, в то время как десятки мелких потоков обслуживают все остальное. Windows должна решать, куда направить каждый из них в условиях постоянно меняющейся нагрузки. Из-за этого система может перенести важный игровой поток с приоритетного ядра на другое, которое в конкретный момент времени кажется планировщику более подходящим.

Разумеется, всё зависит и от используемого железа. На однокристальных процессорах вроде Ryzen 5 7600X подобные компромиссы обычно проходят незаметно. Однако на двухкристальных чипах семейства X3D ошибка может обойтись дороже, так как Windows рискует выбрать не просто неверное ядро, а ошибочный кристалл целиком. Подобные промахи планировщика сильнее всего бразят по времени кадров в играх.

Стоит ли вмешиваться в работу планировщика вручную
Главное правило здесь заключается в том, что большинству пользователей не стоит самостоятельно привязывать игры к определенным ядрам только потому, что мониторинг показывает активность ОС на непредусмотренных элементах. В большинстве случаев автоматический алгоритм работает именно так, как было задумано. Для обеспечения максимальной стабильности необходимо лишь вовремя обновлять BIOS и драйверы чипсета, а также правильно настроить игровой режим Windows Game Mode.

Ручное вмешательство и принудительное распределение affinity действительно имеют право на жизнь, но лишь в узкоспециализированных сценариях. К ним можно прибегнуть, когда автоматическое определение пропускает конкретный процесс или когда двухкристальный процессор упорно ошибается с распределением. Подобные сбои носят локальный характер и зависят от конкретных игр, поскольку некоторые проекты могут некорректно задействовать чиплеты. Планировщик в современных чипах X3D достаточно доработан, чтобы о нем не беспокоиться за исключением редких исключений.

Использование стороннего софта вроде Process Lasso для ручной настройки может дать обратный эффект. Главным побочным действием здесь становится нарушение штатного управления тепловыми нагрузками, предусмотренного в Windows. На процессорах с двумя кристаллами, где ошибки планирования отправляют игру на неверный CCD и вызывают падение производительности, ручную привязку стоит рассматривать скорее как диагностический инструмент, а не как постоянный переключатель мощности.

Если принудительное назначение игры на конкретные ядра стабильно улучшает показатели кадров на вашей системе, значит, вы получили полезную информацию. Если же разница растворяется на уровне погрешности бенчмарков, операционная система с самого начала выполняла свою работу вполне достойно. Всегда существует и риск ухудшения показателей, что явно указывает на попытку перехитрить планировщик во вред себе.

Особенности флагманских процессоров AMD
Ярким примером современного высокопроизводительного решения выступает модель AMD Ryzen 9 9950X3D. Этот флагманский процессор базируется на архитектуре Zen 5 и включает в себя 16 вычислительных ядер и 32 потока. Одной из его ключевых особенностей является наличие 144 МБ кэш-памяти благодаря технологии 3D V-Cache второго поколения от компании AMD.

Может возникнуть соблазн рассматривать каждое необъяснимое падение частоты кадров как повод открыть дополнительную утилиту и начать вручную ковыряться в настройках BIOS, распределяя ядра по собственному усмотрению. Тем не менее, если ваша система работает в штатном режиме, от попыток заменить диспетчер задач, обладающий гораздо большим объемом данных о нагрузках, будет мало пользы. Самое быстрое ядро приносит реальную пользу лишь тогда, когда все остальные компоненты системы способны эффективно с ним взаимодействовать. Единичные спорные решения со стороны Windows вовсе не означают, что пользователю следует самостоятельно назначать себя главным системным планировщиком.






