Все прерывания делятся по следующим приоритетам: 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 минуты после загрузки системы. Не двигаем мышку и не используем клавиатуру в момент измерений. Потом остановка и скриншот.
Ant1Cheater Пока не игрался, так как на встройке пока что тестирую, но в рабочем столе и браузере всё нормально без отвалов, ранее тоже могло быть долгое время всё нормально, нужно больше времени, думаю завтра об этом подробнее напишу, как раз и в играх проверю что бы убедительнее было, за совет спасибо.
Вообще с нвидией траблы будут везде и что я знаю по опыту это то что определенный драйвер работает на определенных билдах виндоус по разному вызывая разный латенс даже на разных сборках одного и того же билда , про или урезанной компактной какой нибудь К примеру на windows 10 pro 1909 мой любимый драйвер для моей видеокарты был 432.00 https://forums.guru3d.com/threads/windo ... 19.428980/ он обычно дефолтный , но мне он нравился , так как в течении двух минут бездействия показывал только одну риску в четвертой графе задержек Но вся фигня в том чтобы сделать латенс меньше это нужно иметь определенное везение к некоторым факторам Например , все windows 10 после 1609 являются говном . Самая лучшая виндоус является windows 7 И сейчас я обьясню почему во первых я обладают не везением к тому что не могу перейти даже не 1609 так как мне напишет драйвер что моя видюха слишком новая для этого билда Второе я не могу перейти на виндоус 7 , мой проц держит только десятку и материнка вроде бы по драйверам тоже только с десяткой И какой вывод ставить вроде бы не помню от 1809 билд ,но вот я ставил 1809 не помню там не чекал латенс просто играл , у меня по факту проблем не было не каких,я просто этой темой занялся так как она мне показалось занимательной . виндоус кернел ну виндоус кернел у всех нвида кернелы и д икс левелами
Но теперь обьясню почему 7 и 1609 лучше ,а на том на чем мы сидим полная параша потом скину пруфы видосы его нужно будет смотреть с субтитрами или возможно вы уже смотрели и поймете что , не мышь , не qpc таймеры , ничего в виндоус 10 не работает адекватно , она может только загружаться за 5 сек и то если вы скачали чистую вам потребуется по мимо виндоус твикера еще 5 программ чтобы они автоматом всё стерли к чертям .
Теперь к скрину на скрине таймеры qpc 10000mhz этот таймер во всех виндоусах с семерки точно и до 10 1609 ровнялся 3.9 гц , а стал 10 , это является очень плохой задержкой , которая как раз сказывается на латенси в этой проге и нвидиа кернеле, есть множества людей уже давно всем известно что dcp и другие задержки меньше и зеленые практически всегда на 1609 с теми таймерами . Видосы https://www.youtube.com/watch?v=1o0f5sduQwY&t=2033s https://www.youtube.com/watch?v=EG4g9XlKw5w
Добавлено спустя 5 минут: вот такой вот график на вин 7 По мыше определяются задержки , по тому как идут точки ,можно узнать многое о винде ,параша это или нет,обычным изи слабочках лоу скильным это не понять , кто то не видит разницу между 60 герцами и 144 ,а кто то между 100-120-144 и выше ,а кто то чувствует отклик на руку 125 гц 500 - 1000 так что как то так) Скажу просто были бы деньги сделал бы всё так чтобы с хорошем железом сидел на вин 7 всю оставшуюся жизнью.С РАДЕОНОМ!
Member
Статус: Не в сети Регистрация: 02.02.2016 Фото: 4
Вдруг кто нибудь тут поможет, ил подскажет, появился инпут лаг на мышке, прям на рабочем столе, не сильный, но неприятный. Я пробовал разные мышки, не помогло, разные юсб порты, тоже не помогло, так как очень много играю в кс, я чувствую что есть разница, накатил ЧИСТУЮ винду, тоже не помогло, сброс биос, не помог, Что могло случиться??
_________________ 12400f / B660 gaming x / 2x8 3600 cl 16 36 / m2 fury renegade / dq 850 wh / sb Z / 1070 ti / Xl2566k 360 hz
для cs отключение hpet отключение акселерации markc на ярлыке запускать режим совместимости windows 7 вроде или xp и ставить галочку в свойствах отключить оптимизацию во весь экран. Весь драйвер нвидиа должен стоять на полной производительности Масштабирование можно оставить на дефолте. Еще кс 1.6 была одноядерная с ней ничего нельзя было сделать, кс го любит чтобы все ядра работали то есть QuickCpuSetup64 в тему будет настройки мыши в самой игре можно оставлять по дефолту в кс го так же необязательно вводить -noforcem команды там и так кс достаточно хорошо отключает аксель если он отключен с помощью markc в биосе должны быть отключены c- приоритеты. Должен быть хороший фирмы блок питания , обычные разетки с заземлением это такое , хз даете или нет у меня всю жизнь заземлены как и у всех наверное в норм квартирах Ну как то так
Добавлено спустя 5 минут 26 секунд: всё это ты сможешь найти сам Кроме того как отключить с приоритеты ,они находятся в биос ,сейчас дам видео более менее понятно видео от людей которые шарят за игру https://www.youtube.com/watch?v=METOR4l_lHY&t=429s
Member
Статус: Не в сети Регистрация: 14.06.2009 Откуда: Омск
CRYSTALCASTLE писал(а):
Что могло случиться??
Кто-то еще может подтвердить(человек со стороны) что он есть, этот инпут лаг?
Fet KiLLa писал(а):
для cs отключение hpet отключение акселерации markc
Это все ни о чем. Для минимального инпут лага, во всех сетевых игрушках, нужно нормальное электричество(в чем его нормальность, никто еще в мире не определил, но это факт) и хороший инет. Я знаю людей у которых появляется инпут лаг и ничего уже не помогает, даже переезд, с тем же ПК. Помогает только покупка нового ПК. Так что это такая тема, довольно мутная с кучей нюансов. Все эти настройки конечно хорошо, но они могут исправить лишь какие-то очевидные глюки.
Как вот человек выше, ничего личного, он давно носится со своим инпут лагом, я подозреваю что там, и верю. Но дело не в мониторах, мышах и прочем, а скорее всего что-то в электричестве или инете. Так же знаю одного чела, играет на достаточно высоком уровне в QC , так вот у него тоже был типо инпут лага, плавающей мыше, он все списывал на мышь, поменял их кучу. Сначала на новой нормально, потом опять появляется инпут лаг, не было говорит только на беспроводной г про. Так вот, он со своим ПК переехал в другую хату и все так же плавало и инпут лаг был такой же. Он поменял комп(железо такое же примерно по произв-ти) и инпут лага нет. Но самое интересное говорит что когда подключает старые мыши - они так же плавают. Тут верить или нет я хз,
Member
Статус: Не в сети Регистрация: 14.06.2009 Откуда: Омск
CRYSTALCASTLE писал(а):
а все после того как попробовал обновится до 2004..
Ну значит совпало что-то с чем-то, но сама по себе 2004 не могла тебе его дать, тем более если ты ее уже снес. Да и многие на нее перешли без всяких проблем.
Fet KiLLa Так с моими скринами всё нормально? И как правильно пользовать этот mousetester, хочу попробовать что он мне нарисует, у вас кстати на 500hz опрос мышки стоит, пробуйте на 1000hz там должен быть куда показательней результат.
Ant1Cheater В общем отключений не было, но есть "лаг" не знаю как правильнее объяснить, например просто рабочий стол и на нём курсор исчезает на мгновение и появляется, очень быстро, при этом индикаторы мышки работают и виндового оповещения не слышно, очень заметно когда играешь или копируешь текст, но отключений пока не было довольно продолжительное время, показания latencymon примерно на тех же значениях. Блок питания хороший, по показателям софтовым просадок нет, замерял тоже всё в порядке, пк стоит на полу на натуральном паркете, в радиусе метра от него нет ничего что могло бы дать статику и.т.д. у меня уже и идей нет что может быть причиной.
Так было же долгое время всё отлично, да и показатели Latencymon хоть и не были идеальными, но были в пределах зелёной зоны, даже на не деф. системе не настроенной, а как появилась проблема, значения резко выросли, скорее всего это больше "софтовая" проблема.
да просто нажимаете в маустестере первую кнопку и зажимаете leftmouse и вертите и нажимаете plot либо вторую кнопку нажимаете - просто вертите - нажимаете plot у меня g102 1000 герц для неё слишком много , дешевое говно, была бы zowie za13 другое дело , но я её проебал.
Хз че по электричеству , оно у всех одинаковое,у всех квартиры , у всех разетки внутри с заземлением обычно и туда всовываются дефолтные провода с заземлением Инет у всех по разному проложен и там есть взаимосвязь с хитрегом , но там ребята кто в теме через tcp оптимайзер настраивали ,но это не мск
А самое что решает это конечно видеокарта, все про игроки знают ,что Cs 1.6 это одноядерная игра но раньше она использовала все ядра 2 там обычно было и раньше когда были икспи никто не заморачивался над ней все играли до 2013 года на своих 9800gt , кто то кидал кс на одно ядро и стрельба становилось лучше , это было вроде чита Замечу что игра не использовала практически gpu 10 процентов на те времена , то есть игра принадлежала процессора Потом вышло обновление в 2013 и некоторые олдскульные проф.игроки как я в тимспике чекали на разных прогах как и что сделали с кс. Выяснили что игру изменили так что она стала использовать только одно ядро по дефолту ,а другие 3 ядра она что то с ними делала но они не были забиты на ровно 100 как первое ядро. В итоге все заметили улучшение стрельбы , но начал заметен быть латенс и один чувак был у нас который взял видеокарту на своём процессоре intel core i5 4690 k на тот момент и вытащил видеокарту вроде r9 290x или что то типо того это был 2015 год . И попробовал сыграть без неё. Замечено было что латенс полностью пропал на ощущения и это было не плацебо , так как из нас многие имели уже на тот момент i3 i5 i7 со встроенной графикой мы решили побровать игру без видюхи , мы просто ощутили жесткое облегчение,человек 15 попробовали это в общем кс 1.6 любила процессор простыми словами ,а виндоус и блок питания любили меньше расходного материла и железа на себе. А для игр которых сейчас, давно есть эксперт который уже не является профессионалом , слух и много чего со временем теряется,но человек по прежнему остается в теме куда более лучше других нас знает это Сеня из на ви , он давно говорил что главное это блок питания, хороший фирмы с большим запасом Чтобы не было заиканий и чтобы системные прерывания в производительности дистпетчера стояли на нуле не выше 1-2 . Вот такие дела А видеокарты разные бывают , к примеру у меня огрызок 1660 ti , но я уже сам скилл потерял и считаю себя ушедшим игроком ,так как потерял слух на левое ухо ,а это главное в играх и плохое зрение из-за травмы орбитальной кости получил в драке. но по прежнему вот буквально за 3 месяца на миксах если сравнивать 1.6 fastcup и esea или ft это одно и тоже , ну я вот без слуха и без всего там буквально накидал пару мувов https://www.youtube.com/watch?v=hGWLxXrn3fk https://www.youtube.com/watch?v=6-vOr4h_fUI https://www.youtube.com/watch?v=V2Pu9DVcdHY https://www.youtube.com/watch?v=tDYxewAZWsU https://www.youtube.com/watch?v=KFG47MmLwqo https://www.youtube.com/watch?v=qNQJdYA42xI https://www.youtube.com/watch?v=JXz4Q-a9B_8 https://www.youtube.com/watch?v=ulfvIuh6OMA
напомню что кс 1.6 является самой сложной игрой в мире ,не на паблике где плагином убирают зажим,а фасткап где gameguard античитом убивают стрельбу полностью. Но получаем вот такие мувики практически без слуха и зрения
так что инфы для размышления дал более чем предостаточно
Member
Статус: Не в сети Регистрация: 31.01.2012 Откуда: Москва Фото: 21
fo36r Диспетчер устройств > выбрать мышь > вид > сортировать по подключению > убедиться, что, начиная от хаба и заканчивая мышью, везде снят чекбокс отключения для экономии энергии.
Fet KiLLa Попробовал, у меня какая-то шляпа получается, кардиограмма наркомана и в смысле вертеть, как вздумается в любом направлении, на график не влияет?
Ant1Cheater Проделываю подобные телодвижения сразу как ставлю систему, придётся ждать пока сделаю чистую установку и тестить там.
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения