Ixeris - это мод для Майнкрафт, который решает проблему падения FPS при движении мышью. Ты наверняка замечал, что когда резко крутишь камеру или просто шевелишь мышкой, частота кадров заметно проседает. Частично это нормально: игра пересчитывает видимость чанков, подгружает новые области. Но львиная доля просадок связана с неэффективным опросом событий от мыши, особенно на Windows с мышками с высокой частотой опроса. Ixeris как раз чинит это узкое место.
Мод работает через два основных механизма:
GetRawInputData на каждое событие мыши, мод использует GetRawInputBuffer, читая данные пачками, за один вызов. Плюс вся работа теперь выполняется в Java-коде, что убирает накладные расходы на JNI-вызовы.Тесты проводились на полностью загруженном мире, после стабилизации FPS. Результаты говорят сами за себя.
Мышь захвачена, курсор не виден, суперплоский мир без мобов. На Windows мод по умолчанию использует буферизованный ввод.
| Частота опроса | Без Ixeris | Ixeris (без буфера) | Ixeris (с буфером) |
|---|---|---|---|
| 8000 Гц | 12 FPS | 83 FPS (6.9x) | 121 FPS (10.1x) |
| 2000 Гц | 76 FPS | 114 FPS (1.50x) | 135 FPS (1.78x) |
| 500 Гц | 134 FPS | 145 FPS (1.08x) | 151 FPS (1.13x) |
Самая дикая разница - на мышах с 8000 Гц. Почти десятикратный прирост. Даже на 2000 Гц результат более чем достойный.
Когда мышь не захвачена (как на экране паузы F3+Esc), сырой ввод не используется - игре нужно знать реальное положение курсора. Частота опроса 1000 Гц.
| ОС | FPS без движения | Без Ixeris | С Ixeris |
|---|---|---|---|
| Windows | 233 FPS | 133 FPS | 165 FPS (1.24x) |
| Linux (X11) | 358 FPS | 320 FPS | 355 FPS (1.11x) |
| Linux (Wayland) | 364 FPS | 289 FPS | 298 FPS (1.03x) |
На Windows прирост снова заметный, на Linux он более скромный, но всё равно ощутим. Кстати, эти цифры сняты на старой версии мода - с тех пор он стал ещё лучше.
Ixeris корректно обрабатывает многопоточность. Callback'и, зарегистрированные через glfwSet*Callback, выполняются на потоке рендера. Вызовы GLFW, которые должны быть на главном потоке, если их дёргают из другого потока - диспатчатся на главный. Они либо сразу возвращают результат (если можно отложить), либо блокируют вызывающий поток до завершения. Начиная с версии 3.1.0 мод строго соблюдает требования потокобезопасности из документации GLFW.
Большинство GLFW-функций обязаны вызываться с главного потока. Но многие другие моды могут вызывать их из потока рендера, создавая лишние задержки. Ixeris кеширует часто используемые состояния GLFW, чтобы к ним можно было быстро обращаться из любого потока - без накладных расходов на передачу вызова. Кеш безопасен и не вносит дополнительных лагов.
В ванильном Minecraft (до версии 26.1) FPS-лимитер работал через glfwWaitEventsTimeout. Эта функция не может вызываться из потока рендера, так что с Ixeris она бы не работала. Разработчик переписал лимитер гибридным способом: сначала точный сон, а когда время ожидания минимально - переходит на активное ожидание (spin waiting).
Короче, если у тебя мышь с высокой частотой опроса (1000 Гц и выше) и ты играешь на Windows - Ixeris может дать очень заметный прирост FPS, особенно в моменты активного движения камерой. На Linux эффект скромнее, но тоже есть. Мод не конфликтует с другими оптимизациями вроде Sodium или Lithium, так что смело добавляй в сборку. Скачать Ixeris для Майнкрафт можно на версии 1.20+ под Fabric и Forge.

Мод Ixeris оптимизирует обработку событий ввода в Майнкрафт, устраняя просадки FPS при движении мыши. Использует многопоточность и буферизацию для Windows. Работает на Fabric и Forge для Minecraft 1.20+.