scheduling category что это
Gaming Performance / System Optimization / Useful Tweaks
Game / Performance / Networking tweaks, tips, hacks, apps
REGISTRY TWEAKS
33 comments:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile\Tasks\Games]
«Affinity»=dword:00000000
«Background Only»=»False»
«Clock Rate»=dword:00003710
«GPU Priority»=dword:00000006
«Priority»=dword:00000002
«Scheduling Category»=»High»
«SFIO Priority»=»High»
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
LargeSystemCache=0
essa regedit é boaa?
Critical most likely will cause you stuttters in game. Its meant for small, not demanding processes and mostly System onees.
Hey! The irq you choose are msi related but didnt you say you shouldnt use them?
MSI related What you mean??
Irq with minus are in the msi mode ( «Its not good if you set an MSI based driver with IRQL priority so keep that in mind.» )
Yes, thats true. At least for the modern hardware. Old GPUs dont use MSI for ex. Since its old method and u can use Affinity tool. I thought i made that clear. I’ll check it out. Thanks. If you use the MSI Utility it should be overrided anyway, or the driver itself will.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile] «NoLazyMode»=dword:1
Where is this coming from? I’ve trawled the web for 2 days now, I see no documentation on it whatsoever.
As far as I’m considered, this is a ambiguous random entry that anyone can write in their registry in whatever key they like.
What funcionality did it serve, where did it come from? Was it something of actual usage in older versions of the OS in the Windows ecosystem?
ambiguous. that sounds. ambiguous 😀
Ok,I’ll skip the part that i say you are probably a noob (the fact that you ask about LazyMode but not about Latency Sensitive along with that Google reference kinda suggests that) and that Google is not = knowledge and go straight to the answer. There is another setting called AlwaysOn. This comes from Win7 & 8 days, when there is no multimedia activity the drivers stops working (idle itself). These settings prevents it from doing so & the priorities are always active. Some of my tweaks have settings that doesnt work in Win10 but i keep them for compatibility reasons because there are many people who still use Win7. With that said I have no reason to believe that they doesnt work. These tweaks in SystemProfile are not required for gaming these days because are very hard to spot, the impact is negligible & I recommend them only for competitive gaming anyway. You also can disable the driver but Im not sure thats a good thing.
Внутреннее устройство ядра ОС Windows Vista: Часть 1
Это — первая статья серии, посвященной нововведениям в ядре ОС Windows Vista. В этой работебудут затронуты изменения в области процессов, потоков и ввода-вывода. Следующие статьи будут посвящены управлению памятью, запуску и завершению работы, надежности и восстановлению, а также безопасности.
Данная статья охватывает изменения только ядра ОС Windows Vista™, в особенности файла Ntoskrnl.exe и связанных с ним компонентов. Следует помнить, что многие существенные изменения в ОС Windows Vista не затрагивают собственно ядро системы, и следовательно, здесь рассмотрены не будут. Это касается усовершенствований оболочки (например интегрированный поиск на рабочем столе), работы в сети (например новый стек IPv6 и двусторонний брандмауэр) и графической модели нового поколения (Aero™ Glass, платформа Windows® Presentation Foundation, диспетчер окон рабочего стола и новая модель графических драйверов). Также не будет рассмотрена новая инфраструктура драйверов пользовательского режима (UMDF) и режима ядра (KMDF) ОС Windows, поскольку ее можно устанавливать и на более ранние версии этой операционной системы.
Счетчик циклов центрального процессора
ОС Windows Vista содержит множество усовершенствований в области процессов и потоков, включая использование счетчика циклов центрального процессора для более равномерного выделения ресурсов, а также новую службу Multimedia Class Scheduler Service (MMCSS), способствующую безошибочному воспроизведению содержимого мультимедийными приложениями.
Подсчет времени на основе интервалов может подходить средствам диагностики, сообщающим загрузку ЦП процессами и потоками, но использование этого способа планировщиком потоков может приводить к нерациональному распределению ресурсов ЦП. По умолчанию клиентские версии ОС Windows позволяют выполнение потоков длительностью до 2 тактов (до 6 тактов на переднем плане). Однако на самом деле поток может совсем не получить времени ЦП, или же получить до 6 циклов (до 18 циклов на переднем плане), в зависимости от его поведения и прочей активности в системе.
Рисунок 1 демонстрирует случай нерационального распределения ресурсов, которое может произойти, если два потока с одинаковым приоритетом готовы к выполнению одновременно. Поток A выполняется до завершения следующего временного интервала, когда планировщик предполагает, что он выполнялся в течение всего интервала, и поэтому решает, что очередь потока A закончилась. Более того, потоку A засчитывается еще и прерывание, произошедшее во время его выполнения. На следующий интервал планировщик отдает предпочтение потоку B, который выполняется в течение полного интервала.
Рисунок 1 Неравномерное выделение ресурсов потокам
Рисунок 2 Планирование распределения ресурсов на основе циклов в ОС Windows Vista
Врезка «Наблюдение за загрузкой ЦП процессом» демонстрирует, как можно наблюдать за использование процессом циклов ЦП с помощью программы Process Explorer.
Служба Multimedia Class Scheduler Service
Пользователи ожидают от мультимедийных приложений, таких как проигрыватели аудио и видео, ровного и безошибочного воспроизведения. Однако из-за занятости ЦП другими параллельно выполняющимися приложениями, например антивирусными программами, индексированием содержимого или даже почтовым клиентом могут возникать неприятные задержки и прерывания. Для обеспечения более качественного воспроизведения в ОС Windows Vista вводится служба MMCSS, управляющая приоритетами мультимедийных потоков для выполнения процессором.
Мультимедийное приложение, например проигрыватель Windows Media®, регистрируется в службе MMCSS с помощью новых функций прикладного интерфейса, отображающих его мультимедийные характеристики, которые должны совпадать с характеристиками, перечисленными по именам в следующем разделе реестра:
Разделы различных задач указывают, какое предпочтение получают потоки, связанные с разными типами мультимедиа, при выделении ресурсов ЦП и графического процессора (хотя управление ресурсами графического процессора в ОС Windows Vista не реализовано). На рис. 3 показано содержание одного из разделов задач реестра сразу после установки ОС Windows Vista, хотя сторонние разработчики могут добавлять и собственные определения задач.
Рис. 3 Определение аудиозадачи в планировщике классов мультимедиа
Служба MMCSS, реализованная в файле %SystemRoot%\System32\Mmcss.dll и запускаемая в процессе работы узла службы (Svchost.exe), имеет поток управления приоритетами, который выполняется с приоритетом 27. (Приоритеты потоков в ОС Windows находятся в диапазоне от 0 до 31). Этот поток повышает приоритет зарегистрированных потоков мультимедиа до диапазона, связанного со значением Scheduling Category раздела реестра данной задачи, как показано на рисунке 4.
Рис. 4 Приоритеты потоков службы MMCSS
Высокий | 23-26 |
Средний | 16-23 |
В системе Windows приоритеты потоков от 16 и выше относятся к диапазону приоритетов реального времени, что выше приоритета любых потоков в системе (за исключением рабочих потоков диспетчера памяти, которые выполняются с приоритетом 28 или 29). Права на увеличение приоритета, необходимые для установки приоритетов потоков реального времени, есть только у учетных записей с правами администратора, например у локальной системной учетной записи, в которой выполняется служба MMCSS.
При проигрывании звукового файла проигрыватель Windows Media регистрирует потоки задачи аудио, а при проигрывании файла видео — потоки задачи воспроизведения. Служба MMCSS повышает приоритет всех потоков, заявивших о доставке потоковых данных, одновременно, когда они выполняются в процессе, которому принадлежит окно переднего плана, и если в разделе определения их задачи значение BackgroundOnly установлено в True.
По умолчанию это составляет 20 процентов, т.е. служба MMCSS отслеживает загрузку ЦП и не разрешает выполнение потоков с повышенным приоритетом в течение времени свыше 8 мс из 10, если ресурсы ЦП запрашиваются другими потоками. Чтобы потоки мультимедиа не мешали другим потокам в течение остальных 2 мс, планировщик понижает их приоритет до диапазона от 1 до 7.
Повышение приоритета потоков службой MMCSS можно увидеть на врезке «Наблюдение за повышением приоритета службой MMCSS».
Файловые символические ссылки
Изменения, относящиеся к операциям ввода-вывода в ОС Windows Vista, включают в себя файловые символические ссылки, более эффективную обработку завершения операций ввода-вывода, полную поддержку отмены операций ввода-вывода и поддержку приоритетов операций ввода-вывода.
Одной из функций файловой системы, которой по мнению многих недоставало в системе NTFS, является поддержка символических ссылок на файлы (или, как они называются в UNIX-системах, гибких ссылок), которая появилась в ОС Windows Vista. В версии NTFS для Windows 2000 были представлены символические ссылки на каталоги, которые назывались соединениями каталогов, что позволяло создавать каталоги, указывающие на другие каталоги, но до выхода ОС Windows Vista файловая система NTFS поддерживала только жесткие ссылки на файлы.
Основным отличием в том, как в ОС Windows разрешаются символические ссылки и соединения каталогов, является способ их обработки. ОС Windows обрабатывает символические ссылки в локальной системе даже если они ссылаются на место на удаленном файловом сервере. ОС Windows обрабатывает соединения каталогов, ссылающиеся на удаленный файловый сервер, на самом сервере. Символические ссылки на сервере могут, таким образом, ссылаться на местоположения, доступные только с клиентских компьютеров, например тома на других клиентских компьютерах, что невозможно для соединений каталогов. Для решения этой проблемы ОС Windows Vista поддерживает новый тип символических ссылок как для файлов, так и для каталогов.
Многие команды файловой системы обновлены для учета особенностей символических ссылок. Например, команда Delete (Удалить) не следует по ссылке, что приводило бы к удалению целевого объекта, а удаляет саму ссылку. Однако в связи с тем, что некоторые приложения могут неправильно обрабатывать символические ссылки, для создания таких ссылок необходимы права на создание символических ссылок, которые по умолчанию имеются только у администраторов.
Рисунок 5 Создание символической ссылки с помощью команды Mklink
Завершение и отмена операций ввода-вывода
В систему ввода-вывода введено множество внутренних изменений, которые могут улучшить производительность серверных приложений. Как правило, такие приложения используют объект синхронизации, называемый портом завершения, для ожидания завершения асинхронных запросов ввода-вывода. До выхода ОС Windows Vista при завершении операции ввода-вывода инициировавший данную операцию поток выполнял задачу завершения ввода-вывода, что приводило к переключению в процесс, к которому принадлежал данный поток, и прерыванию прочих действий. Затем система ввода-вывода обновляла состояние порта завершения, что приводило к возобновлению потока, ожидавшего изменения состояния порта.
В ОС Windows Vista обработка завершения ввода-вывода выполняется не потоком, инициировавшим операцию ввода-вывода, а потоком, ожидающим изменения состояния порта завершения. Это относительно небольшое изменение позволяет избежать ненужного планирования выполнения потоков и переключения контекста, что приводило к снижению общей производительности системы и приложений. Для еще большего повышения производительности сервер может получать результаты разных операций ввода-вывода от завершения одним запросом, избегая переходов в режим ядра.
Вероятно, одним из наиболее заметных нововведений в систему ввода-вывода с точки зрения конечного пользователя является поддержка в ОС Windows Vista отмены синхронных операций ввода-вывода. Всем, кто когда-либо выполнял команду net view или пытался обратиться к общему ресурсу на выключенном удаленном компьютере под управлением ОС Windows XP или Windows Server® 2003, знакомы проблемы с операциями ввода-вывода, которые невозможно отменить: команда или окно проводника не отвечали до истечения времени ожидания сети. Приложению не оставалось ничего иного, кроме как ожидать ошибки выполнения операции, поскольку не существовало способа оповестить драйвер устройства, выполняющий операцию ввода-вывода, о том, что данную операцию выполнять уже не нужно.
Большинство операций ввода-вывода в ОС Windows Vista можно отменить, включая операцию открытия файла, которую используют команда Net View и Проводник. Однако для того, чтобы приложения отвечали на запросы пользователя об отмене операции ввода-вывода, их необходимо обновить, и многие служебные программы ОС Windows Vista, взаимодействующих с устройствами, имеющими интервал ожидания, уже поддерживают данную возможность. Например, в диалоговых окнах открытия и сохранения файлов, применяющихся практически во всех приложениях ОС Windows, включая сторонние приложения, теперь во время отображения содержимого папки доступна кнопка Cancel (Отменить). Синхронные операции ввода-вывода команды Net также могут быть отменены нажатием комбинации клавиш Ctrl+C.
В преимуществах возможности отмены операций ввода-вывода легко убедиться, открыв окно командной строки в ОС Windows Vista и набрав команду:
Команда не будет отвечать до тех пор, пока ОС Windows будет пытаться связаться с несуществующей системой, но ее можно будет прервать, воспользовавшись сочетанием клавиш Ctrl+C. В ОС Windows XP комбинация клавиш Ctrl+C не действовала и команда не отвечала до истечения срока ожидания сети.
Еще одной разновидностью проблем с вводом-выводом в предыдущих версиях ОС Windows было то, что драйверы устройств не могли быть отменены должным образом, поскольку не существовало простого способа известить их об этом. Если пользователю приходилось завершать процесс, а затем видеть, как он остается в списке процессов, было можно наблюдать, как драйвер устройства не может ответить на запрос завершения процесса и отмены операции ввода-вывода, инициированной незавершенным процессом. ОС Windows не может окончательно завершить процесс до того, как все операции ввода-вывода данного процесса не будут либо завершены, либо отменены. В ОС Windows Vista драйверы устройств без проблем регистрируют извещения о завершении процесса, так что большинство проблем, связанных с незавершаемыми процессами, остались в прошлом.
Приоритет операций ввода-вывода
Несмотря на то, что операционная система Windows всегда поддерживала приоритеты использования ЦП, в ней отсутствовало понятие приоритетов операций ввода-вывода. Без поддержки приоритетов ввода-вывода фоновые операции, например индексация поиска, поиск вирусов и дефрагментация диска могут существенно ухудшать скорость ответа операций переднего плана. Пользователь, запускающий приложение или открывающий документ в то время, как другой процесс выполняет, например, операцию дискового ввода-вывода, сталкивается с задержками, поскольку приложению переднего плана приходится дожидаться доступа к диску. С теми же препятствиями сталкивается воспроизведение с жесткого диска потокового мультимедийного содержимого, например песни.
ОС Windows Vista обеспечивает два новых способа распределения приоритетов для предоставления предпочтения операциям ввода-вывода переднего плана: приоритеты на отдельные операции ввода-вывода и резервирование полосы пропускания ввода-вывода. Система ввода-вывода в ОС Windows Vista обеспечивает внутреннюю поддержку приоритетов операций ввода-вывода, как показано на рисунке 6, но используются только четыре приоритета (возможно, следующие версии ОС Windows будут поддерживать приоритет High (Высокий)).
Рис. 6 Приоритеты ввода-вывода в ОС Windows Vista
Критический | Диспетчер памяти |
Высокий | Не используется |
Нормальный | Приоритет по умолчанию |
Низкий | Приоритет задачи по умолчанию |
Очень низкий | Фоновые операции |
Приоритетом по умолчанию для операций ввода-вывода является Medium (Средний), а диспетчер памяти использует приоритет High (Высокий) для записи на диск содержимого памяти в ситуациях нехватки памяти для освобождения ОЗУ для других данных и кода. Планировщик задач ОС Windows устанавливает приоритет по умолчанию для задач ввода-вывода Low (Низкий), а написанные для ОС Windows Vista приложения, осуществляющие фоновую обработку, указывают приоритет Very Low (Очень низкий). Все фоновые операции в ОС Windows Vista, включая сканирование Windows Defender (Защитник ОС Windows) и индексирование поиска на рабочем столе, используют приоритет ввода-вывода Very Low (Очень низкий).
Драйвер устройства класса системного хранения (%SystemRoot%\System32\Classpnp.sys) обеспечивает приоритеты ввода-вывода, которые автоматически применяются к операциям ввода-вывода, ориентированных на большинство устройств хранения. Этот и другие драйверы хранения помещают в свои очереди операции ввода-вывода с приоритетом Medium (Средний) до операций с приоритетами Low (Низкий) и Very Low (Очень низкий), но при этом выполняют, как минимум, одну операцию с приоритетом Low (Низкий) или Very Low (Очень низкий) в секунду, чтобы не препятствовать выполнению фоновых процессов. Данные, прочитанные операциями с приоритетами Low (Низкий) и Very Low (Очень низкий), также приводят к тому, что диспетчер кэша производит запись изменений на диск незамедлительно, не откладывая, и обходит логику упреждающего чтения для операций чтения, что в противном случае приводило бы к упреждающему чтению из файлов, открытых для чтения. Пример операций с приоритетом Very Low (Очень низкий), выводимых программой Process Monitor, можно увидеть на боковой врезке «Просмотр операций ввода-вывода с приоритетом Very Low (Очень низкий)».
Поддержка резервирования полосы пропускания в ОС Windows Vista удобна для применения приложениями воспроизведения данных мультимедиа, и проигрыватель Windows Media пользуется ею наряду с повышением приоритетов службой MMCSS для почти безошибочного воспроизведения локального содержимого. Приложение проигрывателя мультимедиа запрашивает у системы ввода-вывода гарантии возможности чтения данных на указанной скорости и если устройство может предоставлять данные с указанной скоростью, а существующие ограничения резервирования это позволяют, оно предоставляет приложению данные о допустимой скорости и объеме операций ввода-вывода. Система ввода-вывода станет обслуживать другие операции только в том случае, если возможно удовлетворить требования приложений, зарезервировавших целевое устройство хранения.
В завершение следует упомянуть о еще одном изменении в системе ввода-вывода, относящемся к объему операций ввода-вывода. Со времен первой версии ОС Windows NT диспетчер памяти и система ввода-вывода ограничивали объем данных, обрабатываемых отдельным запросом ввода-вывода для устройства хранения, 64 КБ. Таким образом, даже если запрос ввода-вывода приложения был значительно больше, он разбивался на отдельные запросы, не превышающие 64 КБ. Каждая операция ввода-вывода подразумевала дополнительные затраты ресурсов на переключение в режим ядра и инициирование передачи ввода-вывода на устройство хранения, поэтому в ОС Windows Vista объем операций ввода-вывода больше не ограничивается. Некоторые компоненты пользовательского режима ОС Windows Vista подверглись модификациям для того, чтобы воспользоваться преимуществами большего объема операций ввода-вывода, включая функцию копирования в Проводнике и команду командной строки Copy (Копировать), которые теперь оперируют операциями ввода-вывода объемом 1 МБ.
Что дальше
Были рассмотрены две области, в которых ядро ОС Windows Vista подверглось улучшениям. Более подробное рассмотрение будет представлено в следующем издании книги Windows Internals (Внутренняя структура ОС Windows) (в соавторстве с Дэвидом Соломоном), которое должно выйти одновременно с ОС Windows Server под кодовым названием «Longhorn». В следующей статье данной серии будет продолжено знакомство с новым ядром и обсуждены вопросы управления памятью, а также запуска и завершения работы системы.
Наблюдение за процессом использования ЦП
Рисунок A Просмотр времени ЦП и разницы циклов в программе Process Explorer
Просмотр повышения приоритетов службой MMCSS
Убедиться в повышении приоритета потоков проигрывателя Windows Media службой MMCSS можно включив воспроизведение видео или звукового клипа, запустив системный монитор, установив масштаб графика равным 31 (наивысший приоритет потока в ОС Windows) и добавив счетчик Priority Current (Текущий приоритет) для всех экземпляров объектов потоков проигрывателя Windows Media (Wmplayer.exe). Один или несколько потоков будут выполняться с приоритетом, равным 21.
Рисунок B Повышение приоритета потока проигрывателя Windows Media
Просмотр операций ввода-вывода с приоритетом Very Low (Очень низкий)
Служебная программа реального времени Process Monitor от компании Sysinternals для наблюдения за файловой системой и реестром собирает подробную информацию об операциях чтения и записи файловой системы, включая приоритеты ввода-вывода в ОС Windows Vista. Выделенная строка демонстрирует пример запроса с очень низким приоритетом ввода-вывода, инициированного компонентом SuperFetch (который будет рассмотрен в следующей статье цикла).
Рисунок C Просмотр операций ввода-вывода с приоритетом Very Low (Очень низкий) при помощи программы Proces Monitor
Gaming Tweaks
Online Gaming can often benefit from some fine-tuning of Windows TCP/IP settings and the Network Adapter properties. This article is intended to supplement our general broadband tweaks and list only TCP/IP settings that are specific to online gaming and reducing network latency. Some of these settings are also mentioned in our general tweaking articles, however, the emphasis here is on latency rather than throughput, and we have complemented the tweaks with more gaming-specific recommendations and settings that give priority to multimedia/gaming traffic, and may be outside of the scope of other broadband tweaks that focus on pure throughput.
Disable Nagle’s Algorithm
(TCP Optimizer «Advanced Settings» tab)
This tweak works with all versions of Windows from Windows XP to Windows 8.1/10/2012 server. This is the same as listed in our general tweaking articles per OS.
Nagle’s algorithm is designed to allow several small packets to be combined together into a single, larger packet for more efficient transmissions. While this improves throughput efficiency and reduces TCP/IP header overhead, it also briefly delays transmission of small packets. Disabling «nagling» can help reduce latency/ping in some games. Keep in mind that disabling Nagle’s algorithm may also have some negative effect on file transfers. Nagle’s algorithm is enabled in Windows by default. To implement this tweak and disable Nagle’s algorithm, modify the following registry keys.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\
There will be multiple NIC interfaces listed there, for example: <1660430C-B14A-4AC2-8F83-B653E83E8297>. Find the correct one with your IP address listed. Under this
«TcpAckFrequency»=1 (DWORD value, not present by default interpreted as 2, 1=disable nagling, specifies number of outstanding ACKs before ignoring delayed ACK timer). For gaming performance, recommended is 1 (disable). For pure throughput and data streaming, you can experiment with small values over 2. Wifi performance may see a slight improvement with disabled TcpAckFrequency as well.
In the same location, add a new DWORD value:
TCPNoDelay=1 (DWORD, not present by default, 0 to enable Nagle’s algorithm, 1 to disable)
To configure the ACK interval timeout (only has effect if nagling is enabled), find the following key:
TcpDelAckTicks=0 (DWORD value, not present by default interpreted as 2, 0=disable nagling, 1-6=100-600 ms). Note you can also set this to 1 to reduce the nagle effect from the default of 200ms without disabling it.
For Server Operating Systems that have Microsoft Message Queuing (MSMQ) installed, or if you have the MSMQ registry hive present, also add TCPNoDelay to:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters
TCPNoDelay=1 (DWORD, not present by default, 0 to enable Nagle’s algorithm, 1 to disable)
Note: Reportedly, disabling Nagle’s algorithm can reduce the latency in many MMOs like Diablo III and WoW (World of Warcraft) by almost half! Yes, it works with Windows 7 and Windows 8.
Network Throttling Index Gaming Tweak
(TCP Optimizer «Advanced Settings» tab)
Works with all current versions of Windows from Vista to 8.1/10/2012 Server.
Windows implements a network throttling mechanism to restrict the processing of non-multimedia network traffic to 10 packets per millisecond (a bit over 100 Mbits/second). The idea behind such throttling is that processing of network packets can be a resource-intensive task, and it may need to be throttled to give prioritized CPU access to multimedia programs. In some cases, such as Gigabit networks and some online games, for example, it is beneficial to turn off such throttling all together for achieving maximum throughput.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile]
«NetworkThrottlingIndex»=dword:ffffffff (DWORD, default: 10, recommended: 10 for media sharing, ffffffff for gaming and max throughput, valid range: 1 through 70 decimal or ffffffff to completely disable throttling)
It is only recommended to change this setting in saturated Gigabit LAN environments, where you do not want to give priority to multimedia playback. Reportedly, disabling throttling by using ffffffff can also help reduce ping spikes in some online games. Games that may be affected by this throttling: Source Engine games (TF2, Left 4 Dead, CS:S), HoN, CoD, Overlord series.
System Responsiveness Gaming Tweak
(TCP Optimizer «Advanced Settings» tab)
Exists in all versions of Windows from Vista to 8.1/10/2012 Server.
Multimedia applications use the «Multimedia Class Scheduler» service (MMCSS) to ensure prioritized access to CPU resources, without denying CPU resources to lower-priority background applications. This reserves 20% of CPU by default for background processes, your multimedia streaming and some games can only utilize up to 80% of the CPU. This setting, in combination with the «NetworkThrottlingIndex» can help some games and video streaming. We recommend reducing the reserved CPU for background processes from the default of 20%.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile]
«SystemResponsiveness»=dword:00000000 (default: 20, recommended: decimal 10 for general applications, 0 for pure gaming/streaming)
Note: In Server operating systems (Windows 2008/2012 Server), SystemResponsiveness is set to 100 by default, denoting that background services should take priority over any multimedia applications.
Turn off LargeSystemCache
(TCP Optimizer «Advanced Settings» tab)
For local network large file transfers, this registry settings allows for better throughput and eliminates some file sharing event log errors (Event ID 2017 error). However, reportedly it has issues with some ATI Video card drivers and certain applications performance. Therefore we recommend turning it off (set to zero) for gaming.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
LargeSystemCache=0 (DWORD, default value: 0, recommended value: 1 for LAN throughput, 0 for gaming)
A value of zero establishes a cache of
8 MB, a value of 1 allows the cache to expand up to the amount of physical memory minus 4 MB, as necessary.
Disable Game Bar and Game Mode under Windows 10 Creators update
Windows 10 Creators’ update introduced a «Game Bar» to to help Xbox integration and gaming in general, however, they can reportedly cause stuttering during gaming, especially with Windows 10 builds prior to v1709.
More Gaming Tweaks
This section includes gaming-specific tweaks not listed in our general tweaking articles (and not implemented by the TCP Optimizer).
In the same Registry hive as the above two tweaks, you can also change the priority of Games, compared to other types of traffic. These tweaks only affect games that communicate with e Multimedia Class Scheduler Service (MMCSS). Below is a list of the settings and default/recommended values:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile\Tasks\Games]
«Affinity»=dword:00000000 (DWORD, default: 0, recommended: 0. Both 0x00 and 0xFFFFFFFF indicate that processor affinity is not used)
«Background Only»=»False» (REG_SZ, default: «False», recommended: «False», possible values are True or False). Indicates whether this is a background task.
«Clock Rate»=dword:00002710 (DWORD, default: 2710, recommended: 2710). The maximum guaranteed clock rate the system uses if a thread joins disk task, in 100-nanosecond intervals.
«GPU Priority»=dword:00000008 (DWORD, default: 2, recommended: 8. range: 0-31). The GPU priority. Not used in Windows XP and 2003.
«Priority»=dword:00000002 (DWORD, default: 2, recommended: leave alone if using «Scheduling Category» below, set to 6 otherwise for gaming, possible values are 1-8). The task priority, ranging from 1(low) to 8(high). Note for tasks with Scheduling Category of «High», this value is always treated as 2.
«Scheduling Category»=»High» (REG_SZ, default: «Medium», recommended: «High». possible values: Low, Medium, High)
«SFIO Priority»=»High» (REG_SZ, default: «Normal», recommended: «High») The scheduled I/O priority, possible values are Idle, Low, Normal, or High.
Congestion Control Provider
The TCP Congestion Control Algorithm controls how well, and how fast your connection recovers from network congestion, packet loss, and increase in latency. Microsoft changed the default «congestion provider» from CTCP to CUBIC with the Windows Creators update.
Possible settings are: none, CTCP, CUBIC, DCTCP, New-Reno
Recommended: CTCP for gaming and latency sensitive apps, CUBIC for pure throughput
To see the current setting, in PowerShell use: Get-NetTCPSetting | Select SettingName, CongestionProvider (in later Windows 10 builds, the default used template «SettingName» is «Internet». For more info se our Windows 10 Tweaks article)
Note: If using CTCP and with lossy connections (good possibility of congestion/packet loss), you may also want to enable ECN.
ECN Capability
(Editable with the TCP Optimizer)
ECN (Explicit Congestion Notification, RFC 3168) is a mechanism that provides routers with an alternate method of communicating network congestion. It is aimed to decrease retransmissions. In essence, ECN assumes that the cause of any packet loss is router congestion. It allows routers experiencing congestion to mark packets and allow clients to automatically lower their transfer rate to prevent further packet loss. Traditionally, TCP/IP networks signal congestion by dropping packets. When ECN is successfully negotiated, an ECN-aware router may set a bit in the IP header (in the DiffServ field) instead of dropping a packet in order to signal congestion. The receiver echoes the congestion indication to the sender, which must react as though a packet drop were detected. ECN is disabled by default in modern Windows TCP/IP implementations, as it is possible that it may cause problems with some outdated routers that drop packets with the ECN bit set, rather than ignoring the bit.
Possible settings are: enabled, disabled, default (restores the state to the system default).
Default state: disabled
Recommendation: «enabled» for gaming only with routers that support it, after testing. It’s effects are more noticeable in the presence of congestion/packet loss. Disable for pure throughput with no packet loss.
ECN works well for short-lived, interactive connections like gaming and HTTP requests with routers that support it, in the presence of congestion/packet loss. It can be disabled if tuning for pure bulk throughput with large TCP Window, no regular congestion/packet loss, or with outdated routers that do not support ECN.
To change using netsh:
netsh int tcp set global ecncapability=enabled
(alternative syntax: netsh int tcp set global ecn=enabled)
To change using PowerShell cmdlets in Windows 8.1/2012 Server R2 :
Notes:
ECN is only effective in combination with AQM (Active Queue Management) router policy. It has more noticeable effect on performance with interactive connections, online games, and HTTP requests, in the presence of router congestion/packet loss. Its effect on bulk throughput with large TCP Window are less clear. Currently, we only recommend enabling this setting in the presence of packet loss, with ECN-capable routers. Its effects should be tested. We also recommend using ECN if you are enabling the CoDel scheduling algorithm to combat bufferbloat and reduce latency.
Use caution when enabling ECN, as it may also have negative impact on throughput with some residential US ISPs. Some EA multiplayer games that require a profile logon do not support ECN yet (you will not be able to logon). Note that if supported, ECN can reduce latency in some games with ECN-capable routers in the presence of packet loss (dropped packets).
Disable Receive Segment Coalescing State (RSC)
(Editable with the TCP Optimizer) This is applicable to Windows 8/10/2012 Server, not available for earlier Windows versions.
Receive Segment Coalescing (RSC) allows the NIC to coalesce multiple TCP/IP packets that arrive within a single interrupt into a single larger packet (up to 64KB) so that the network stack has to process fewer headers, resulting in 10% to 30% reduction in I/O overhead depending on the workload, thereby improving throughput. Receive Segment Coalescing (RCS) is able to collect packets that are received during the same interrupt cycle and put them together so that they can be more efficiently delivered to the network stack. While this reduces CPU utilization and improves thorughput, it can also have a negative impact on latency. That is why we recommend you disable it where latency is more important than throughput.
Possible states: enabled, disabled, default. Default state: disabled
Recommended: disabled for pure gaming latency, enabled for better throughput.
To enable using netsh:
netsh int tcp set global rsc=disabled
To change using PowerShell cmdlets:
Notes: Only supported by some network adapters. May need «Checksum Offload» enabled as well to work.
Disable Large Send Offload (LSO)
(Editable with the TCP Optimizer) Windows 8/10/2012 Server, not available in earlier Windows versions
Large Send Offload lets the network adapter hardware to complete data segmentation, rather than the OS. Theoretically, this feature may improve transmission performance, and reduce CPU load. The problem with this setting is buggy implementation on many levels, including Network Adapter Drivers. Intel and Broadcom drivers are known to have this enabled by default, and may have many issues with it. In addition, in general any additional processing by the network adapter can introduce some latency which is exactly what we are trying to avoid when tweaking for gaming performance. We recommend disabling LSO at both the Network Adapter properties, and at the OS level with the setting below.
Default: adapter-dependent
Recommended: disable (both in network adapter properties and in the TCP/IP stack at the OS level)
Notes: Default state is network adapter dependent. Needs Checksum Offload to be enabled to work.
Receive-Side Scaling State (RSS)
(Editable with the TCP Optimizer)
It is sometimes useful to disable RSS if you need to reduce CPU load. This is useful on systems with older/slower CPUs where games tax the processor up to 100% at times. This could be checked with «Task Monitor». Disabling RSS will only have an effect if your network adapter is capable/using RSS, and the CPU is being used up to 100%. Otherwise, you can leave it enabled.
netsh int tcp set global rss=disabled
Advanced Concepts
Disable Coalescing: Some network adapters support advanced settings, such as DMA Coalescing, DCA Coalescing, Receive Segment Coalescing (RSC). In general, any type of packet or memory coalescing can reduce CPU utilization (also power consumption) and increases throughput, as it allows the network adapter to combine multiple packets, however, coalescing can also have negative impact on latency, especially with more aggressive settings. That is why it should be either disabled, or used very conservatively for gaming. Any type of network adapter packet/memory coalescing allows the NIC to collect packets before it interacts with other hardware. This may increase network latency. For gaming, disable «DMA coalescing» and «Receive Side Coalescing State (RSC)», where applicable.
TCP Offloading: TCP Offloads can improve throughput in general, however, they’ve been plagued by driver issues in the past, and, they also put more strain on the network adapter. For pure gaming, disable any TCP Offloads, such as «Large Send Offload (LSO)», for example. For pure gaming and lowest possible latency, the only safe offload that should be left to the network adapter is «Checksum Offload».
Disable Interrupt Moderation: If your Network Adapter supports this setting, it should be disabled for the lowest possible latency (at the expense of a bit higher CPU utilization).
For some of those settings specific to your OS, see our tweaking articles. To disable at the network adapter, see our Network Adapter Optimization article.
Use adequate Send/Receive buffers: low send/receive buffers values conserve a bit of memory, however they can result in dropped packets and decreased performance if exhausted, so they shouldn’t be set to values less than 256 in general. Higher-end NICS/systems can increase the values a bit to 512, or up to 1024.
Router Settings
Most broadband users have some type of NAT router that sits between them and the internet. There are some settings that may help your router better prioritize gaming traffic and improve gaming experience.
Enable upstream QoS in your router. It may be useful to enable upstream QoS at the router, if available, to prioritize the different types of traffic. Upstream QoS is important, because typically residential connections have much lower upstream cap, and when upstream bandwidth is all utilized, it can introduce some delay in the downstream traffic as well. Note this is only recommended for newer routers, where the router has ample computing power to handle the QoS overhead.
Enable WMM if using Wi-Fi. If you must use Wi-Fi, enable WMM, and try to avoid USB Wi-Fi adapters.
Use Open Source Firmware. Many NAT router models support open source firmware, such as dd-wrt, Tomato, etc. If your router’s default firmware does not support advanced functionality that you may need (QoS, WMM, VLANs, etc.), you may be able to flash dd-wrt instead. It is not uncommon for open source firmware to make your connection more stable and reduce router overhead/delay.
Note: If using dd-wrt, or on Wi-Fi, check our wireless network speed tweaks, some of the advanced router settings are applicable to wired connections as well.
General Online Gaming Recommendations
Intel Recommended Network Adapter Settings
Optimized for quick response and low latency (Gaming):
Optimized for throughput:
For low CPU utilization:
Notes
In some situations, latency can even be reduced by using a VPN provider. Many ISPs provide fast/reliable internet locally between you and their servers, however lack in both speed in latency when it comes to their peering arrangements and backbones for longer distance connections. They could also be throttling certain traffic types. In such situations, a local to you quality VPN provider may allow you to avoid the ISP bottleneck by bypassing a lot of internal/cluttered routing and skip to a distant location faster, providing a lower latency connection.
Some of the tweaks in our general broadband tweaks articles can benefit gaming as well, like disabling «Windows Scaling Heuristics», disabling TCP 1323 Timestamps to reduce the TCP headers overhead, etc.
Most of the Registry tweaks above (with the exception of «More Gaming Tweaks») can be applied easily by using the TCP Optimizer
See Also
We appreciate any feedback and always listen to user suggestions.
- Ультразвуковая эндоскопия желудка что это
- pc3 8500 что это