Ixeris
সংক্ষিপ্ত বিবরণ
Ixeris একটি মড যা ক্লায়েন্ট পারফরম্যান্স উন্নত করার জন্য ইভেন্ট পোলিং অপ্টিমাইজ করে।
আপনি হয়তো লক্ষ্য করেছেন যে মাউস নাড়ালে FPS-এ দৃশ্যমান পতন ঘটে। FPS পতনের একটি অংশের কারণ হলো ক্যামেরা ঘোরানোর সময় গেমের অতিরিক্ত কাজ থাকে, যেমন চাঙ্কের দৃশ্যমানতা গণনা করা। তবে, ইভেন্ট পোল করা নেটিভ কোডের অদক্ষতা এবং JNI upcall ওভারহেডের কারণে, CPU সময়ের কিছু অংশ, যা অন্যথায় রেন্ডারিংয়ে ব্যবহার করা যেত, অপ্রয়োজনীয়ভাবে ইভেন্ট পোলিংয়ে ব্যয় হয়। এটি Windows-এ সবচেয়ে বেশি লক্ষণীয়, বিশেষ করে যখন আপনার মাউসের পোলিং রেট উচ্চ হয়।
Ixeris মূলত দুটি ব্যবস্থার মাধ্যমে সমস্যাটি সমাধান করে:
- থ্রেডেড ইভেন্ট পোলিং। একই থ্রেডে রেন্ডারিং এবং ইভেন্ট পোলিং করার পরিবর্তে, Ixeris মূল থ্রেডে ইভেন্ট পোলিং করে এবং রেন্ডারিংকে একটি আলাদা রেন্ডার থ্রেডে পাঠায়।
- বাফারড র ইনপুট (শুধুমাত্র Windows-এ)। ইনপুট পোলিংয়ের জন্য ব্যবহৃত পদ্ধতিটি অদক্ষ GetRawInputData (প্রতিটি ইনপুট ইভেন্টের জন্য একটি কল) থেকে GetRawInputBuffer-এ পরিবর্তন করে, যা ব্যাচে র ইনপুট মেসেজ পড়ার সুযোগ দেয় (সব ইভেন্টের জন্য একটি কল)। অতিরিক্তভাবে, এই কাজটি Java কোডে করার ফলে আমরা JNI upcall ওভারহেড দূর করতে পেরেছি।
বেঞ্চমার্ক
এই পরীক্ষাগুলি বিশ্ব সম্পূর্ণভাবে লোড হওয়ার এবং ফ্রেমরেট স্থিতিশীল হওয়ার পরে করা হয়েছে।
পরীক্ষা ১: গেমের ভিতরে
এই পরীক্ষাটি মাউস গ্র্যাব করা অবস্থায়, অর্থাৎ কার্সর অদৃশ্য থাকার সময় পারফরম্যান্স তুলনা করে। এই পরীক্ষাটি কোনো এনটিটি ছাড়া একটি সুপারফ্ল্যাট বিশ্বে করা হয়েছে।
এই পরীক্ষাটি 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)
পরীক্ষা ২: মেনুতে
এই পরীক্ষাটি মাউস গ্র্যাব না করা অবস্থায়, অর্থাৎ কার্সর দৃশ্যমান থাকার সময় পারফরম্যান্স তুলনা করে, যেমন 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 ৬ | ||
| 26.2 | NeoForge | 26.2680 KB | ||
| 26.2 | Fabric, Quilt | 26.2754 KB ৫ | ||
| 26.1.2 | NeoForge | 26.1.2679 KB | ||
| 26.1.2 | Fabric, Quilt | 26.1.2753 KB | ||
| 1.21.11 | Forge | 1.21.111.5 MB ২ | ||
| 1.21.11 | NeoForge | 1.21.11680 KB |
রিভিউ
Ixeris-এ প্রথম রেটিং দিন


