Заметки по диагностике

FACEIT, IOMMU и DMA: влияние на FPS на материнских платах MSI

В рамках ужесточения защиты античит FACEIT начал требовать включённых IOMMU и защиты DMA на материнских платах MSI. Для плат Gigabyte и ASUS такого требования пока нет. После включения этих настроек на системах MSI часто жалуются, что «игра стала тяжелее». Ниже разбираем, что это за настройки, зачем они нужны и что с этим можно сделать.

Что такое IOMMU и DMA?

DMA (прямой доступ к памяти) позволяет устройству — например, видеокарте или NVMe-накопителю — читать и записывать данные в память напрямую, не дожидаясь процессора. Это одна из вещей, благодаря которым компьютер работает быстро.

IOMMU — это привратник для такого доступа. Операционная система решает, какое устройство к какой области памяти может обращаться. «Защита DMA ядра» (Kernel DMA Protection) в Windows опирается именно на это оборудование.

Зачем это античиту?

Один из видов читов, распространившийся в последние годы, использует установленную в компьютер PCIe-карту, чтобы читать память игры извне. Так как карта не работает внутри игры, классическому античиту сложно её обнаружить. При включённом IOMMU устройства больше не могут свободно обращаться к памяти, и такой чит в основном теряет смысл. Иными словами, требование нужно для честной игры, и отключать его ради FACEIT больше не вариант.

Если FACEIT требует настройку, не отключай её. Правильный подход — отыграть потерянную из-за неё производительность в другом месте.

Влияние на FPS и задержку

При включённом IOMMU обращения устройств к памяти проходят через этап трансляции адресов, а в системе могут появиться дополнительные накладные расходы на прерывания. В соревновательных играх это заметно не столько по среднему FPS, сколько по 1% low FPS и разбросу времени кадра. Игроки описывают это так: «FPS тот же, но игра не ощущается плавной».

Насколько сильно это влияет, зависит от материнской платы, версии BIOS и установленных устройств, поэтому назвать одну цифру было бы некорректно. Не принимай решение, не сделав замеров на своей системе.

Как замерить на своей системе

  1. Установи программу для записи времени кадра, например CapFrameX или PresentMon.
  2. В CS2 запиши 60 секунд на одной и той же карте в одной и той же сцене. Повтори три раза.
  3. Смотри на 1% low FPS и самое долгое время кадра, а не на средний FPS.
  4. Повтори тот же тест после обновления BIOS или изменения настройки.
Что проверитьЗачем
Версия BIOSПроизводители улучшают работу IOMMU в обновлениях. Не тестируй на старом BIOS.
Драйверы видеокарты и чипсетаОбработка прерываний меняется и на стороне драйверов.
Установленные PCIe- и USB-устройстваНенужные карты и контроллеры увеличивают нагрузку прерываниями.
Фоновые программыУтилиты для RGB и материнской платы могут увеличивать задержку прерываний.

Результаты замеров

Замеры, собранные на материнских платах MSI, будут опубликованы на этой странице. Если ты заметил разницу после того, как FACEIT заставил включить эти настройки, напиши нам в X.