Часовой пояс: UTC + 3 часа




Куратор(ы):   eLfiK   



Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 4366 • Страница 130 из 219<  1 ... 127  128  129  130  131  132  133 ... 219  >
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 
Прилепленное (важное) сообщение

Member
Статус: Не в сети
Регистрация: 12.10.2016
1. Ликбез по прерываниям.
Все прерывания делятся по следующим приоритетам:
1 место - работает на уровне кольцо -2
прерывания SMI (system management interrupt — прерывание системного управления), которое возникает:
-по сигналу от чипсета или периферии на материнской плате
-программный SMI, посланный системным ПО через порт ввода-вывода
-запись по адресу ввода-вывода, для которого микропрограммно установлена необходимость активации SMM.
2 место - гипервизор, который работает в кольце -1
3 место - ядро операционной системы - работает в кольце 0
4 место - пользовательский уровень - работает в кольце 3

2. Ссылки.

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), поэтому любое прерывание на нашем ядре прервет нашу программу.


Программы для оценки прерываний:
ETW xperf WPA - родной софт от microsoft
Latency monitor https://www.resplendence.com/latencymon
DPC latency https://www.wagnardsoft.com/forums/viewtopic.php?t=5265


Настройка прерываний


Борьба с прерываниями.
Бороться надо двумя путями.
Первый путь - уменьшить само количество прерываний=их частоту.
Частота прерываний за 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 минуты после загрузки системы.
Не двигаем мышку и не используем клавиатуру в момент измерений. Потом остановка и скриншот.


Презентация NVIDIA (на англ.) о проблемах статтеров, фризов и лагов (терминология, описание и причины возникновения)


Последний раз редактировалось anta777 16.07.2025 21:44, всего редактировалось 40 раз(а).
Начну редактировать первое сообщение и возьмусь за эту тему.



Партнер
 

Member
Статус: Не в сети
Регистрация: 25.02.2016
Откуда: Москва
Agiliter писал(а):
Это контроллер майкрософта. Там идёт цепочка контроллер мелкософт - драйвер звука. Его кстати можно отключать для неиспользуемых устройств.

Если это он, то он способен уходить в красную зону будучи выключенным)

Добавлено спустя 2 минуты 7 секунд:
St@s1987 писал(а):
ну и разгон памяти вполне может давать те же рандомные фризы.

Это первое на что я думал из не софтовых проблем - пробовал и выставлять с теми же таймингами ставить меньшую частоту, и скидывать их в авто, и хмп и дефолт, результат один


 

Advanced member
Статус: Не в сети
Регистрация: 29.03.2017
stormpand
Сомневаюсь, что у вас совсем нет звуковых устройств. Для каждого устройства для работы со звуком - свой контроллер.

_________________
https://docs.google.com/spreadsheets/d/1QpzbIzmoE3ntu6XvpchHspxqA0o6FPxc63_diTelzXw


 

Member
Статус: Не в сети
Регистрация: 25.02.2016
Откуда: Москва
Agiliter, в том месте что вы указали я вижу только один контроллер в разделе pci и он вырубил колонки, вторым устройством можно назвать монитор, колонки в котором выключены в самом мониторе


 

Advanced member
Статус: Не в сети
Регистрация: 29.03.2017
Я в том плане, что вы будете видеть этот драйвер до тех пор пока у вас есть звук. Он имеет одинаковое для всех устройств название. Если включите обычную сортировку то в системных устройствах увидите как они идут последовательно.
Вы всё таки попробуйте то что тестируйте повесить на все ядра кроме 0. Вдруг что-то изменится. Можно ещё сверху приоритет ниже среднего воткнуть. При перезапуске приложения параметры слетят.
#77

_________________
https://docs.google.com/spreadsheets/d/1QpzbIzmoE3ntu6XvpchHspxqA0o6FPxc63_diTelzXw


 

Member
Статус: Не в сети
Регистрация: 25.02.2016
Откуда: Москва
Agiliter писал(а):
Вдруг что-то изменится

Изменилось, показания в моне стали лучше(потестил ещё - просто реже теперь такое), игра работает офк так же, это способ скорее для своего успокоения) надо попробовать игру где фризы не стабильные в одних и тех же местах


Последний раз редактировалось stormpand 24.11.2019 1:02, всего редактировалось 1 раз.

 

Advanced member
Статус: Не в сети
Регистрация: 29.03.2017
Я не думаю, что фризы у вас принципе связаны с проблемой DPC latency. Когда они явно есть их видно даже в простое и они хорошо повторяются. Но если этот способ каким-то чудом помог, то напишите нам.
Есть конечно вагон разных проблем которые не имеют свойства хорошо повторяться, но на них обычно проще забить чем пытаться понять какой же из нескольких сотен устройств, драйверов, служб и ПО их вызвал.

_________________
https://docs.google.com/spreadsheets/d/1QpzbIzmoE3ntu6XvpchHspxqA0o6FPxc63_diTelzXw


 

Member
Статус: Не в сети
Регистрация: 01.02.2010
Фото: 12
Еще кстати посмотреть можно что там в скрытых устройствах как например здесь


 

Member
Статус: Не в сети
Регистрация: 25.02.2016
Откуда: Москва
Agiliter писал(а):
Я не думаю, что фризы у вас принципе связаны с проблемой DPC latency.

То есть такие показатели высокие бывают не из-за данной проблемы, а чего-то ещё?
Agiliter писал(а):
Когда они явно есть их видно даже в простое и они хорошо повторяются.

В полном простое как я и писал в первом сообщении всё вроде ок
Agiliter писал(а):
но на них обычно проще забить чем пытаться понять какой же из нескольких сотен устройств, драйверов, служб и ПО их вызвал.

Вот так и становятся консольщиками :D , я жил с периодическими фризами ещё на старой системе с интелом, но после покупки ам4 возможно разыгралась паранойя,но как минимум сата драйвер АМД точно косячный


 

Member
Статус: Не в сети
Регистрация: 17.07.2011
Откуда: Нижний Новгород
Фото: 169
stormpand Похоже не изменилось, он и был косячный ещё во времена Phenom II.

_________________
i5 11400/MSI-Z490GP/4*8GB@3GHz/AsusTurboRTX4070/Samsung830(256GB)/M9PeGN(512GB)/6TB+6TB+6TBhdd/HAF932/RM650x(CP-9020091)/SonyKDL-42W705B/Win10insider


 

Advanced member
Статус: Не в сети
Регистрация: 29.03.2017
Он Странный. Я ставил недавно на MSI b450+2600 последнюю версию и он работал даже лучше мелкософта. На другой системе тоже как у вас было.

Добавлено спустя 18 минут 59 секунд:
stormpand
Если хотите максимально возможный плавный геймплей с минимальным инпутлагом, то настройте игру и монитор на фиксированные 50-100(фпс|гц, смотря сколько вам нравится) с вертикальной синхронизацией(+тройная буферизация). Настройки подберите такие чтобы процессор и видеокарта (именно оба) никогда не нагружались сверх 90% и фпс был всегда ровный.
Попробуйте. Плавнее геймплей сделать практически невозможно. Все остальные проблемы стоит ловить именно в таком режиме.

_________________
https://docs.google.com/spreadsheets/d/1QpzbIzmoE3ntu6XvpchHspxqA0o6FPxc63_diTelzXw


 

Junior
Статус: Не в сети
Регистрация: 03.11.2019
Дорогие друзья, всем доброго времени суток! Столкнулся с крайне серьезной и надоедающей проблемой, с которой уже обращался на этот форум, но ничего внятного не получил, поэтому решил исключить все возможные причины возникновения проблемы и в этом профильном форуме. Моя беда заключается в микрофризах, которые происходят в значительном количестве современных игр. Как я понял, посоветовали обратиться к вам - для точного исключения вины видеокарты. Видеозаписи лагов, фризов, конкретная информация о моем разгоне и уже предпринятых путей решения кроме тех, что в этой ветке - есть в этой теме - Необъяснимые фризы в играх на крайне производительном железе (скидываю, чтобы не повторять сюда и не засорять сообщение, там все крайне систематично и понятно).
Сюда лишь прикреплю скриншот программы LatencyMon в разных состояниях:
Спокойное состояние при включении компьютера и двухминутного ожидания - https://imgur.com/bfJ6pmg
Игра в Battlefield 5 (+- такая же ситуация в других играх) - https://imgur.com/a/BQbPDcL
Скриншот Hwinfo - https://imgur.com/Ml8DXX1
Рапорт HwInfo со всем оборудованием - https://dropmefiles.com/52oQo (залил на dropmefiles, ибо так удобнее всего)
Произвел все действия из темы, винда чистая, переустанавливал заново, отключил защитные патчи с помощью InSpectre, в БИОСЕ система запущена через UEFI мод, энергосберегайки от интела отключены, если нужно - скину любые параметры. Понятия не имею, в чем может быть дело, и почему фризы до сих пор появляются (не во всех играх, конечно). Дополнительно - использовал утилиту Destroy Windows 10 Spying, но ее влияние сказалось лишь дополнительным образом. Крайне надеюсь на вашу помощь, перепробую любые варианты. С накопителями все отлично (как стало понятно из моей первой темы).


 

Member
Статус: Не в сети
Регистрация: 25.02.2016
Откуда: Москва
sheffieldy писал(а):
Игра в Battlefield 5 (+- такая же ситуация в других играх)

А что не так? :D
Чтобы обозначит наличие фризов и их величину юзайте программу capframex


 

Junior
Статус: Не в сети
Регистрация: 03.11.2019
stormpand
Если вы открыли мою прошлую тему, то там прекрасно видно, что крайне стабильный бенчмарк Wildlands выдает необъяснимые фризы, и в процессе игры они тоже проскакивают. Такая же ситуация и в Far Cry 5, но там они уже гораздо чаще. Battlefield 5 фризит только на DX12, но это я скорее списываю на проблему нестабильно DX12.

* по поводу CapFrameX, как ее юзать, есть какой-нибудь гайд?


 

Member
Статус: Не в сети
Регистрация: 14.06.2009
Откуда: Омск
sheffieldy если одни игры фризят, а другие нет, то это точно не железная проблема.


 

Member
Статус: Не в сети
Регистрация: 25.02.2016
Откуда: Москва
sheffieldy писал(а):
* по поводу CapFrameX, как ее юзать, есть какой-нибудь гайд?

Ставите, оставляете прогу на первой вкладке - в игре тыкаете F12, должно прозвучать капча стартед :crazy: Для остановки снова F12, потом во 2-й вкладке смотрите график времени кадра, пики точеные там отлично видно :D


 

Junior
Статус: Не в сети
Регистрация: 03.11.2019
stormpand
Эта программа позволит узнать что является источником фризов? Или просто их зафиксировать? Если второе, то я фризы и на мониторинге вижу.


 

Member
Статус: Не в сети
Регистрация: 25.02.2016
Откуда: Москва
sheffieldy писал(а):
Если второе, то я фризы и на мониторинге вижу.

Видите то видите, только эта прога сохраняет нормальные графики, которые всегда можно показать и сравнить, вот и всё.
sheffieldy писал(а):
Эта программа позволит узнать что является источником фризов?

Если учитывать то, что на приведённом вами скрине показатели нормальные, вряд ли ваша проблема связана с DPC(как похоже и у меня), я лично перепробовал всё что мог и до конца проблему не победил


 

Member
Статус: Не в сети
Регистрация: 31.01.2012
Откуда: Москва
Фото: 21
stormpand
А системный таймер пробовали фиксировать на значении 0.5?
47306


 

Advanced member
Статус: Не в сети
Регистрация: 30.03.2017
Откуда: Москва/Вешняки
Фото: 11
Ant1Cheater писал(а):
А системный таймер пробовали фиксировать на значении 0.5?
ток с поправкой by alaMut => DPC latency на видеокартах Nvidia #16572827 ака чтоб без всяких отклонений от 0.5 ;) хотяя в ассасине оригинальном тема с 0.4882 чёт лучше выступает в минималку, но хуже на 2фпс в среднем фпс :?:


Вложения:
TR.jpg
TR.jpg [ 66.67 КБ | Просмотров: 904 ]


Последний раз редактировалось BOBKOC 25.11.2019 17:37, всего редактировалось 1 раз.
 

Member
Статус: Не в сети
Регистрация: 13.02.2012
Решил поискать тему про heavy car bug в Rocket League, тк на оф форуме или удалили или перенесли. Наткнулся на тему https://www.reddit.com/r/RocketLeague/comments/cx43rl/heavy_car_bug_hcb_has_nothing_to_do_with_rocket/ там же есть "фикс" переехать в другой дом или квартиру. Там линк на https://forums.blurbusters.com/viewtopic.php?f=10&t=3641, где erobuR пишет, что когда 208 вольт, типа почти нормально. Я такую тему тоже приметил после покупки WESTER STB-1500R, стал мониторить напряжение, когда заторможена мышка, вход. напряжение 206, хотя и бывает на ~220 тоже может глючить. Вот пара роликов, как колбасит напряжение. Если не открывает, то через vpn.
https://streamable.com/wkgbt
https://streamable.com/b0zwu
Бывает с 214 до 206 и назад за секунду и так туда обратно несколько раз. Вызвал аварийку, когда минут 50 так колбасило. Приехал ушлепок, сказал типа напряжение 209 норм, скачки норм, это стабилизатор говно, выброси его и ушел. Такая тема в основном вечером и утром, но в принципе в течении дня так, и ночью тоже. Недавно было, защелкало, смотрю опять колбасит напряжение и вырубился свет во всем доме. Не знаю, может сразу в Роспотреб писать на мразей ПетроЭлектроСбыт (Спб, выб. район), или кто там, хз пока. Или куда обратиться, чтобы проверили дом, может кто нибудь в курсе.
Да и в теме https://www.nvidia.com/en-us/geforce/forums/discover/252908/all-games-stuttering-with-fps-drops-since-windows-10-creators-update/ был чел, которому помог УПС и всякие фризы и подлагивания пропали.


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 4366 • Страница 130 из 219<  1 ... 127  128  129  130  131  132  133 ... 219  >
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: AdyBOB и гости: 6


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan