Skip to content

Minecraft 1.21.1, 1.16.5용 Ixeris 모드

버퍼링된 원시 입력과 스레드 이벤트 폴링

부터 decce6 · Modrinth
다운로드
30 다운로드
조회수
144 조회수
업데이트됨
업데이트됨 19.10.2026

Ixeris

개요

Ixeris는 이벤트 폴링을 최적화하여 클라이언트 성능을 향상시키는 모드입니다.

마우스를 움직일 때 FPS가 눈에 띄게 떨어지는 것을 느낀 적이 있을 것입니다. FPS 저하의 일부는 카메라를 돌릴 때 청크의 가시성 계산 등 게임이 추가로 해야 할 작업이 있기 때문입니다. 그러나 이벤트를 폴링하는 네이티브 코드의 비효율성과 JNI 업콜 오버헤드 때문에, 렌더링에 활용될 수 있었던 일부 CPU 시간이 이벤트 폴링에 불필요하게 소모됩니다. 이는 Windows에서 가장 두드러지며, 특히 마우스의 폴링 레이트가 높을 때 그렇습니다.

Ixeris는 주로 두 가지 방법으로 이 문제를 해결합니다:

  • 스레드 기반 이벤트 폴링. 렌더링과 이벤트 폴링을 같은 스레드에서 수행하는 대신, Ixeris는 메인 스레드에서 이벤트 폴링을 수행하고 렌더링을 별도의 렌더 스레드로 넘깁니다.
  • 버퍼링된 Raw Input (Windows 전용). 입력 폴링에 사용되는 방법을 비효율적인 GetRawInputData (각 입력 이벤트마다 한 번씩 호출)에서 GetRawInputBuffer로 전환하여 raw 입력 메시지를 일괄적으로 읽을 수 있게 합니다 (모든 이벤트에 대해 한 번 호출). 또한 이 작업을 Java 코드로 수행함으로써 JNI 업콜 오버헤드를 제거할 수 있었습니다.

벤치마크

이 테스트들은 월드가 완전히 로드되고 프레임레이트가 안정된 후에 수행됩니다.

테스트 1: 게임 내

이 테스트는 마우스가 잡혀 있을 때, 즉 커서가 보이지 않을 때의 성능을 비교합니다. 이 테스트는 엔티티가 없는 슈퍼플랫 월드에서 수행됩니다.

이 테스트는 Windows에서 수행되며, 여기서 Ixeris는 기본적으로 버퍼링된 raw input을 사용하여 성능을 향상시킵니다. "Ixeris, Non-buffered" 열은 해당 옵션을 비활성화했을 때의 FPS를 보여줍니다.

폴링 레이트 - Ixeris 없음 - Ixeris, Non-buffered - Ixeris, Buffered

8000 Hz - 12 FPS - 83 FPS (6.9x) - 121 FPS (10.1x) 2000 Hz - 76 FPS - 114 FPS (1.50x) - 135 FPS (1.78x) 500 Hz - 134 FPS - 145 FPS (1.08x) - 151 FPS (1.13x)

테스트 2: 메뉴 내

이 테스트는 마우스가 잡혀 있지 않을 때, 즉 F3+Esc 일시정지 화면에서처럼 커서가 보일 때의 성능을 비교합니다. 이 경우 게임은 raw 상대 이동이 아니라 실제 커서 위치를 알아야 하므로 raw input이 전혀 사용되지 않습니다. 폴링 레이트는 1000Hz입니다.

"Idle FPS" 열은 마우스를 움직이지 않을 때의 FPS를 보여주며, 다음 두 열은 각각 Ixeris 없이, Ixeris와 함께 게임 창 위에서 마우스를 빠르게 움직일 때의 FPS를 보여줍니다. 이 테스트는 Ixeris의 최초 릴리스 당시 수행되었으며, 그 이후로 많은 개선이 이루어졌습니다.

Idle 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)

기술적 세부 사항

스레드 안전성

현재 상태에서 Ixeris는 스레드 안전성을 깨뜨리지 않아야 합니다. glfwSetCallback으로 등록된 콜백은 렌더 스레드에서 실행됩니다. 메인 스레드에서 호출되어야 하는 GLFW 함수에 대한 호출이 다른 스레드에서 이루어지면 메인 스레드로 전달됩니다. 이러한 호출은 안전하게 지연될 수 있으면 즉시 반환될 수 있으며, 그렇지 않으면 호출이 완료될 때까지 호출자를 차단할 수 있습니다.

버전 3.1.0부터 GLFW 문서의 스레드 안전성 요구 사항이 엄격히 준수됩니다.

GLFW 상태 캐싱

대부분의 GLFW 함수는 메인 스레드에서 호출되어야 합니다. 그러나 많은 모드가 렌더 스레드에서 이들을 호출할 수 있습니다. 스레드 통신으로 인한 성능 저하를 피하기 위해, Ixeris는 자주 사용되는 GLFW 상태를 캐시하여 호출을 메인 스레드로 라우팅할 필요 없이 모든 스레드에서 빠르게 접근할 수 있게 합니다. 캐시는 안전하며 추가 지연을 유발하지 않습니다.

향상된 FPS 제한기

바닐라 FPS 제한기 (26.1 이전)는 glfwWaitEventsTimeout을 사용하여 대기하는 결함이 있습니다. 그러나 이 함수는 렌더 스레드에서 호출될 수 없으므로 Ixeris와 함께 최적으로 작동하지 않습니다.

Ixeris는 FPS 제한기를 하이브리드 방식으로 재작성하여, 정밀하게 대기하고 대기 시간이 매우 짧을 때 스핀 대기를 시작합니다.

용어

  • 메인 스레드는 게임이 시작되는 스레드입니다. 대부분의 GLFW 함수는 이 스레드에서 호출되어야 하며, 이벤트 폴링을 담당합니다.
  • 렌더 스레드는 이벤트 폴링을 제외하고 게임이 일반적으로 하는 모든 작업을 수행합니다.

이 두 용어는 바닐라 Minecraft에서 동의어입니다.

Ixeris 설치 방법

With Millida Launcher

  1. Install Millida Launcher

    The launcher is free: download it at millida.net/launcher and sign in with any nickname.

  2. Click “Install” on this page

    The launcher opens and installs the mod for Minecraft 1.16.5–26.3 on Fabric, Forge, NeoForge or Quilt automatically.

  3. Launch the game

    A profile with it appears in the launcher: click “Play”.

Manually

  1. Install Fabric, Forge, NeoForge or Quilt

    The loader must match the game version of the mod file, for example Minecraft 26.3. After installing it, a separate profile appears in your launcher.

  2. Download the file for your version

    In the version list above, pick the file Ixeris-4.6.10+26.3-neoforge.jar (677 KB) for your game version and loader.

  3. Put it in the mods folder

    The folder is inside .minecraft (Windows: %appdata%\.minecraft\mods). If it does not exist, create it.

  4. Launch the loader profile

    Open “Mods” in the main menu: Ixeris should be in the list.

Ixeris works on the player’s side only: there is no need to install it on a server.

버전

의존성 포함

Minecraft로더파일날짜작업
26.3NeoForge26.3677 KB
26.3Fabric, Quilt26.3751 KB 5
26.2NeoForge26.2680 KB
26.2Fabric, Quilt26.2754 KB 5
26.1.2NeoForge26.1.2679 KB
26.1.2Fabric, Quilt26.1.2753 KB
1.21.11Forge1.21.111.5 MB 2
1.21.11NeoForge1.21.11680 KB

리뷰

Ixeris의 첫 평가를 남겨 보세요

댓글 0

댓글을 작성하려면 로그인하세요로그인

비슷한 모드

모든 모드

이 항목 더 보기

작성자: decce6라이선스: LGPL-3.0-only소스 코드

작성자이신가요? 문의하기 — 48시간 이내에 삭제해 드립니다.