Skip to content

Ixeris Mod untuk Minecraft 1.21.1, 1.16.5

Input mentah ter-buffer dan polling event ber-thread

mulai dari decce6 · Modrinth
unduhan
31 unduhan
dilihat
149 dilihat
Diperbarui
Diperbarui 19.10.2026

Ixeris

Ringkasan

Ixeris adalah mod yang mengoptimalkan polling event untuk meningkatkan performa klien.

Anda mungkin pernah menyadari adanya penurunan FPS yang terlihat saat menggerakkan mouse. Sebagian dari penurunan FPS tersebut terjadi karena game memang memiliki pekerjaan tambahan saat Anda memutar kamera, seperti menghitung visibilitas chunk. Namun, karena ketidakefisienan pada kode native yang melakukan polling event dan overhead upcall JNI, sebagian waktu CPU yang seharusnya dapat dimanfaatkan untuk rendering malah terbuang secara tidak perlu untuk polling event. Hal ini paling terasa di Windows, terutama jika mouse Anda memiliki polling rate yang tinggi.

Ixeris mengatasi masalah ini terutama melalui dua langkah:

  • Threaded Event Polling. Alih-alih melakukan rendering dan polling event pada thread yang sama, Ixeris melakukan polling event pada main thread dan memindahkan rendering ke render thread terpisah.
  • Buffered Raw Input (khusus Windows). Mengubah metode yang digunakan untuk polling input dari GetRawInputData yang tidak efisien (satu panggilan untuk setiap event input) menjadi GetRawInputBuffer yang memungkinkan pembacaan pesan raw input secara batch (satu panggilan untuk semua event). Selain itu, melakukan pekerjaan ini dalam kode Java memungkinkan kami menghilangkan overhead upcall JNI.

Benchmark

Pengujian ini dilakukan setelah dunia sepenuhnya dimuat dan framerate telah stabil.

Tes 1: Di Dalam Game

Tes ini membandingkan performa saat mouse di-grab, yaitu kursor tidak terlihat. Tes ini dilakukan di dunia superflat tanpa entitas.

Tes ini dilakukan di Windows, di mana Ixeris menggunakan buffered raw input secara default untuk meningkatkan performa. Kolom "Ixeris, Non-buffered" menunjukkan FPS dengan opsi tersebut dinonaktifkan.

Polling Rate - Tanpa 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)

Tes 2: Di Menu

Tes ini membandingkan performa saat mouse tidak di-grab, yaitu kursor terlihat, seperti pada layar pause F3+Esc. Dalam kasus ini, raw input tidak pernah digunakan karena game perlu mengetahui posisi kursor yang sebenarnya, bukan pergerakan relatif mentah. Polling rate-nya adalah 1000Hz.

Kolom "Idle FPS" menunjukkan FPS saat tidak menggerakkan mouse, dan dua kolom berikutnya menunjukkan FPS saat menggerakkan mouse dengan cepat di atas jendela game, masing-masing tanpa Ixeris dan dengan Ixeris. Perlu dicatat bahwa tes ini dilakukan pada rilis awal Ixeris, dan banyak peningkatan telah dilakukan sejak saat itu.

Idle FPS - Tanpa Ixeris - Dengan 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)

Detail Teknis

Keamanan Thread

Dalam kondisi saat ini, Ixeris seharusnya tidak merusak keamanan thread. Callback yang didaftarkan dengan glfwSetCallback dieksekusi pada render thread. Panggilan ke fungsi GLFW yang diharuskan dipanggil pada main thread, jika dilakukan pada thread lain, akan dikirim ke main thread. Panggilan ini dapat langsung kembali jika dapat ditunda dengan aman, atau jika tidak dapat memblokir pemanggil hingga panggilan selesai.

Sejak versi 3.1.0, persyaratan keamanan thread dalam dokumentasi GLFW dipatuhi secara ketat.

Caching State GLFW

Sebagian besar fungsi GLFW diharuskan dipanggil dari main thread. Namun, banyak mod yang mungkin memanggilnya dari render thread. Untuk menghindari penurunan performa yang disebabkan oleh komunikasi antar-thread, Ixeris menyimpan cache state GLFW yang sering digunakan untuk akses cepat dari thread mana pun, tanpa harus mengarahkan panggilan ke main thread. Cache tersebut aman dan tidak menimbulkan lag tambahan.

FPS Limiter yang Ditingkatkan

FPS limiter vanilla (sebelum 26.1) memiliki kekurangan, yaitu menggunakan glfwWaitEventsTimeout untuk tidur. Fungsi ini, bagaimanapun, tidak dapat dipanggil dari render thread dan dengan demikian tidak bekerja secara optimal dengan Ixeris.

Ixeris menulis ulang FPS limiter dengan cara hybrid, tidur secara presisi dan memulai spin waiting saat waktu tunggu sangat rendah.

Glosarium

  • Main thread adalah thread tempat game dijalankan. Sebagian besar fungsi GLFW diharuskan dipanggil pada thread ini, dan thread ini bertanggung jawab untuk polling event.
  • Render thread melakukan semua yang biasanya dilakukan game, kecuali polling event.

Kedua istilah ini sinonim dalam Minecraft vanilla.

Cara memasang 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.

Versi

Dengan dependensi

MinecraftLoaderFileTanggalTindakan
26.3NeoForge26.3677 KB
26.3Fabric, Quilt26.3751 KB 6
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

Ulasan

Jadilah yang pertama menilai Ixeris

Komentar 0

Masuk untuk berkomentarMasuk

Mod serupa

Semua mod

Selengkapnya

Penulis: decce6Lisensi: LGPL-3.0-onlyKode sumber

Anda penulisnya? Hubungi kami — kami akan menghapusnya dalam 48 jam.