Ixeris
अवलोकन
Ixeris एक मॉड है जो क्लाइंट प्रदर्शन को बेहतर बनाने के लिए इवेंट पोलिंग को अनुकूलित करता है।
आपने शायद देखा होगा कि जब आप माउस हिलाते हैं तो FPS में स्पष्ट गिरावट आती है। FPS गिरावट का एक हिस्सा इसलिए है क्योंकि कैमरा घुमाते समय गेम को अतिरिक्त काम करने पड़ते हैं, जैसे चंक्स की दृश्यता की गणना करना। हालांकि, इवेंट पोल करने वाले नेटिव कोड की अक्षमता और JNI upcall ओवरहेड के कारण, CPU का कुछ समय, जो अन्यथा रेंडरिंग के लिए उपयोग किया जा सकता था, अनावश्यक रूप से इवेंट पोलिंग पर खर्च हो जाता है। यह Windows पर सबसे अधिक ध्यान देने योग्य है, खासकर जब आपके माउस की पोलिंग दर उच्च हो।
Ixeris इस समस्या को मुख्य रूप से दो उपायों के माध्यम से हल करता है:
- थ्रेडेड इवेंट पोलिंग। रेंडरिंग और इवेंट पोलिंग को एक ही थ्रेड पर करने के बजाय, Ixeris मुख्य थ्रेड पर इवेंट पोलिंग करता है और रेंडरिंग को एक अलग रेंडर थ्रेड पर भेज देता है।
- बफर्ड रॉ इनपुट (केवल Windows)। इनपुट पोलिंग के लिए उपयोग की जाने वाली विधि को अक्षम GetRawInputData (प्रत्येक इनपुट इवेंट के लिए एक कॉल) से GetRawInputBuffer में बदल देता है, जो रॉ इनपुट संदेशों को बैचों में पढ़ने की अनुमति देता है (सभी इवेंट के लिए एक कॉल)। इसके अतिरिक्त, इस काम को Java कोड में करने से हमें JNI upcall ओवरहेड को समाप्त करने की सुविधा मिली है।
बेंचमार्क
ये परीक्षण दुनिया के पूरी तरह लोड होने और फ्रेमरेट स्थिर होने के बाद किए गए हैं।
परीक्षण 1: गेम में
यह परीक्षण उस प्रदर्शन की तुलना करता है जब माउस ग्रैब्ड होता है, यानी कर्सर अदृश्य। यह परीक्षण एक सुपरफ्लैट दुनिया में बिना किसी एंटिटी के किया गया है।
यह परीक्षण Windows पर किया गया है, जहां Ixeris प्रदर्शन सुधारने के लिए डिफ़ॉल्ट रूप से बफर्ड रॉ इनपुट का उपयोग करता है। "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 पॉज़ स्क्रीन में। इस स्थिति में, रॉ इनपुट कभी उपयोग नहीं किया जाता क्योंकि गेम को वास्तविक कर्सर स्थिति जानने की आवश्यकता होती है, न कि रॉ सापेक्ष गति। पोलिंग दर 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
Install Millida Launcher
The launcher is free: download it at millida.net/launcher and sign in with any nickname.
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.
Launch the game
A profile with it appears in the launcher: click “Play”.
Manually
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.
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.
Put it in the mods folder
The folder is inside .minecraft (Windows: %appdata%\.minecraft\mods). If it does not exist, create it.
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.3 | NeoForge | 26.3677 KB | ||
| 26.3 | Fabric, Quilt | 26.3751 KB 6 | ||
| 26.2 | NeoForge | 26.2680 KB | ||
| 26.2 | Fabric, Quilt | 26.2754 KB 5 | ||
| 26.1.2 | NeoForge | 26.1.2679 KB | ||
| 26.1.2 | Fabric, Quilt | 26.1.2753 KB 1 | ||
| 1.21.11 | Forge | 1.21.111.5 MB 2 | ||
| 1.21.11 | NeoForge | 1.21.11680 KB |
रिव्यू
Ixeris को सबसे पहले रेट करें


