Процессоры и память

Как старая Windows 10 портит жизнь новому Core i9-12900K и почему Windows 11 лучше

⇣ Содержание

Появление семейства Alder Lake встряхнуло весь процессорный мир, изголодавшийся по реальной конкуренции. Новые чипы стали лучше предшественников по всем статьям: они перешли на современный техпроцесс, получили заметные микроархитектурные усовершенствования, нарастили число вычислительных ядер и даже получили улучшения, связанные с теплоотводом. Но это далеко не всё. Вместе с удвоением количества вычислительных ядер и рывком в производительности Alder Lake принесли с собой огромное количество новых особенностей, подробно разбираться с которыми нам придётся ещё долго. Вычислительные ядра двух типов и гибридное строение, поддержка DDR5 и PCIe 5.0 – это лишь первые строки в перечне нововведений, по каждому пункту которого нужно провести отдельное исследование. И такие исследования мы непременно будем делать, однако начать изучение нюансов применения новой платформы Intel хотелось бы с несколько другой стороны – не аппаратной, а программной.

Первоначальное тестирование старшего представителя в семействе Alder Lake, процессора Core i9-12900K, было проведено нами в новой операционной системе Windows 11. На первый взгляд это логичный выбор – многие пользователи с обновлением аппаратной платформы наверняка захотят освежить и программную среду: Windows 11, как и Alder Lake, вполне можно отнести к числу горячих новинок этой осени. К тому же к использованию новой операционной системы прямо подталкивает и Intel, говоря об особых оптимизациях в работе планировщика. По риторике компании можно даже предположить, что Windows 11 – чуть ли не необходимое условие применения Alder Lake, поскольку только в этой операционной системе обещана поддержка технологии Thread Director, гарантирующей корректное распределение потоков по разнотипным процессорным ядрам.

Однако есть и другая позиция. По статистике Steam, операционная система Windows 11 в настоящее время используется менее чем в 2 % игровых систем, в то время как большинство геймеров отдают предпочтение Windows 10 – её доля составляет чуть менее 90 %. То есть переход на новую ОС лишь начинается, и его скорость пока не только не позволяет делать какие-то прогнозы относительно её массового принятия, но и даёт твёрдую уверенность, что компьютеры на базе Alder Lake в реальном мире будут чаще работать под Windows 10.

Поэтому ограничиться испытаниями Core i9-12900K исключительно в Windows 11 было бы неверно, и проверку его производительности нужно повторить и в Windows 10. Тем более что результаты тестов в этом случае наверняка будут отличаться. И это касается не только Alder Lake, с гибридными особенностями которых планировщик Windows 10 знаком гораздо хуже, чем планировщик Windows 11. Очевидно, что и процессоры AMD работают в разных версиях ОС вовсе не одинаково, тем более что отношения Ryzen с Windows 11 не заладились с самого начала. За примерами далеко ходить не надо. За прошедшие с момента выхода Windows 11 пару месяцев инженерам AMD и Microsoft пришлось в спешном порядке исправлять как минимум две неприятности с Ryzen – замедленную работу L3-кеша и некорректный выбор планировщиком предпочтительного ядра для однопоточных нагрузок. Естественно, нет никаких гарантий, что эти проблемы были единственными, и это тоже может обуславливать различия в относительной производительности CPU в Windows 11.

Впрочем, центральный вопрос, которому в этой статье будет уделено наибольшее внимание, всё-таки касается совместимости Alder Lake и Windows 10. Из того, что мы узнали про технологию Thread Director непосредственно перед анонсом процессоров Core 12-го поколения, следовало, что работают они в новой ОС совсем не так, как в старой, и из-за этого в Windows 10 можно ожидать разного рода накладок как с производительностью, так и с неработоспособностью различных программ (в первую очередь игр). Поэтому основной сюжетной линией дальнейшего рассказа станет практическое сравнение работы Core i9-12900K в Windows 10 и Windows 11.

#Ещё раз о Thread Director

Принципиальное преимущество Windows 11 перед Windows 10 с точки зрения процессоров Alder Lake заключается в том, что новая ОС знакома с технологией Thread Director, и её планировщик использует возможности данной технологии для распределения нагрузки по процессорным ядрам, в том числе разнотипным. Говоря простым языком, в Windows 10 работа планировщика с разнотипными ядрами строится исключительно на основании данных об их производительности, в то время как в Windows 11 всё происходит хитрее. В ней планировщик не только различает ядра по быстродействию, но и получает от процессора обратную связь – интерактивную информацию о типах исполняемого кода и сведения о состоянии, текущих температурах и энергопотреблении ядер.

На низком уровне Thread Director представляет собой встроенный в Alder Lake микроконтроллер, который с наносекундной дискретностью собирает данные о функционировании процессорных ядер, анализирует их и с миллисекундной дискретностью передаёт планировщику операционной системы. Телеметрия, с которой имеет дело микроконтроллер, — это тепловое состояние и потребление каждого из ядер плюс показатели их загрузки, включая информацию о типах исполняемых инструкций. Такой набор собираемых данных в конечном итоге позволяет принимать обоснованные решения о целесообразности перемещения тех или иных процессов с производительных ядер (P-ядер) на энергоэффективные (E-ядра) и обратно.

В процессе совместной работы Thread Director и планировщик Windows 11 подразделяют все исполняемые процессы на три базовых класса: фоновые, то есть такие, скорость исполнения которых от производительности процессора не зависит; обычные процессы переднего плана; и ресурсоёмкие процессы, задействующие те или иные наборы AVX-инструкций. Общая логика работы планировщика в Windows 11 такова, что фоновые процессы или процессы, которые основное время проводят в ожидании поступления данных, отправляются на E-ядра, а те процессы, для работы которых действительно важна производительность, – на P-ядра. При этом процессы, использующие AVX-инструкции, считаются более приоритетными, а по мере того, как свободных P-ядер у процессора не остаётся, менее требовательные потоки вытесняются на E-ядра.

Такое разделение потоков по классам планировщику Windows 10 недоступно, он про их специфику ничего не знает и просто отправляет потоки, отнимающие большее количество процессорного времени, на более производительные ядра. Если говорить о производительности ресурсоёмких многопоточных приложений, то она в Windows 10 и Windows 11, очевидно, окажется одинакова. Однако в сложных сценариях нагрузки более чувствительная стратегия планировщика, реализованная в Windows 11, может положительно сказаться на скорости выполнения задач. Но самое главное преимущество Thread Director лежит в плоскости энергоэффективности. Перед планировщиком Windows 11 стоит задача не только добиться от процессора максимального быстродействия, но и сделать это с минимальными затратами энергии, как можно больше (но без ущерба для производительности) привлекая к работе E-ядра. При этом в Windows 10 вопрос энергопотребления не рассматривается вообще.

Но нужно понимать, что даже в Windows 11 технология Thread Director играет роль вспомогательного инструмента. Планировщик ОС в управлении потоками не обязан руководствоваться теми рекомендациями, которые выдаёт Thread Director. Например, они могут не учитываться в том случае, когда у исполняемых процессов выставлены разные приоритеты или когда у пользователя на рабочем столе развёрнуто приложение, которое с точки зрения Thread Director не является приоритетным. Тем не менее взаимодействие между оборудованием и ОС на низком уровне, которое есть в Windows 11, позволяет задействовать гибридную архитектуру Alder Lake более выигрышно.

#Энергопотребление Alder Lake: Windows 11 против Windows 10

Итак, планировщик Windows 11 вместе с Thread Director борется за эффективность. На словах всё это звучит очень логично: зная, каковы текущие запросы исполняемых потоков, планировщик новой операционной системы может отправлять нетребовательные процессы на E-ядра, которые имеют более простую микроархитектуру и более низкие частоты. И проверить, даёт ли это какой-то результат, несложно – достаточно взглянуть на потребление Alder Lake при выполнении одних и тех же задач в разных ОС.

Для опытов мы воспользовались системой на базе процессора Core i9-12900K, укомплектованной 32 Гбайт DDR5-4800, на которой сняли показания энергопотребления в идентичных сценариях в Windows 10 и Windows 11. Первая проверка – рендеринг в Cinebench R23. Эта задача характерна тем, что в рендеринге работой загружаются все доступные ядра, а значит, Thread Director здесь вряд ли чем-то поможет: планировщик просто должен разместить 24 потока, создаваемые приложением, по имеющимся у процессора в наличии 24 ядрам (включая виртуальные).

Именно это мы и видим на графике потребления. Core i9-12900K при рендеринге в Windows 10 и Windows 11 показывает практически идентичное потребление – здесь Thread Director никакого выигрыша не даёт.

Однако такая картина наблюдается не всегда. Случаев, когда в работе Alder Lake под Windows 10 и под Windows 11 есть существенная разница, немало. Самый распространённый – это игры. Современные игровые приложения стараются распараллеливать нагрузку, и многие из них создают значительное количество потоков. Однако специфика этих потоков в том, что они в большинстве своём неравноправные. Один-два потока обычно играют роль ведущих, в то время как остальные носят вспомогательный характер, по мере необходимости выполняя второстепенные расчёты либо ожидая реакции игрока или каких-то иных событий. И это – прекрасная почва, на которой Thread Director и планировщик Windows 11 могут развернуться с полной силой.

Для примера мы взяли игру Horizon Zero Dawn, которая активно использует многопоточность и на восьмиядерных процессорах легко загружает все имеющиеся 16 виртуальных ядер. И как показало тестирование, потребление Core i9-12900K в разных ОС действительно различается.

Среднее потребление Core i9-12900K на протяжении тестового прохода в Horizon Zero Dawn составило 103 Вт в Windows 11 и 109 Вт в Windows 10. То есть технология Thread Director за счёт аккуратной расстановки потоков по ядрам позволяет добиться примерно 6 % экономии электричества.

Но ещё более интересную картину можно увидеть, если заглянуть в диспетчер задач. В Windows 11 во время игры оказывается ниже и загрузка процессора, причём на довольно весомую величину в 10 %.

Windows 10

Windows 10

 

Windows 11

Здесь уместно напомнить, что показываемая в современных ОС метрика «загрузка процессора» в действительности таковой не является. На самом деле ОС отображают не относительное время, потраченное процессором на работу, а иную величину – его «время не-простоя», то есть то относительное количество времени, которое процессор провёл вне специального созданного планировщиком Idle-потока. А это значит, что работа процессора вхолостую, когда запущенные потоки не завершаются, но бездействуют, ожидая получения каких-то данных, в показаниях диспетчера задач трактуются как загрузка, а не как простой. Поэтому меньшая загрузка процессора в Windows 11 вовсе не означает, что он выполняет меньше работы. Просто, получая от Thread Director информацию о том, какие из потоков реально используют ресурсы процессора, а какие просто ждут данных, планировщик имеет возможность лучше упаковать холостые потоки на E-ядрах, освободив P-ядра под реальную вычислительную нагрузку.

Для пользователя же это означает, что в системах, основанных на процессорах Alder Lake, применение Windows 11 позволит не только добиться лучшей экономичности, но и в целом получить лучшую реализацию многопоточности.

Horizon Zero Dawn – далеко не единственная игра, где Core i9-12900K показывает более низкое энергопотребление в Windows 11. Подобная ситуация наблюдается в массе других приложений. Например, на следующем графике приведено потребление старшего Alder Lake в двух версиях ОС в другом игровом приложении – Shadow of the Tomb Raider.

И вновь то же самое, только здесь разница в среднем потреблении составляет уже порядка 9 Вт, то есть использование Windows 11 с технологией Thread Director снижает потребление процессора почти на 10 %.

Однако картина, когда потребление Alder Lake в Windows 11 ниже, имеет место не в ста процентах ситуаций. Существуют и обратные примеры, в частности обычная офисная работа в приложениях из пакета Microsoft Office. Для того чтобы смоделировать повседневную работу пользователя в Word, Excel, PowerPoint и Outlook, мы воспользовались тестовым скриптом Procyon Office Productivity. И при его исполнении, вопреки ожиданиям, потребление платформы на базе Core i9-12900K в Windows 11 на несколько ватт превысило потребление той же платформы, но в Windows 10.

На первый взгляд это очень странный результат, поскольку офисные приложения – очевидный пример нагрузки, которая может работать на энергоэффективных ядрах, снижая показатели энергопотребления. На практике же среднее потребление Core i9-12900K в Windows 11 оказывается на 1-2 Вт выше, чем в Windows 10. Но и этому явлению есть простое объяснение: ключ подсказывает смещение кривых, соответствующих потреблению в Windows 10 и Windows 11, относительно друг друга в правой части графика. Это происходит потому, что в Windows 11 офисные приложения работают быстрее, что и обуславливает их увеличенное энергопотребление.

Иными словами, здесь всплывает ещё одно преимущество Windows 11. Благодаря тому, что эта ОС досконально знакома с особенностями гибридной процессорной архитектуры Intel, она не путается в разнотипных ядрах, и некоторые приложения демонстрируют в ней более высокую производительность. В частности, скорость выполнения офисного сценария Procyon Office Productivity в Windows 11 оказалась примерно на 9 % выше, чем в Windows 10. А это значит, что производительность Core i9-12900K в разных ОС действительно различается, и этот вопрос заслуживает отдельного обсуждения.

#Windows 11 и Virtualization-based Security (VBS)

Но перед тем, как переключиться на результаты тестов, нужно обратить внимание на одну настройку безопасности Windows 11, которая непосредственно на них влияет, – Virtualization-based Security (VBS). Алармистские отчёты указывали, что эта опция может запросто погубить игровую производительность, и при этом в ряде случаев она включается по умолчанию.

Механизм VBS, или «безопасность на основе виртуализации», позволяет Windows 11 создавать для критически важных приложений безопасный анклав памяти, полностью изолированный от потенциально небезопасного кода, в том числе и от самой ОС вместе с её уязвимостями. Кроме того, на основе VBS работает ещё одна встроенная функция безопасности, Hypervisor-Enforced Code Integrity (HVCI), – она предотвращает попадание неподписанных или сомнительных драйверов и программного обеспечения в системную область памяти. Совместно функции VBS и HVCI направлены на защиту ОС и чувствительных данных пользователя от вредоносного ПО, даже если оно сможет обойти имеющуюся антивирусную защиту.

VBS и HVCI можно было активировать и в Windows 10, но там эти возможности  всегдаизначально были выключены. С выходом Windows 11 компания Microsoft ужесточила стандарты безопасности, и теперь в ряде систем VBS и HVCI будут активированы автоматически. В первую очередь это касается случаев, когда Windows 11 ставится на компьютер «с нуля». При чистой установке настройки безопасности, скорее всего, будут включены, если виртуализация не была запрещена через BIOS. Однако в то же время при апгрейде с Windows 10 до Windows 11 если соответствующие опции в старой ОС не включались, то и в новой ОС они останутся деактивированными. Если же речь идёт о покупке готового компьютера, то в этом случае решение об активации VBS и HVCI в настройках принимается производителем.

Таким образом, по умолчанию пользователи Windows 11 получат два разных варианта конфигурации в зависимости от происхождения компьютера и типа установки ОС. И сказать, какой из них «правильнее», невозможно. Intel рекомендует в системах на базе процессоров Alder Lake не отказываться от VBS и HVCI, поскольку это повышает безопасность системы. Однако при этом придётся  миритьсяне только с некоторым снижением производительности, но и с неработоспособностью отдельных версий программ, например пиратских игр.

Поэтому, говоря о производительности современных систем в Windows 11, рассматривать придётся два варианта настроек – как с активированной функциональностью VBS и HVCI, так и без неё.

Проверить, активен ли механизм VBS в конкретной системе, можно при помощи штатного инструмента MSInfo32.exe (System Information).

Включается и выключается VBS переключателем Memory integrity, который расположен в настройках системы на странице Core Isolation, находящейся в разделе Privacy & Security/Windows Security/Device Security.

Следующая страница →
 
⇣ Содержание
Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.
Материалы по теме
⇣ Комментарии
Прежде чем оставить комментарий, пожалуйста, ознакомьтесь с правилами комментирования. Оставляя комментарий, вы подтверждаете ваше согласие с данными правилами и осознаете возможную ответственность за их нарушение.
Все комментарии премодерируются.
Комментарии загружаются...
window-new
Soft
Hard
Тренды 🔥
Apple будет взымать комиссию в приложениях, даже при использовании сторонних платёжных систем 4 ч.
Роскомнадзор заблокировал крупнейшую площадку для продажи вещей ручной работы Etsy — постановление суда было выдано 2,5 года назад 5 ч.
Приложение Xbox получит опцию напрямую делиться ссылками на клипы и вертикальную ленту на манер TikTok 5 ч.
Фанаты хотят сделать ремастер файтинга Mortal Kombat Trilogy на Unreal Engine 5 5 ч.
ByteDance взялась за облака — уставной капитал Volcano Engine вырос на два порядка 6 ч.
Electronic Arts рассказала о «вселенских» планах на Battlefield и перестановках в DICE 7 ч.
Расширенное издание The Stanley Parable перенесли в третий раз — теперь релиз назначен на начало 2022 года 7 ч.
Meta предложила пользователям сдать свои интимные фото, чтобы удалить их из интернета 7 ч.
20 % пользователей Xbox Cloud Gaming играют только с сенсорным управлением 8 ч.
Дополнение Fatesworn к ремастеру Kingdoms of Amalur: Reckoning поступит в продажу 14 декабря 8 ч.