Skip to content

Ixeris مود لماينكرافت 1.21.1, 1.16.5

إدخال خام مخزن واستقصاء أحداث متعدد الخيوط

ابتداءً من decce6 · Modrinth
تنزيلات
31 تنزيلات
مشاهدة
148 مشاهدة
محدّث
محدّث 19.10.2026

Ixeris

نظرة عامة

Ixeris هو مود يحسّن استقصاء الأحداث لتحسين أداء العميل.

ربما لاحظت انخفاضًا ملحوظًا في معدل الإطارات عند تحريك الفأرة. جزء من هذا الانخفاض يعود إلى أن اللعبة لديها مهام إضافية تقوم بها عند تدوير الكاميرا، مثل حساب مدى ظهور القطع. ومع ذلك، بسبب عدم كفاءة الشيفرة الأصلية التي تستقصي الأحداث وبسبب الكلفة الإضافية لاستدعاءات JNI، يُهدر جزء من وقت المعالج، الذي كان يمكن استخدامه في العرض، على استقصاء الأحداث بلا داعٍ. هذا أكثر وضوحًا على Windows، خاصة عندما تكون الفأرة ذات معدل استقصاء مرتفع.

يعالج Ixeris هذه المشكلة بشكل رئيسي من خلال إجراءين:

  • استقصاء الأحداث عبر خيوط متعددة. بدلًا من تنفيذ العرض واستقصاء الأحداث على الخيط نفسه، ينفذ Ixeris استقصاء الأحداث على الخيط الرئيسي ويحوّل العرض إلى خيط عرض منفصل.
  • الإدخال الخام المخزّن مؤقتًا (على Windows فقط). يبدّل الطريقة المستخدمة لاستقصاء الإدخال من GetRawInputData غير الكفؤة (استدعاء واحد لكل حدث إدخال) إلى GetRawInputBuffer التي تتيح قراءة رسائل الإدخال الخام على دفعات (استدعاء واحد لجميع الأحداث). إضافة إلى ذلك، أتاح تنفيذ هذا العمل بشيفرة Java التخلص من الكلفة الإضافية لاستدعاءات JNI.

اختبارات الأداء

أُجريت هذه الاختبارات بعد تحميل العالم بالكامل واستقرار معدل الإطارات.

الاختبار 1: داخل اللعبة

يقارن هذا الاختبار الأداء عندما تكون الفأرة مُلتقطة، أي عندما يكون المؤشر غير مرئي. أُجري هذا الاختبار في عالم مسطح للغاية بدون كيانات.

أُجري هذا الاختبار على Windows، حيث يستخدم Ixeris الإدخال الخام المخزّن مؤقتًا افتراضيًا لتحسين الأداء. يُظهر عمود "Ixeris, Non-buffered" معدل الإطارات مع تعطيل هذا الخيار.

معدل الاستقصاء - بدون 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. في هذه الحالة، لا يُستخدم الإدخال الخام أبدًا لأن اللعبة تحتاج إلى معرفة موضع المؤشر الفعلي، لا الحركة النسبية الخام. معدل الاستقصاء هو 1000Hz.

يُظهر عمود "Idle FPS" معدل الإطارات عند عدم تحريك الفأرة، ويُظهر العمودان التاليان معدل الإطارات عند تحريك الفأرة بسرعة فوق نافذة اللعبة، بدون Ixeris ومع Ixeris على التوالي. لاحظ أن هذا الاختبار أُجري عند الإصدار الأولي من 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 المستخدمة بكثرة مؤقتًا للوصول السريع إليها من أي خيط، دون الحاجة إلى توجيه الاستدعاء إلى الخيط الرئيسي. هذه الذاكرات المؤقتة آمنة ولا تُدخل تأخيرًا إضافيًا.

محدّد معدل الإطارات المحسّن

محدّد معدل الإطارات الأصلي (قبل 26.1) معيب، إذ يستخدم glfwWaitEventsTimeout للنوم. لكن هذه الدالة لا يمكن استدعاؤها من خيط العرض، وبالتالي لا تعمل على النحو الأمثل مع Ixeris.

يعيد Ixeris كتابة محدّد معدل الإطارات بطريقة هجينة، فينام بدقة ويبدأ الانتظار الدوراني عندما يكون وقت الانتظار منخفضًا جدًا.

المصطلحات

  • الخيط الرئيسي هو الخيط الذي تبدأ عليه اللعبة. يُشترط استدعاء معظم دوال 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 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 ميغابايت 2
1.21.11NeoForge1.21.11680 KB

التقييمات

كن أول من يقيّم Ixeris

التعليقات 0

سجّل الدخول للتعليقتسجيل الدخول

مودات مشابهة

كل المودات

المزيد حول هذا

المؤلف: decce6الترخيص: LGPL-3.0-onlyالشيفرة المصدرية

هل أنت المؤلف؟ تواصل معنا — وسنزيله خلال 48 ساعة.