Glashkoff.com

Полезные советы и софт, создание и оптимизация сайтов на WordPress

Блог

Два мифа оптимизации компьютера, которые никак не умрут

Два глупых мифа оптимизации компьютера, в которые все еще верят 1

Предисловие

Заблуждений, касающихся работы компьютера, предостаточно. Какие-то очень популярны, какие-то широко известны в узком кругу. Я выбрал парочку особо живучих, поддерживаемых верой тех, кто любит заниматься оптимизацией компьютера. Их опровержение не требует долгих объяснений нюансов работы операционной системы, программ и процессора. Достаточно использовать логику.

Прежде чем приступлю к описанию мифов, напишу несколько тезисов, на которые буду опираться в дальнейшем. Если вы не согласны со мной — подумайте дважды, почему. Может быть, мы с вами живём в параллельных вселенных?

Итак, вот тезисы, которые для меня являются истиной, подкреплённой фактами и знаниями. Надеюсь, после внимательного прочтения вы поймёте, к чему я веду.

1.Операционная система (ОС) — посредник между «железом» компьютера и программами (играми в том числе). В данном случае речь о Windows. Именно ОС и запущенные драйвера рисуют на экране картинку, обеспечивают запуск программ и позволяют запущенному софту использовать ресурсы компьютера: процессор, оперативную память, видеокарту, сеть и тому подобное. Фактически Windows состоит из ядра — небольшой, но сложной программки, которая регулирует приоритеты выдачи ресурсов, отвечает за изоляцию программ и делает много чего ещё, связанного с функционированием софта, запущенных драйверов, которые взаимодействуют с железом компьютера посредством функций ядра и собственно изолированной от железа части, где и крутятся наши игры, браузеры и прочее. Кто хочет узнать подробнее, может почитать статью на Википедии «Архитектура Windows NT», но это не обязательно в рамках данной заметки. Главное держать в уме, что система — посредник между физической частью ПК и теми программами, с которыми обычно работаем мы, люди.

2. Возможности софта ограничены возможностями операционной системы (в том числе драйверами). У прикладных программ и игр, которые мы видим на экране, нет прямого доступа к железу компьютера, они работают через посредника — Windows. Если система (и драйвера) чего-то не умеют, то программы до этого «чего-то» не доберутся. Например, для звуковой карты моего старого ноутбука Acer 5920G есть несколько версий драйверов. Так получилось, что в одном драйвере можно регулировать усиление звука микрофона, а в другом такой регулировки нет, зато можно включить улучшение звука технологией Dolby Surround. Поэтому, если я хотел слушать музыку с комфортом, приходилось ставить драйвер с Dolby Surround. Когда записывал видеоурок, ставил другой, где микрофон работает заметно лучше. Увы, ни одна программа не может обойти эти ограничения и дать доступ ко всему сразу, потому что нет драйвера, где есть обе упомянутые функции. Поэтому нет такой программы, которая при одном драйвере вернула бы возможности, доступные при другом драйвере. Это правило соблюдается всегда, в том числе для игр. У них нет прямого доступа к железу, только через посредника. Например, графика часто создаётся с помощью команд DirectX, но в контексте данной статьи это не важно.

3. Создатели операционных систем не стремятся намеренно ограничивать производительность компьютера. Иначе будет а-та-та и много исков. Например, Apple наказали штрафом на 5 000 000 евро, когда выяснилось, что ОС старых моделей айфонов снижает производительность со временем. И ещё на 5 миллионов евро за то, что функция замедления работала тайно, без уведомления владельцев устройств. То есть нужно понимать, что если бы в Windows была какая-то функция, без явного уведомления пользователей как-то снижающая скорость вычислений ЦП, отключающая ядра процессора или ограничивающая возможности железа, то об этом бы писали во всех технических (и не только) СМИ. Были бы иски и репутационные потери. Но этого нет и не будет, потому что семейство Windows исследовано вдоль и поперёк. Баги и не оптимальные алгоритмы в системе были, есть и будут, но это случается с каждым сложным программным продуктом. Намеренное замедление не выгодно.

Надеюсь, вы прочли написанное выше. Мифы оптимизации компьютера, связанные с отключением и включением ядер, о которых я расскажу ниже, как раз построены на неверии в правдивость этих тезисов. Почему-то многие верят в то, что Microsoft не даёт «раскрыться» компьютеру без ковыряния в настройках.

Оптимизация ядер и памяти с помощью MSConfig

Совет изменения настроек в системной утилите MSConfig основан на допущении, что Windows при загрузке не использует все ядра процессора и мегабайты оперативной памяти. Якобы нужно указать их нужное количество с помощью «секретной» настройки, чтобы компьютер быстрее включался и всё быстрее работало.

До «секретной» опции можно добраться так: Пуск — Выполнить (в Windows 10 используйте поле поиска вместо Выполнить) — msconfig — OK.

Запустится программа Конфигурация системы (msconfig.exe). Вкладка Загрузка:

Два глупых мифа оптимизации компьютера, в которые верят

Нужно нажать Дополнительные параметры, чтобы открыть параметры загрузки Windows и там будут вожделенные «суперсекретные» опции:

Сейчас ничего не настроено

Сейчас ничего не настроено

Пока очумелые ручки не добрались до настроек, здесь ничего указано не будет, галочки проставлены не будут. С чего бы разработчикам Windows ограничивать производительность системы?

Но люди, не использующие критическое мышление, думают иначе: раз изначально галка не стоит, значит, ограничение включено. Якобы отсутствие галочек не даёт операционной системе узнать, сколько ядер у процессора и сколько оперативной памяти установлено. И якобы нужно указать вручную:

На компьютере восьмиядерный процессор и 8 Гб оперативной памяти

На компьютере восьмиядерный процессор и 8 Гб оперативной памяти

И после перезагрузки компьютер начнет использовать все ресурсы. Это противоречит третьему тезису о том, что Microsoft не ограничивает производительность изначально.

Вариантов у этого совета несколько. Я прошёлся по сайтам, посвящённым оптимизации Windows, выбрав парочку. Например, некий Юрий считает, что по умолчанию установлена загрузка с одного ядра:

Где автор мог узнать, что "по умолчанию загрузка с одного ядра"?

Где автор мог узнать, что «по умолчанию загрузка с одного ядра»?

Другие вспоминают про оперативную память. «Блог мастера ПК» утверждает, что с ней та же беда.

Два глупых мифа оптимизации компьютера, в которые верят 3

Начало совета

Я обрезал часть текста, чтобы не было длинного скриншота. Вот что автор советует дальше:

Два глупых мифа оптимизации компьютера, в которые верят 4

Он советует указать не только количество ядер, но и размер памяти. А в конце говорит, что можно снять галочку.

Стоп. Где логика? Устанавливается опция, после отключается, как такая манипуляция может на что-то влиять в принципе?

Джеки Чан офигевает

Откуда миф? Полагаю, дело не только в незнании матчасти советчиков и отсутствии логического мышления, но и неоднозначной официальной справке по MSConfig. В статье MSConfig the System Configuration Tool на официальном сайте Microsoft описание опций действительно оставляет место домыслам, если не знать контекста:

Два глупых мифа оптимизации компьютера, в которые верят 5

Перевод: «Если вы нажмете на Advanced Options (в любой ОС), вы можете установить такие параметры, как количество процессоров, выделенных для операционной системы при загрузке, или максимальный объем оперативной памяти. (В нормальном состоянии не отмечено)».

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

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

Опции в msconfig нужны программистам для тестирования программ, чтобы ограничить доступные ресурсы, сымитировав медленный ПК на быстром.

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

Некоторые «гении» пытаются доказать, что опция «Число процессоров» ускоряет компьютер, потому что при значении 1 игры начинают тормозить. Логики в этом аргументе нет, опровергнуть его легко. Достаточно запустить любой бенчмарк в системе до первоначальной установки галочки, с галочкой и после повторного снятия галочки. Результаты будут одинаковыми.

При включенном лимите на одно ядро производительность действительно снижается (это заметно в играх), но по умолчанию ограничения выключены и программы вольны использовать все ядра, как им вздумается. То есть опции в MSConfig работают так, как задумано — позволяют при желании пользователя ограничить производительность ПК.

К счастью, данный совет о настройках в MSConfig безвреден. Установка максимальных значений никак не влияет на работу компьютера, ведь результат тот же, что и при выключенных опциях.

Для самых непонятливых: просто снимите галочки.

Здесь галочек быть не должно

Не имеет никакого значения, что там в полях — одно ядро или миллион. Не важно, что там в поле «Максимум памяти». Во что вы играете, насколько старое у вас железо — тоже не имеет никакого значения. Просто снимите все галки, нажмите ОК и живите спокойно дальше. Нет никаких тайных настроек в MSConfig для «разблокирования» процессорных ядер и памяти.

Всё ещё не верите? Проверьте производительность с помощью бесплатной утилиты CPU-Z. На вкладке Bench доступны два теста: скорость в однопоточных (Single Thread) и многопоточных (Multi Thread) вычислениях . Результаты допустимо интерпретировать как скорость работы одного ядра процессора и всех сразу соответственно.

Что с галочкой, что без на «Число процессоров» в окне «Дополнительные параметры загрузки» результат будет одинаков. Это логично, ибо в системе ничего не меняется. Если указать с установленной галкой число процессоров меньшее, чем ядер у процессора на самом деле, то результат в Multi Thread соответственно снизится, но это ожидаемо и подтверждает то, что ограничение работает так, как написано в официальной документации от Майкрософт.

Заставить игру использовать все ядра процессора

Второй миф объяснить сложнее. Дело в том, что программы работают совсем не так, как представляется пользователям ПК. А где много невежества, там много эффекта Даннинга — Крюгера и, конечно, мифов.

Недовольные скоростью запуска программ, частотой смены кадров в играх, люди любят смотреть потребление ресурсов ЦП в Диспетчере задач и заниматься бессмысленными попытками что-то оптимизировать. К примеру, пытаются регулировать параметры вроде предыдущей настройки, чтобы их любимая программа загружала на 100% все ядра процессора.

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

Но вернёмся к работе программ на многоядерных процессорах. На границе знания и незнания возникла «гениальная» идея использовать программу CPU Control для назначения играм всех ядер.

Совет начал встречаться более десяти лет назад. Например, при обсуждении игры Gothic 3, которая любила тормозить на любом, даже самом мощном ПК:

У людей тормозит третья Готика. Что делать? Заниматься шаманством!

У людей тормозит третья Готика. Что делать? Заниматься шаманством!

На скриншоте выше пользователь s063r посчитал, что игра не задействует второе ядро процессора. Товарищ Shifroval посоветовал использовать программу CPU Control.

Что же это за чудо-зверь такой, который залезает в программный код и заставляет программу изменить логику своей работы? CPU Control — это примитивная утилита для назначения процессу одного или нескольких ядер процессора:

Два глупых мифа оптимизации компьютера, в которые верят 10

К сожалению, разработчики этой софтины поступили глупо, сделав так, что при запуске все запущенные программы автоматически «назначаются» на первое ядро процессора (включается некий режим «Manual»). Обратите внимание на столбец «CPU» при запуске CPU Control:

Два глупых мифа оптимизации компьютера, в которые все еще верят

Единица и три нуля означают, что программе назначено только первое по счету ядро процессора (четырёхъядерного, по мнению CPU Control). И это происходит после запуска самой утилитой. То, что до запуска ситуация была иной, с помощью CPU Control увидеть нельзя. Можно, конечно, до всех манипуляций глянуть назначения процессов на ядра в Диспетчере задач, но кто в наше время мыслит критически и проверяет работу программ родными утилитами Windows?

То есть получается нехорошая ситуация: человек запускает CPU Control и видит — о ужас — все программы назначены только на одно ядро!

Ложный совет звучит так: программы работают только на одном ядре, в чем можно убедиться, запустив CPU Control. И там можно назначить программе использование всех ядер процессора.

Но это абсолютно неверное утверждение легко опровергнуть. Если до запуска утилиты CPU Control запустить Диспетчер задач и на вкладке «Подробности» нажать по любому процессу правой кнопкой мыши и выбрать пункт «Задать сходство», то становится понятно, что изначально программам всегда доступны все ядра:

В Диспетчере задач Windows видно, что по умолчанию программам назначены все ядра

В Диспетчере задач Windows видно, что по умолчанию программам назначены все ядра

На самом деле до запуска CPU Control ограничений на одно ядро не было. Это сама утилита при запуске назначает всем программам первое по счёту ядро. Назначение через CPU Control на все ядра возвращает настройку по умолчанию. Только и всего.

Если задействовать критическое мышление, возникнут вопросы:

  1. А почему Windows так сама не делает? Одноядерные процессоры днём с огнём уже не сыщешь, даже в офисных ПК минимум двухъядерники стоят. Почему какая-то утилита якобы может запустить программу на всех ядрах, а Windows спустя десятки лет развития — нет?
  2. Как вообще посторонней утилите удаётся что-то там регулировать внутри программ, якобы распределяя потоки по всем ядрам?

Ответ прост: CPU Control не делает того, что ей приписывают. Более того, на умение софта «задействовать» все ядра процессора нельзя повлиять извне. Это, в общем-то, внутреннее дело программ — в зависимости от алгоритмов некоторые задачи могут выполняться параллельно на нескольких ядрах, а могут только на одном. Даже слово «назначить» тут не совсем верное — правильнее употреблять «ограничить».

Без переписывания исходного кода программ как-то повлиять на то, сколько и как ядра ЦП будут «задействоваться», невозможно. Ограничить или дать потенциальную возможность — да, можно. А «задействовать», если изначально программа этого не умеет — нет, никак. Это как если бы человеку, который привык считать на калькуляторе, подсунули второй и сказали: считай на двух! Это бы ускорило его работу? Нет, конечно.

 

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

Однако в интернете и в комментариях под этим текстом люди на полном серьёзе убеждают, что утилита помогает, что игры начинают работать быстрее. Неправы ли они? Не совсем!

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

Как нужно настраивать на самом деле?

  • Займитесь нормальной оптимизацией Windows.
  • Смотрите через Диспетчер задач и системный Монитор ресурсов, что именно нагружает ЦП (или через стороннюю утилиту типа Process Explorer, потому что майнеры любят закрываться при запуске Диспетчера, скрывая таким образом своё негативное влияние).
  • Сделайте апгрейд: поставьте SSD вместо жёсткого диска, установите процессор и видеокарту побыстрее, добавьте оперативной памяти.

Тогда получите что хотели: увеличение производительности ПК.

Кстати, CPU Control на восьмиядерных системах видит только четыре ядра. Ждём советы по включению пропавших ядер?

Постскриптум

Уже который год в комментариях объявляются пользователи, якобы наблюдающие ускорение ПК при выполнении настроек, описанных выше. Мол, если в MSConfig выставить ядра, ПК включается быстрее или фризы пропадают в играх, или что CPU Control сделала их жизнь лучше, а волосы стали гладкими и шелковистыми даже там, где их не было.

Если один из описанных эффектов ускорения случился и с вами, убедитесь, что не обманываете себя. Проведите слепое тестирование, зафиксируйте появление и исчезновение подтормаживаний в играх любой утилитой измерения fps, измерьте одно- и многопоточную производительность ЦП в CPU-Z.

С момента написания статьи в марте 2016 года никто так и не привёл доказательств, основанных на результатах бенчмарков, ограничиваясь общими фразами в духе «автор врёт, я поставил галку и теперь игры летают!». На уровне ощущений показаться может что угодно, но это нельзя считать фактами, поэтому я чищу ветки комментариев от таких сообщений.

 

26 комментариев

  1. Вадим

    Здравствуйте Дмитрий. Может быть сможете мне помочь? Я пользователь звукового секвенсора Ableton. Система китаец Х79, процессор xeon 1650, память 16. При активных всех 12ти потоках в приложении, жутко лагает, показывая перегрузку процессора. При принудительном отключении 10ти или 8ми потоков начинает работать нормально. Всё ПО к сожалению пиратское. Куда копать?

    Ответить

    • Дмитрий Глашков

      Вадим, могу лишь предположить, что процессор перегревается, отсюда и лаги.

      Ответить

      • Вадим

        Нет. Монитор speecy показывает около 40 градусов. Да и перегрузка процессора отображается только в приложении. В это время в мониторе ресурсов указано не более 18%. Такая вот история.

        Ответить

      • Дмитрий Глашков

        Тогда понятия не имею, что там не так. А вот это читали? Меняли размер буфера?

        Ответить

      • Вадим

        Да. Читал. Ничего из этого радикально не решило мой вопрос.

        Ответить

      • Вадым

        Вадим у меня точно такой же комп как вы выставляли количество процессор?

        Ответить

  2. Сергей

    Благодарю за развенчание мифов. Грешным делом подумывал «ускорить» :)

    Ответить

  3. Никита

    Здравствуйте,ответьте мне прошу вас, уже около полу года меня тревожит эта проблема, суть заключается в том, что когда я начинаю играть в любую игру (даже старые,кроме c.s 1.6) у меня через минуту примерно(часто через 30 секунд) просто напросто зависает картинка,но звук и действия в игре продолжаются(например в игре CS:GO, я начинаю раунд,зависает картинка, но если я буду стрелять или передвигаться,это происходит в игре, получается я играю в игру но с зависшей картинкой)
    Драйвера на видеокарту обновлял,проверял температуру всех устройств, всё стабильно и чётко.

    Ответить

    • Jigotix

      @Никита советую вам проверить порты подключения мышь , клавиатура и различная периферия ,такие сбои могут вызывать короткие замыкания usb портов. Так же советую вам посмотреть подключение питания и стабильности бп. удачи.

      Ответить

  4. Юрий

    Спасибо за развенчание мифа, а то чуть не поддался. Вовремя на вашу статью наткнулся!!!

    Ответить

  5. Павел

    Дмитрий, спасибо Вам за Ваши труды — обстоятельно, информативно, приятно и полезно почитать!
    К вопросу заданному Вадимом про жуткие лаги — один из вариантов: — возможно причина в железе, к примеру некачественный или неисправный БП дает просадку по напряжениям и вся система и энергоемкий процессор в частности начинает сбоить. (Если БП нормальный, возможен плохой контакт в разьемах — но они обычно греются).
    Всё это просто проверить, к примеру в AIDA 64, а разьемы осмотреть и пощупать руками.
    Просто я увлекаюсь радиотехникой и могу сказать, что аудио усилитель, к примеру, звучит ровно на столько, на сколько ему это позволяет блок питания, да и в целом — «любая система работает по худшему компоненту», нужно его только найти и исправить.
    На истину в последней инстанции не претендую, могу и ошибаться :)

    Ответить

    • Дмитрий Глашков

      Павел, спасибо за «спасибо». Насчёт БП да, верно подметили. Это объясняет, почему отключение ядер лаги убирает: потребление процессором энергии снижается и маломощный/сбойный БП справляется. Однако следует всегда «держать в голове» то, что компьютер — не аналоговая, а цифровая система. ПК либо работает, либо нет, в отличие, например, от усилителей сигнала. Благодаря коррекции ошибок при некоторых видах аппаратных сбоев ПК может работать медленнее за счёт сброса частот ЦП до минимальных или отключения сбойных устройств, но обычно, если что не так с питанием, дело сразу становится плохо: появляются синие экраны смерти, перезагружается драйвер видеокарты, перезагружается сам ПК. Так что может и да, но скорее нет. Как-то не подумал посоветовать проверить.

      Ответить

      • Павел

        Да, я собственно не демагогии ради — компьютерная помощь через интернет это как гадание по фотографии и снятие сглаза по описанию-слишком мало вводных данных да и они не всегда точные :)
        Просто выразил Вам своё почтение за ваши труды :)
        Удачи Вам и развития вашим проектам! ;)

        Ответить

  6. Денис

    Спасибо за статью. А что вы думаете на счет «парковки» ядер процессора? Правда ли, по вашему мнению, что пишут на многих сайтах на эту тему?

    Ответить

    • Дмитрий Глашков

      Денис, уточните, пожалуйста, что именно «пишут на многих сайтах на эту тему», чтобы я мог тезисно прокомментировать. Если вы имеете в виду манипуляции со скрытыми по умолчанию настройками электропитания в Панели управления Windows, то на мой взгляд это довольно поверхностные советы, не учитывающее TDP и режимы энергосбережения процессора, а значит — не всегда правильные, иногда вредные.

      Ответить

  7. Обеспокоенный гражданин

    Искал в интернете ответ на следующий вопрос:

    «В какой степени влияет колличество ядер/потоков процессора на работу Windows 10, как сама ОС ими пользуется и какое колличество этих самых ядер/потоков для ОС W10 максимальное(т.е. будет ли она видеть/уметь работать с 64 ядрами к примеру) ? Может подскажете где об этом почитать?

    P.S пытаясь нагуглить что-либо о ядрах в системе, постоянно натыкаюсь на эти самые «псевдолайфхаки» о принудительном включении ядер))

    Ответить

    • Дмитрий Глашков

      Обеспокоенный гражданин, возможно, вы задаёте некорректный вопрос, потому что параллельными вычислениями занимается не операционная система, а запущенные программы. Сама Windows 10 лишь обеспечивает поддержку всего этого и да, имеет определённые ограничения (или возможности, смотря с какой стороны посмотреть). Windows 10 поддерживает максимум два процессора, число ядер зависит от архитектуры (32 ядра в 32-битных версиях, 256 ядер — в 64-битных). Чтобы понять, насколько бесполезно что-то там подкручивать в системе, чтобы «заставить» программы быстрее работать, да и вообще понять проблематику, погуглите «параллельные вычисления» и «многопоточное программирование». На эту тему написано много литературы, ведь это серьёзная алгоритмическая задача. Надеюсь, вводные части любых книг на указанные темы ответят на ваш вопросы про то, как программы работают с ядрами процессоров и в чём сложность паралеллизации вычислений.

      Ответить

  8. Rovsky

    Ограничение использования оперативной памяти может быть необходимо для стабильной работы оборудования поддержка которого прекращена и драйверы могут использовать не более 2Гб памяти, например некоторые платы Pinnacle. Большое количество потоков также может приводить к нестабильности работы некоторых программ.

    Ответить

  9. seledka1488

    Автор видимо не сидел никогда на low-end PC. Как счастливый обладатель такого чуда — заявляю, что высказывание о том, что приложению первоначально доступны все ядра — ложь. Очень хорошо заметно на примере игр в моем ноутбуке. Запускаю, допустим, доту. Без CPU controll fps прыгает в районе с 35 до 40 кадров. При активации конфига cpu-controll (1+1+1+1), FPS стабилизируется на отметке 60 (стоит ограничение в 60 кадров для комфортной игры). Система win 10.

    Ответить

    • Дмитрий Глашков

      seledka1488, делать выводы по частному случаю некорректно. Запустив утилиту, вы ограничили все запущенные процессы одним ядром, затем конфигом 1+1+1+1 вернули игре доступ ко всем ядрам, дав возможность трём из них выделить всё своё время игре. Если какой-то из процессов мешал, его влияние снизилось. Помогла ли такая рокировка повысить фреймрейт? Да. Решилась ли проблема? Нет, потому что мешающие процессы никуда не делись. Я считаю, что нужно не по ядрам игры раскидывать, а смотреть в Системном мониторе, что там такое ресурсоёмкое запущено, и закрывать этот процесс, чтобы влияние снизить до нуля.

      Ответить

  10. POWERFULL

    Здравствуйте Дмитрий.
    может быть Вы сможете подсказать, существует ли программное средство позволяющее подменять идентификаторы ядер процессора. к примеру у меня уже во втором подряд четырехядерном процессоре (а это более 10 лет пользования) ядро 2 всегда на 10-20 градусов горячее остальных даже в простое, но виндовс как назло отдаёт все тяжелые процессы (рендеринг 3д и архиваторы к примеру) именно ему. в результате не справляются никакие системы охлаждения, постоянный тротлинг, тормоза и потеря производительности. конечно все решается принудительным отключением этих процессов от ядра 2 через сходство в диспетчере. но меня мучает идея можно ли поменять для виндовс 2е ядро и 4е которое всегда самое холодное сколько бы тяжелых процессов я на него не навесил.
    В общем мне нужно чтобы ядро 2 стало ядром 4 в системе и виндовс отдавала ему наименьший приоритет. в том что приоритеты прямо зависят от порядковых номеров ядер я убедился за 15 лет активного использования пк. (о многопоточности ядер в HT знаю и умею отличать основные потоки ядра от второстепенных)
    Спасибо.

    Ответить

    • Дмитрий Глашков

      Идея со сменой идентификаторов интересная, но о способах её осуществления ничего не знаю. Даже не представляю, насколько низкоуровневые изменения нужно провести с ОС и микропрограммой ЦП. Если вам так необходимо запрещать доступ к определённым ядрам, в платной программе Process Lasso в режиме ProBalance есть настройка режима «сдерживания», при которой можно автоматически менять соответствия процессов и ядер. Хотя я бы поставил кулер получше и воспользовался качественной термопастой вместо таких кульбитов, потому что троттлинг должен решаться именно так.

      Ответить

  11. Ярослав

    Здравствуйте, подскажите, пожалуйста, чем может объясняться данный феномен: после обновления винды в игре появились фризы, в настройке, о которой рассказано в статье, галочки отключены, однако если включить все 8 ядер, то ситуация меняется и все начинает работать как раньше.
    Я так понимаю, винда использует далеко не все ядра без данной опции, с чем может быть связана такая проблема?

    Ответить

    • Дмитрий Глашков

      Ярослав, а можно больше конкретики, пожалуйста:
      1. После какого обновления?
      2. Какой игры?
      3. Удаление обновления не помогло?
      4. Как вы пришли к выводу, что нужно было провести такую манипуляцию в MSConfig, и не делали ли вместе с этим чего-то ещё?
      5. Чем определяли наличие фризов и как убедились, что они точно исчезли?

      Ответить

  12. Sergey Eremeev

    Огромная просьба, может кто дать ответ на вопрос: почему на одно ядро максимум два потока,не 3 не 4,только два.

    Ответить

    • Дмитрий Глашков

      Sergey Eremeev, вопрос о Hyper-threading и его аналогах? Из одного физического ядра можно сделать и три, и четыре, и больше логических ядер, но это не выгодно ни инженерам, ни пользователям, потому что усложнит устройство процессора и не позволит кратно ускорить скорость вычислений. Если разобраться, как процессор выполняет обработку поступающих данных, то такое ограничение становится понятным. Если сильно упрощать, то дело обстоит так: для обработки потока (набора данных) каждое ядро процессора задействует исполнительные устройства (ИУ), предназначенные решать только определённые задачи (умножение целых чисел, сложение чисел с плавающей запятой и т.д.). Информация, над которой процессор проводит манипуляции с помощью ИУ, хранится в регистрах процессора. Получается, что если нужно, например, сложить 1 и 2, в один момент времени для этого задействуется только одно ИУ, которое предназначено для этого типа вычислений. Чтобы другие ИУ не простаивали зря, в какой-то момент инженеры сделали в каждом ядре процессора два набора регистров и два набора каких-то наиболее часто используемых базовых ИУ, остальным ИУ предоставив доступ к обоим наборам регистров. Таким образом одному ядру удаётся обрабатывать два потока данных, но они не полностью независимы друг от друга. Ближайшая аналогия: сборка приборов на двух конвейерах, где есть по паре рабочих для типовых задач и несколько мечущихся между конвейерами специалистов для внесения каких-то индивидуальных изменений.
      Один из потоков замораживается, когда требуемый ИУ занят обработкой второго набора регистров. Таким образом получается, что чем больше потоков будет обрабатывать ядро процессора, тем чаще будет возникать ситуация с заморозкой. Поэтому разделение ядра процессора на два логических — это наиболее рациональное решение.
      Моё объяснение касается только центральных процессоров компьютера. В видеокарте ядра устроены иначе, потому что она решает другие задачи, которые можно сильнее распараллелить.
      На Ютубе есть хорошее видео на эту тему: 1 ядро, 2 потока. SMT, Hyper-threading. Как это работает?

      Ответить

Написать комментарий

Правила:
  • 1. Уважайте стороннее мнение. Токсичные комментарии удаляются.
  • 2. Комментарии со ссылками видны после проверки модератором.
  • 3. Обсуждение нелицензионного софта и других незаконных тем запрещено.

Тема Rowling от Anders Norén. Копирование материалов сайта разрешается только с указанием автора и активной ссылкой на источник.