Все прерывания делятся по следующим приоритетам: 1 место - работает на уровне кольцо -2 прерывания SMI (system management interrupt — прерывание системного управления), которое возникает: -по сигналу от чипсета или периферии на материнской плате -программный SMI, посланный системным ПО через порт ввода-вывода -запись по адресу ввода-вывода, для которого микропрограммно установлена необходимость активации SMM. 2 место - гипервизор, который работает в кольце -1 3 место - ядро операционной системы - работает в кольце 0 4 место - пользовательский уровень - работает в кольце 3
Позднее дополню каждый раздел. Все проблемы у нас связаны с тем, что windows относится к операционным системам с вытесняющей многозадачностью. Вытесняющая многозадачность требует обработки системного прерывания от аппаратного таймера. По истечении кванта времени, отведённого процессу, происходит прерывание и вызывается планировщик процессов. Частота вызова планировщика критична: слишком частый его вызов будет расходовать процессорное время впустую. Единственное, что мы можем изменить - это увеличить время кванта и поменять соотношение квантов времени на активную задачу и задачи в фоне, за это отвечает параметр в реестре Win32PrioritySeparation По умолчанию 0х26 кванты 18:6 = Оптимальный вариант. https://github.com/keoy7am/Win32PrioritySeparationTool При этом само время кванта зависит от системного таймера. При системном таймера 15.625 мс оно будет больше, чем при 1.0 мс. Высчитывается время системного таймера * тики. 1 тик= 3 кванта Для системного таймера 0.5 мс фону тогда буде даваться 0.5мс*6/3 = 1мс из каждых 4 мс. При 1 мс - 2мс из каждых 8мс. При 2 мс - 4мс из каждых 16мс. Для борьбы с фризами оптимально выставить системный таймер 0.5мс.
SMI-прерывания зависят от BIOS/UEFI и оборудования. Отключаем все лишнее, отключаем энергосохранение, скорость вентиляторов фиксируем, это все, что мы можем сделать. В нашем плане энергосохранения выбрать оценка для поднятия частоты вместо 15 мс максимум 5000 мс. Есть программа Intel SMI Latency Checker Для гипервизора - отключаем поддержку виртуальных машин в биосе.
Про прерывания на уровне ядра и пользователя в windows.
В Windows применяется: - для x86 - 32 уровня IRQL от 0 до 31 (в скобках указано числовое значение): High (31) Power fail (30) IPI (29) Clock (28) Profile (27) Диапазон аппаратных прерываний, называемых Devices IRQL, или DIRQL (от 26 до 3) или ISR DPC/DISPATCH (2) APC (1) PASSIVE (0) Это означает, например, что планировщик (работающий на уровне DPC/DISPATCH) может быть прерван аппаратными прерываниями, межпроцессорными прерываниями (IPI) и т. д., но не может быть прерван асинхронными процедурами (APC) и обычными потоками, работающими на уровне PASSIVE. Межпроцессорные прерывания IPI могут быть прерваны сбоем электропитания (прерывание на уровне Power fail), но не могут быть прерваны обычными аппаратными прерываниями от устройств и т. д. - для х64 16 уровней IRQL (от 0 до 15) High/Profile (15) Interprocessor interrupt/Power (14) Clock (13) Synch (12) Device n (11) ......... Device 1 (3) Dispatch/DPC (2) APC (1) Passive/Low (0)
При этом: hardware interrupts 3-15 (3-31) software interrupts 1-2 (1-2) normal thread execution 0 (0)
Наш пользовательский процесс может иметь следующие приоритеты: Idle - 4 Below Normal - 6 Normal -8 Above Normal -10 High -13 Real-Time -24 Внутри процесса мы можем задать приоритет для его потоков: Idle дает итоговый приоритет процесса с потоком 1, кроме real-time, там он его просто снизит до фиксированной 16 Lowest -2 Below Normal -1 Normal 0 Above Normal +1 Highest +2 Time Critical +7
Итоговый приоритет потока - это сумма приоритетов процесса и потока. 31 - максимум Real-Time - от 16 до 31. При этом даже максимальный 31 приоритет не лает нам возможности подняться выше уровня Passive/Low(0), поэтому любое прерывание на нашем ядре прервет нашу программу.
Борьба с прерываниями. Бороться надо двумя путями. Первый путь - уменьшить само количество прерываний=их частоту. Частота прерываний за 1 секунду до 10000 считается еще неплохой. Второй путь - уменьшить длительность прерываний. Есть еще третий путь - освободить от прерываний нужные нам ядра.
Первое и самое главное. Установка максимально облегченной и очищенной системы. Если хватит windows 10, то лучше ставить ее. 23H2 лучше, чем 24Н2. Отключить динамический таймер. Поднять, а не снизить время для системного таймера до 15,625 мс! Если снизим до 0.5 мс, то увеличим количество прерываний. Но тут вступает в действие многозадачность винды. 1/4 времени отдается фоновым процессам. Минимум - это 6 тиков=2 кванта Полностью вырубить все фоновые процессы на винде мы не сможем. Для 120 кадров нам нужно иметь перерыв не больше 1/120=8.(3) мс. Поэтому подходит время для системного таймера только 0.5 мс /1 мс и условно 2 мс , так как 2 мс*2=4 мс. Внести в реестр для глобальной настройки системного таймера (работает только для win 11) [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\kernel] "GlobalTimerResolutionRequests"=dword:00000001"
Отключить VSYNC. Включить тройную буферизацию если процессор успевает рендерить, то компенсирует воемя двух кадров: 2*1000 мс / частоту кадров в Гц Краткий список исследований по психофизиологии: Watson (1986): Задержки <5 мс незаметны. Kelly (1979): Порог фликера <2 мс. Burr & Ross (1982): 10% кадра = 100мс/частоту кадров (при движении). Clayton (2018): 1–2% кадров= 1000мс*процент пропуска кадров (10–20 мс/с) незаметно. Carrasco (2011): <5–10 мс при внимании. Hoffman et al. (2017): <3 мс с размытием. Swafford et al. (2016): <4 мс, 2% (20 мс) при редких фризах (реже 1 раза в секунду). Digital Foundry (2025): 0.125 фриза/с=0.125*1000мс/частоту кадров Гц) заметно при частых повторениях.
Для 120 Гц: 1982-0.833мс 2025-1.042мс
Снизить частоту опроса мыши до 125Гц.
Главные правила для таймеров: Таймеры используются для времени (QPC) и для системных прерываний=тиков.
useplatformclock disables TSC and uses the platform source clock instead (HPET or PMT). PMT is used when HPET is disabled in BIOS. useplatformtick disables TSC tick and uses the platform source tick instead (RTC). Does disabledynamictick work when useplatformtick is used? No, it does not do anything since RTC is not a dynamic tick counter.
При этом возможны разные комбинации таймеров.
TSC + TSC without desync: bcdedit /deletevalue useplatformclock - bcdedit /deletevalue useplatformtick (make sure HPET is enabled in BIOS) TSC + RTC: bcdedit /deletevalue useplatformclock - bcdedit /set useplatformtick Yes HPET + RTC: bcdedit /set useplatformclock Yes - bcdedit /set useplatformtick Yes (make sure HPET is enabled in BIOS) PMT + RTC: bcdedit /set useplatformclock Yes - bcdedit /set useplatformtick Yes (make sure HPET is disabled in BIOS) Частота HPET 14.318180 MHz, в 4 раза выше частоты ACPI PM Timer. RTC устаревший тайминг с частотой от 2-х до 8192 Гц. Использует кварц 32.768 KHz HPET требует больше времени на вызов, чем TSC или PM Timer, но это важно только для системных прерываний. HPET и PM timer находятся в южном мосте. TSC в процессоре. Поэтому вполне допустима комбинация HPET (для времени QPC)+TSC (для тиков).
bcdedit /set useplatformtick no (отключаем RTC и включаем TSC для тиков) bcdedit /set useplatformclock no (отключаем HPET и включаем TSC для времени QPC) bcdedit /set disabledynamictick yes (отключаем динамическое изменение частоты системного таймера - влияет только на тики) bcdedit /set tscsyncpolicy Enhanced (включаем улучшенную синхронизацию TSC-таймера) HPET не следует отключать в биосе и в диспетчере устройств. Посмотреть текущую конфигурацию можно с помощью команды bcdedit /enum
Обсуждение проблем ОС и оборудования: задержка реакции системы (latency), микроcтаттер, инпутлаг, фризы.
Перед тем как задавать вопросы, просьба прочитать FAQ
Осуществлять мониторинг программойLatency Monitorнужно в течение 1 минуты, в состоянии простоя системы т.е. без дисковой, сетевой активности, и любой другой, с выключенным ав и приложениями в трее и автозагрузке, не раньше чем через 2 минуты после загрузки системы. Не двигаем мышку и не используем клавиатуру в момент измерений. Потом остановка и скриншот.
Member
Статус: Не в сети Регистрация: 14.06.2009 Откуда: Омск
Да, у кефри (стример, овервотч) 100% та же проблема с плавающей мышкой, плохой картинкой(фпс не выглядит на свой) и да, это видно на стриме все. Если кому не видно протрите глаза. И мне чет кажется что это он создавал тему на блюрбастерс жалуясь на инпут лаг на вдове и ане, конфиг очень похож, кажется только пару железок поменял в описании))) Тут уж пусть каждый что хочет думает, интернет , сервера , электричество , вспышки на солнце, не знаю.
Member
Статус: Не в сети Регистрация: 28.02.2008 Откуда: Калининград Фото: 99
OLD Hunter писал(а):
Тут уж пусть каждый что хочет думает, интернет , сервера , электричество , вспышки на солнце, не знаю.
Руки? Не в плане аима, а в плане грамотности и способности настроить железо оптимальным образом. Во времена моей молодости советовали переустановить драйвер ruki.sys
Advanced member
Статус: Не в сети Регистрация: 05.01.2006 Откуда: мск Фото: 5
поставил дрова без рефлекса, конкретно 442.74. Пара вечеров было так себе. а вчера в одном матче вдруг прокакалось чтото и начал стрелять как должен. #77 думаю ктонить зарепортил...
обидно что имея способность всегда так стрелять, но из-за х-пойми чего, обычно играю на 40-45 точности
_________________ ✅ РЕМОНТ мышек! ✅ качественно и с гарантией ✅
Member
Статус: Не в сети Регистрация: 14.06.2009 Откуда: Омск
k2viper писал(а):
Руки? Не в плане аима, а в плане грамотности и способности настроить железо оптимальным образом. Во времена моей молодости советовали переустановить драйвер ruki.sys
Нужно логику включить. Если у людей это все меняется и есть четкая связь с электричеством дома, то руки тут не при чем. Я понимаю что если не сталкивался то трудно поверить, но зачем так упорно отрицать, когда это не один человек говорит и есть куча тем в инете, дискордов и прочего.
iG0Lka писал(а):
обидно что имея способность всегда так стрелять, но из-за х-пойми чего, обычно играю на 40-45 точности
руки кривые не можешь настроить комп, чтобы так всегда было шутка естественно
Advanced member
Статус: Не в сети Регистрация: 05.01.2006 Откуда: мск Фото: 5
OLD Hunter смех смехом, но если оно так может работать, то значит дело не в компе, мышке или клаве, а в инете. хотя я тут синапс снес, который нужен был для работы мелкой клавы - razer orbweaver. раньше не мог так как кнопка которую я использую как пробел, разером зачем то по дефолту назначена кнопка win т.е. если снести синапс то переназначение не работает а использовать win невозможно - экран переключается. пришлось физически проводки перепаять. зато теперь без синапса. только два разеровских драйвера пришлось оставить. Но это я так для чистой совести, и пару дней никакого эффекта не было, так что просралось явно не по этому.
_________________ ✅ РЕМОНТ мышек! ✅ качественно и с гарантией ✅
Member
Статус: Не в сети Регистрация: 28.02.2008 Откуда: Калининград Фото: 99
iG0Lka писал(а):
а вчера в одном матче вдруг прокакалось чтото и начал стрелять как должен.
Не думал что перестановки дров туда-сюда накладываются на человеческий фактор с адаптацией? Причем адаптация на сокращенную цепочку рендеринга происходит быстрее чем на её удлиннение. От этого сразу после перехода не понятно, есть эффект или нет - надо время адаптироваться.
iG0Lka писал(а):
хотя я тут синапс снес, который нужен был для работы мелкой клавы - razer orbweaver.
Лучше держись подальше от этого Г. Помню снос синапса и по DPC неплохо сбросил показания. Поэтому следующую мышь искал которая будет без софта работать.
Advanced member
Статус: Не в сети Регистрация: 05.01.2006 Откуда: мск Фото: 5
k2viper писал(а):
Причем адаптация на сокращенную цепочку рендеринга происходит быстрее чем на её удлиннение.
Насколько цепочка короче? Когда использовал рефлекс то мне показалось, что он делает прицеливание более отзывчивым когда другие причины ухудшают отзывчивость. как пример - без рефлекса прицел задумчивый, чувствуются небольшая плавающая задержка при выстреле и при реакции на действия противников. Включаю рефлекс и становится получше, но только нормально, не дотягивает до хорошо и тем более идеально. Но когда всё и так хорошо, включение рефлекса не ощущается. Я использую лок фпс на 145, все настройки графики сброшены на самые низкие, прорисовка стоит на 75%. При таких настройках фпс может быть под 300 кадров и наверно выше.
k2viper писал(а):
есть эффект или нет - надо время адаптироваться.
согласен - слишком мало я просидел с рефлексом, всего пару дней... Планирую еще поставить на недельку другую.
_________________ ✅ РЕМОНТ мышек! ✅ качественно и с гарантией ✅
Member
Статус: Не в сети Регистрация: 25.01.2004 Откуда: Ростов-на-Дону Фото: 4
iG0Lka писал(а):
а вчера в одном матче вдруг прокакалось чтото и начал стрелять как должен.
Да всё там одно и то же. Просто сделай запись живой игры где залетает и не залетает и посмотри на четверть скорости. Тебе просто попался матч, где челы не спамят стрейфы и поэтому ты попадал. Инерции в игре ноль, хитбоксы раскачиваются мгновенно. И спамят стрейфы они не потому что скилл, а просто так играют - жму все кнопки.
Добавлено спустя 2 минуты 54 секунды:
iG0Lka писал(а):
Включаю рефлекс и становится получше, но только нормально, не дотягивает до хорошо и тем более идеально.
Рефлекс сделан чтобы играть на перегрузке гпу, с фпс значениями в районе 40-70 или с всинком. Если ничего этого нет изначально, то рефлекс ничего не даст.
Добавлено спустя 11 минут 21 секунду:
OLD Hunter писал(а):
Нужно логику включить. Если у людей это все меняется и есть четкая связь с электричеством дома, то руки тут не при чем. Я понимаю что если не сталкивался то трудно поверить, но зачем так упорно отрицать, когда это не один человек говорит и есть куча тем в инете, дискордов и прочего.
Member
Статус: Не в сети Регистрация: 14.06.2009 Откуда: Омск
Genrix писал(а):
Попался тут один с инпутлагом и плохим электричеством.
А вот ты зря смеешься. Он же был в этой теме, это Fet KiLLa, он заходил сюда давно, говорил что как можно настроить, говорил что эл-во это бред и везде все одинаково. Жил в 22 этажном доме каком-то в мск. Кидал ролики с 1.6 - игра у него работала идеально. Затем через неск месяцев переехал и получил полный трэш. Мне его даже жалко.
Member
Статус: Не в сети Регистрация: 28.02.2008 Откуда: Калининград Фото: 99
Genrix писал(а):
Если ничего этого нет изначально, то рефлекс ничего не даст.
Ну вот нет. У меня фпс 300 и загрузка гпу не превышает 90%. Однако первый же запуск игры после установки рефлекса - сразу заметный эффект. Другое дело что скилла рефлекс не прибавляет, вот это правда )
Member
Статус: Не в сети Регистрация: 25.01.2004 Откуда: Ростов-на-Дону Фото: 4
k2viper писал(а):
Ну вот нет. У меня фпс 300 и загрузка гпу не превышает 90%. Однако первый же запуск игры после установки рефлекса - сразу заметный эффект.
#77 #77
Ну вот смотри, включение рефлекса дало снижение минимального случая, но не изменило размер стандартной дивиации и максимальный. То есть получить от игры менее 50мс среднего - никак не вышло со вводом рефлекса. Что касается того, того там 60фпс в табличке, так у него в других замерах от 150фпс почти ничего не менялось. А вот при игре на перегрузке гпу - снизило радикально. А то что у тебя не превышает 90%, так это надо записать матч с мониторингом, а потом просмотреть, потому что в мясе может подскакивать значительно, а еще можно пропустить 90+% если мониторинг снимает данные каждые 1000мс, а не 250мс или менее. И играя на перегрузках гпу и цпу, тем более что планировщик у нвидии софтовый на цпу - можно и получать рандомные задержки реакции.
Добавлено спустя 52 секунды:
OLD Hunter писал(а):
Мне его даже жалко.
Ну у чела явно похоже, что какие-то заболевания или пограничное состояние, жаль конечно.
_________________ 12400|224XT|MSI PRO B660M-A DDR4|4x8Gb@3466|KFA2 3060-12X|Deepcool PQ650M|Corsair 200R|Win11x64
Member
Статус: Не в сети Регистрация: 28.02.2008 Откуда: Калининград Фото: 99
Genrix писал(а):
А то что у тебя не превышает 90%, так это надо записать матч с мониторингом, а потом просмотреть, потому что в мясе может подскакивать значительно, а еще можно пропустить 90+% если мониторинг снимает данные каждые 1000мс, а не 250мс или менее.
Вряд ли, потому что average загрузка гпу у меня 60-65% и только в редких пиках подскакивает. Сомневаюсь что она зашкаливает.
Genrix писал(а):
Ну вот смотри, включение рефлекса дало снижение минимального случая, но не изменило размер стандартной дивиации и максимальный.
То есть средний таки снизился (если стандартная девиация и максимальный не менялись, но минимальный снизился)? То есть положительный эффект есть. И эффект я ощутил сразу, т.к. "рука набита".
Member
Статус: Не в сети Регистрация: 14.06.2009 Откуда: Омск
Вот видите, один видит профит от рефлекса, другой нет. При этом оба не верят в аномальный инпут лаг, ещё и требуя какие-то тесты /доказательства. И главное - рефлекс значит нет даёт уменьшение задержки, несмотря на тесты, которые говорят обратное. Тут можно полагаться на ощущения. Но когда другие говорят что у них повышенный инпут лаг и мышь буквально плавает - тут уже нельзя полагаться на ощущения, давай пруфы
По рефлексу - да, эффект от него есть. Лучше всего пока такое сочетание - сокращение буферизации выкл, рефлекс вкл.
Member
Статус: Не в сети Регистрация: 25.01.2004 Откуда: Ростов-на-Дону Фото: 4
k2viper писал(а):
Хочешь сказать эффекта нет, и то что ощущают люди - самообман? )
Эффекта нет, если у чела стоял фпс лимит в игре, который не позволял грузить гпу выше 90%. Самообман - да. Люди зачастую слышат, видят и чувствуют то чего нет. Поэтому приборы лучше, они обладают большей точностью и чувствительностью и не фантазируют.
_________________ 12400|224XT|MSI PRO B660M-A DDR4|4x8Gb@3466|KFA2 3060-12X|Deepcool PQ650M|Corsair 200R|Win11x64
Member
Статус: Не в сети Регистрация: 25.01.2004 Откуда: Ростов-на-Дону Фото: 4
OLD Hunter писал(а):
И главное - рефлекс значит нет даёт уменьшение задержки, несмотря на тесты, которые говорят обратное.
Тесты и говорят, что не дает. Тут собрались одни писатели, которые не могут изучить 2 картинки?
Добавлено спустя 2 минуты 48 секунд:
OLD Hunter писал(а):
Эффект есть, он довольно явный. Проверял с гсинк и лимитом на 138 фпс
Чем ты проверял? Рукой? Аудиофилы подробно описывают разницу между двумя побитовыми копиями файлов. Какой еще гсинк? От переменного рефрешрейта инпутлаг на 144гц такой же, как на 60гц мониторе без всинка.
_________________ 12400|224XT|MSI PRO B660M-A DDR4|4x8Gb@3466|KFA2 3060-12X|Deepcool PQ650M|Corsair 200R|Win11x64
Advanced member
Статус: Не в сети Регистрация: 05.01.2006 Откуда: мск Фото: 5
k2viper писал(а):
Хочешь сказать эффекта нет, и то что ощущают люди - самообман? )
да балабол же. и если посмотреть на графики которые он привел даже смешно... первый график рефлекс там где гпу не загружено выключен, в остальных случаях гпу загружен на 99%, а нам надо сравнить когда гпу не загружен и рефлекс включен и выключен. на первом графике этого нет. Поэтому говорить о том что эти тесты показывают, что рефлекс бесполезен, когда гпу не загружен смешно т.к. на картинке нет такого состояния. на этой картинке вообще похоже тестируется влияние reduce buffering.
на второй картинке еще смешнее - там рефлекс вообще везде выключен! И чел при этом говорит что он не влияет... конечно не влияет когда он выключен... этот чел просто балаболка или жырный троль.
======= Вчера поставил последние дрова с сайта нвидиа - 466-11 Днем зашел в овервоч. в аркаду там есть сейчас 6х6 классический быстрый матч. ищет моментально, в отличии от квика по ролям. Так вот я офигел от того как двигался перс - у меня было ощущение что я играю под спидами музыканта... Особенно на трейсе и на солдате... На вдове пришлось чувствительность в прицеле даже чуть уменьшить... Но вечером уже было как обычно, холтя попадалось чуть получше чем в среднем по игре... буду еще тестировать.
_________________ ✅ РЕМОНТ мышек! ✅ качественно и с гарантией ✅
Сейчас этот форум просматривают: MaXoN_Fe и гости: 8
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения