Все прерывания делятся по следующим приоритетам: 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 Откуда: Омск
Profy13 писал(а):
но с ботами сто лет не пробовал, надо освежить память как-нибудь
А вот надо проверять. Т.к я очень долго думал что это все инет. Пока не заметил на сингловых играх что там меняется плавность резкость и совпадает по времени с тем когда в онлайне нормальный хитрег и картинка.
Profy13 писал(а):
Я даже 500мбит от Дом.ру подключил, разницы от провайдеров нет, ибо все они где-то по одному каналу идут в забугорье.))
Опять же тут надо проверять. У крупных провайдеров свои магистрали как до мск так и выход на европу отличаются. Но в играх разницы 0. В идеале надо пробовать разные игры, чтобы это все понять. Можно даже по каким-то простым типо кс 11.6 и прочего включая локальные сервера своего города.
Вот у вас установка стаба поменяла что-то в игре хитреге или картинке в лучшую сторону?
Member
Статус: Не в сети Регистрация: 07.12.2011 Откуда: Тула Фото: 24
k2viper писал(а):
В теме по разгону DDR4 есть варианты калькуляторов и авторы описывающие методы правильной настройки, надо не полениться и хоть несколько десятков страниц прочитать.
Ткните носом, где наиболее актуальные эти 10 страниц пожалуйста, попробую вечером пошаманить.
Добавлено спустя 2 минуты 20 секунд:
OLD Hunter писал(а):
Вот у вас установка стаба поменяла что-то в игре хитреге или картинке в лучшую сторону?
Я думал это понятно из моего длинного поста. Нет, ничего не изменилось, но я хотя бы за всю технику в доме спокоен.))
Member
Статус: Не в сети Регистрация: 14.06.2009 Откуда: Омск
Profy13 От чего-то еще бывают улучшения, кроме дров или ночью? Например рандомно днем, после како-то события, например микрофриза. Или же выключения включения света , если такое бывает?
Member
Статус: Не в сети Регистрация: 28.02.2008 Откуда: Калининград Фото: 99
Profy13 писал(а):
Вот с памятью я никогда не заморачивался, может и зря конечно, просто выбрал профиль и он работает.
А попробовать стоит. Тем более это бесплатно.
Profy13 писал(а):
ибо все они где-то по одному каналу идут в забугорье.))
Сомневаюсь, может лет 20 назад так и было - но если уж даже в нашем провинциальном регионе несколько каналов к соседям, что уж говорить про столичный регион...
Member
Статус: Не в сети Регистрация: 14.06.2009 Откуда: Омск
k2viper Есть такой стример, зиги хейт, он стримит апекс. Он с твоего же города. Вот у него точно та же тема с инпут лагом плавающей мышкой и херовым хитрегом. Он считает что это плохие сервера и оптимизация. Но чет не учитывает что все играют, включая про игроков, но такой хрени у них нет. И у него уже второй или 3 комп, настроенный. Сейчас вообще топовый с 3080. В эту тему верят только те, кто сталкивается с таким. Но не все все равно в итоге понимаю в чем проблема. Вот у него сервера плохие.
Member
Статус: Не в сети Регистрация: 28.02.2008 Откуда: Калининград Фото: 99
Profy13 писал(а):
Ткните носом, где наиболее актуальные эти 10 страниц пожалуйста, попробую вечером пошаманить.
Не, это так не работает. Нужно посвятить время изучению вопроса. Начните с шапки.
Добавлено спустя 4 минуты 40 секунд:
OLD Hunter писал(а):
Вот у него точно та же тема с инпут лагом плавающей мышкой и херовым хитрегом. Он считает что это плохие сервера и оптимизация.
Этого исключить не могу, что у него за инет, роутер, нагрузка на сеть в доме/районе и вот это всё. Так может и проблема эта имеет разную природу в разных случаях? Примерно как с DPC в названии всей этой темы: тема называется про DPC у нвидия, но на самом деле читатели этой темы знают что сюда приходят люди с самыми разными проблемами - многие из которых списываются на нвидию, хотя могут иметь самую разную природу. Может и с этим плаванием так же - оно вызывается разными другими проблемами?
Давай подумаем какими техническими методами можно было бы эту беду зафиксировать, чтобы продемонстрировать - вот "оно есть" а вот "его нет".
ps. зашел к нему на стрим, катка началась - latency 60-63, по мере выбытия игроков упало до 53-55, дальше пока не досмотрел ) лоссы и чок показывает по нулям, но что если сам сервак подлагивает?
Вложение:
zigi.png [ 93.19 КБ | Просмотров: 497 ]
_________________ пятачок его свинейшества
Последний раз редактировалось k2viper 22.03.2021 16:24, всего редактировалось 1 раз.
Member
Статус: Не в сети Регистрация: 14.06.2009 Откуда: Омск
k2viper писал(а):
Может и с этим плаванием так же - оно вызывается разными другими проблемами?
Давай подумаем какими техническими методами можно было бы эту беду зафиксировать, чтобы продемонстрировать - вот "оно есть" а вот "его нет".
Да одна эта и та же проблема. И он проверял свой пк в другом доме с другим инетом. Сервера говорит такие Проверить ничего нельзя и выяснить тоже. Кто только чего не делал. Можно только смириться(минимизировать, разными твиками настройками, стабами фильтрами и т.д.) либо переехать в норм дом и забыть об этом как о страшном сне. проблеме около 20 лет, если что. Забугорных тем полно.
Member
Статус: Не в сети Регистрация: 28.02.2008 Откуда: Калининград Фото: 99
OLD Hunter писал(а):
Сервера говорит такие
Может и такие. В овере тоже есть подлаги серверов. Помню в TF2 арендовал серваки и "разгонял" их по sv_fps и вполне можно было добиться лагания.
Добавлено спустя 32 секунды:
OLD Hunter писал(а):
проблеме около 20 лет, если что. Забугорных тем полно.
Проблеме 20 лет, а никто не догадался как зафиксировать и техническими средствами измерить её проявление? Дичь какая-то Я в апекс не играл и не знаю, просто понаблюдал за его каткой и там в нетграфе in packets с 60 в начале стал плавать - то 30 то в районе 40 то опять 60. Насколько это нормально? Не говоря уже что out packets в районе 15-17 всего. Что имхо очень мало, значит на серваке считаются дикие объемы интерполяции
А что показывает нетграф в том же овере? У меня был случай когда провайдер не признавал наличие проблем с соединением и только видос с полигона (с нетграфом) убедил их что проблема не выдумана, тогда же внезапно оказалось что жалующимся пользователям вроде меня можно даже выделить отдельный BRAS. Потом кстати провайдер расшарил этот и другие новые маршрутизаторы для всех, что привело к более равномерному распределению нагрузки и проблема решилась уже для всех. В видосе у меня видны потери на нетграфе овервоча.
_________________ пятачок его свинейшества
Последний раз редактировалось k2viper 22.03.2021 16:54, всего редактировалось 1 раз.
k2viper Есть такой стример, зиги хейт, он стримит апекс. Он с твоего же города. Вот у него точно та же тема с инпут лагом плавающей мышкой и херовым хитрегом. Он считает что это плохие сервера и оптимизация. Но чет не учитывает что все играют, включая про игроков, но такой хрени у них нет. И у него уже второй или 3 комп, настроенный. Сейчас вообще топовый с 3080. В эту тему верят только те, кто сталкивается с таким. Но не все все равно в итоге понимаю в чем проблема. Вот у него сервера плохие.
Многие люди не видят разницы между фпсом и пингом, а некоторые строят целые теории вокруг инпут лага, когда в действительности это задержка разделяется и около 3-6мс всегда будет лежать на клиенте пользователя, задержку можно уменьшить, но физику не обманешь, поэтому можно только похвалить людей, которые достигли уровня, когда можно замечать инпут лаг.
Member
Статус: Не в сети Регистрация: 28.02.2008 Откуда: Калининград Фото: 99
daofen писал(а):
поэтому можно только похвалить людей, которые достигли уровня, когда можно замечать инпут лаг
Ну вообще-то его можно замечать, в запущенных случаях относительно легко, но вот плавающий (у некоторых) характер проблемы вместе с тем что её не так-то просто зафиксировать и измерить, и приводит к многочисленным сомнениям "был ли мальчик".
программа минимум те: tRAS = tRCD+tCL+4 tCL≥tCWL ака tCWL ≤ tCL +приход смотреть по СPUPhotoWorx для двурангов лучшее tCL=tCWL(если tCL - чётный или tCL-1 если нечетный tCL) tWR≥tCL tWR к tRTP завязано соотношением 2 к 1 (например tWR12\RTP6) tRRD≥4 tRRD_L≥4 tWTR≥3 tWTR_L=+-(2*tWTR) tFAW≥tRRD*4 tRC≥tRAS+tRP "tRFC явных формул нет, но кратно 8!!! и крутить после всех. Не пытайтесь найти его минимальное значение если не хотите чтобы память начинала сыпать ошибками от любого чиха. найдите пограничное со стабильностью значение и накиньте сверху 24 или сразу 40. Может реагировать на RAS+RP, RRD, FAW, причём в обе стороны (то есть может "сломаться" если задрать названные), а может и не реагировать... tREFi(Refresh rate) больше лучше. Связан с tRFC. tREFI сколько память "работает" - tRFC сколько "отдыхает". Оба тайминга лучше не пытаться найти предельное значение.Заметно реагируют на температуру. Многие тайминги отзываются и на температуру и на напряжение. Поскольку напряжение может, как позволить снизить тайминг, так и увеличить температуру, то середину можно искать очень долго, поэтому лучше бы вовремя остановится. Тестируйте тщательно с перезагрузками, сном, холодным стартом."
Member
Статус: Не в сети Регистрация: 22.03.2005 Откуда: Уфа Фото: 0
OLD Hunter писал(а):
Сервера говорит такие
Поднимите свои сервера для какого-нибудь старья, типа кваки или UT и проверяйте параллельно с играми, что сейчас у вас на удалённых проблемно идут. Я подтверждаю, что "криво настроенные" игровые сервера - это отдельная песня, которую далеко не все петь умеют.
Member
Статус: Не в сети Регистрация: 14.06.2009 Откуда: Омск
k2viper писал(а):
Проблеме 20 лет, а никто не догадался как зафиксировать и техническими средствами измерить её проявление?
Ну догадайся, получишь нобелевку или станешь миллионером в самом плохом случае Монитор 360гц с рефлексом показывает аномальные задержки под 200 мс на клик, где должно быть 20. А вот что даёт такое поведение компа и эти задержки, которые рандомно меняются никто не выяснил.
k2viper писал(а):
Что имхо очень мало, значит на серваке считаются дикие объемы интерполяции
Это тикрейт такой все играют так. Но у него видно даже по картинке когда идёт с лагами и неплавно и как идёт у других и у него иногда.
k2viper писал(а):
А что показывает нетграф в том же овере?
Ничего не показывает. Вообще эта проблема есть у многих но врезной степени. До плаванья мыши/сенсы может и не доходить. Может быть только плохой хитрег , не такая картинка как должна либо задержка в хитреге/рассинхроны. Практически на любом видосе/стриме эту проблему видно. Из сильных игроков даже есть челы с такой траблой в овере. Из наших например txao у него инпут лаг появился из ниоткуда в один момент и все. Так и играет. По началу пытался исправить, думал что синапс рейзера виноват, потом оперативка, ссд, видюха....
Member
Статус: Не в сети Регистрация: 14.06.2009 Откуда: Омск
k2viper Любой стрим txao. 61cent , любой вод на твиче. У него инпут 146% играет только на вдове, скатился в помойку, хотя был хай мастер когда то. Но он точно не догадывается у него оно есть. Много кто. Куки - тож с жёстким инпутом, но у него ещё и инет херовый. Но он сам жёсткий, поэтому компенсирует это насколько можно аимом. Кефри - за ним не следил, когда у него оно появилось хз. Но сейчас точно есть, по любому шоту на вдове это понятно. Тоже скатился куда-то, несмотря на топ железо и 360гц моник. Сейчас вообще очень мало челов у кого бы шло идеально или близко к этому.
Member
Статус: Не в сети Регистрация: 28.02.2008 Откуда: Калининград Фото: 99
OLD Hunter писал(а):
Тоже скатился куда-то, несмотря на топ железо и 360гц моник.
Почему ты думаешь что скатился он из-за проблем, а не из-за того что просто надоело играть и тащить? Txao же на танках играет, как по какой-нить заре понять проблему, не представляю? Запустил 61цента, первый же вод - заря И latency за сотку. https://www.twitch.tv/videos/957866446
Промотал дальше, я бы сказал просто овер 100 задержка и соответственно хитрег отображается с ясно видимой задержкой. Экспериментирует с фпс, я тоже экспериментировал но остановился на локе 300, иначе гпу до 100% грузится что не гуд.
OLD Hunter писал(а):
А мож у тебя тож есть в какой-то степени такое?
Я хотел бы знать как можно проверить, есть оно или нет
_________________ пятачок его свинейшества
Последний раз редактировалось k2viper 22.03.2021 17:54, всего редактировалось 1 раз.
Member
Статус: Не в сети Регистрация: 28.02.2008 Откуда: Калининград Фото: 99
OLD Hunter писал(а):
Потому что видно это на вдове по любому шоту по анимациям.
Уверен что не путаешь задержку хитрега и анимацию попадания? Вот у 61цента явственно видна именно задержка хитрега, но с latency за сотку это же естественно...
Member
Статус: Не в сети Регистрация: 07.12.2011 Откуда: Тула Фото: 24
OLD Hunter писал(а):
Profy13 От чего-то еще бывают улучшения, кроме дров или ночью? Например рандомно днем, после како-то события, например микрофриза. Или же выключения включения света , если такое бывает?
Нет, нет и нет. Четкое улучшение бывает, когда ставишь дрова, немного их подшаманишь и сразу в игру, это я замечал. BOBKOC Спасибо, начну изучать.
OLD Hunter писал(а):
у него инпут лаг появился из ниоткуда в один момент и все. Так и играет. По началу пытался исправить, думал что синапс рейзера виноват, потом оперативка, ссд, видюха....
Очень похоже на меня. Проблема началась в 2014 - снимал вторую уже на тот момент квартиру в Туле, где жил я в ней из 3 лет 2 года норм, при чем играл в ут 3 сначала на двух GTX 580 на первой квартире, потом на sli 780 и sli 980ti на второй квартире, там-то и началось... Потом уже переехал по ипотеке в третью - представьте сколько железа я поменял и сколько фиксов и операторов перепробовал. И SLI никак даже не влияло раньше на игру, все резко было шо пуля. А сейчас одна 1080ти на относительно не старой платформе, а воз и ныне там.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения