Компьютеры становятся быстрее, приложения для нас работают легче, однако, когда дело доходит до взаимодействия с Windows кажется, что не имеет значения, каковы кишки нашего ПК, кажется, что он всегда работает в одном и том же темпе. Это что-то эксклюзивное для операционной системы Redmond? Это плохая оптимизация с точки зрения аппаратного обеспечения или за этим стоит техническая причина? Мы объясняем это вам.
Нормально и по простой логике думать, что по мере увеличения вычислительной мощности компьютера программы потребляют все меньше и меньше ресурсов. Однако мы часто обнаруживаем, что это не так и что отсутствие оптимизации преобладает над другими вещами. Дело в лени программистов или в их неудачах, в том, что есть ряд решений на техническом уровне или в неизбежных обстоятельствах, которые приводят к этому?
Windows всегда потребляет те же ресурсы, что и ПК
Мы должны исходить из того, что в современных операционных системах это же самое, а не приложения, отвечает за управление различными процессами и, следовательно, они не только решают, где они выполняются и в каком порядке, но и в каком порядке. какие условия делают это, и именно здесь мы вступаем в два разных способа использования аппаратных ресурсов, как самой системой, так и приложениями.
Тем не менее, есть один, который является кошмаром с точки зрения производительности и превращает определенные процессы в настоящих вампиров мощности нашего компьютера, несмотря на то, что на самом деле они не требуют такой большой мощности для работы, и это фиксированный процент им присваивается мощность. обработка. Независимо от того, есть ли у нас мощный высококлассный компьютер или скромный MiniPC. Например, Windows 11 стандартно поставляется с виртуализацией. Безопасность, функция, которая дает довольно мало для домашних пользователей, но способна потреблять 5% производительности, независимо от того, используете ли вы приложение на Celeron или Celeron. Xeon, с той разницей в мощности, которую это подразумевает.
Почему принимаются эти меры?
В действительности невозможно предсказать производительность, которая потребуется программе, так как мы должны учитывать, что она будет зависеть от задержки каждой инструкции, а предсказать ее невозможно из-за того, что мы не знаем, где он найдет соответствующие данные. Будет ли информация уже находиться в регистрах или, если нет, на каком-то уровне кэша данных процессора? Необходимо учитывать, что латентность процессора, измеряемая в его тактах, будет различаться для каждой инструкции в зависимости от периода поиска информации.
Поэтому под этой посылкой, вместе с огромным количеством существующих аппаратных конфигураций, прекрасно понимается, что для системных процессов операционная система, независимо от того, Windows ли это, Linux или любой другой, берет определенный процент фиксированного использования от мощности процессора. Более того, это делается на консолях, и с годами эти проценты использования сокращаются, чтобы дать играм больше мощности. Однако нельзя забывать, что в данном случае речь идет о закрытых системах, и это совершенно иная ситуация, чем компьютеры.
Дополнительные ядра для ОС?
Все это подводит нас к одной из новинок, реализованных в последних двух поколениях Intel Процессоры Core, хотя и не во всех моделях. Речь идет о так называемых E-Cores, которые на бумаге предназначены для фоновых задач. Однако присвоение им не происходит автоматически. Другими словами, что будет делать операционная система, так это искать, например, 2% мощности ядра, которое свободно для выполнения ключевого процесса.
Способ операционной системы выполнять процессы в потоках для ЦП похоже на то, чтобы найти как можно больше места в коробке, в которую можно положить вещи. Он не активирует другое ядро, если в существующих еще остался процент. Последствия? Что ж, несмотря на то, что E-Cores — хорошая идея для такого типа задач, Windows может проигнорировать их, поскольку в глазах самой операционной системы то, что ей доступно, — это определенное количество потоков выполнения, а не знать силу, которую он дает. внести свой вклад каждый.