Noisiumed: مراجعة مود تحسين توليد القطع في Minecraft
تعرف على كيفية تحسين مود Noisiumed لتوليد القطع في Minecraft، وتقليل حمل وحدة المعالجة المركزية، وتحسين أداء اللعبة.
تعرف على كيفية تحسين مود Noisiumed لتوليد القطع في Minecraft، وتقليل حمل وحدة المعالجة المركزية، وتحسين أداء اللعبة.
التبعيات:
المشغل: Fabric / NeoForge / Forge [تحقق في اللعبة]
إصدار Minecraft: 1.20.1 – 1.21.6
تضع عملية إنشاء مناطق جديدة في Minecraft Java Edition حملاً كبيراً على المعالج المركزي للخادم أو الكمبيوتر المحلي. عند السفر بسرعة عبر عالم اللعبة باستخدام أجنحة الإليترا، أو وسائل النقل السريع، أو إضافات العرض المسبق للتضاريس، يفشل الخادم في معالجة الضوضاء الرياضية وإنشاء كتل جديدة في الوقت المناسب. يؤدي هذا إلى تأخير في تحميل القطع، وانخفاض حاد في مقياس TPS (القرادات في الثانية)، وتقطعات طفيفة في العميل. يحل مود Noisiumed هذه المشكلة من خلال تقديم مجموعة من التحسينات منخفضة المستوى لخوارزميات مولد الضوضاء الرياضي في Minecraft.
مبدأ التحسين منخفض المستوى لتوليد القطع
يرتبط التباطؤ الرئيسي عند إنشاء قطع جديدة بالحسابات في فئة NoiseChunkGenerator وطريقتها populateNoise. خلال كل خطوة من خطوات إنشاء الكتل، يقوم محرك اللعبة الأساسي (vanilla) بإجراء فحوصات أمان متعددة المستويات، وتحديثات للبيانات الوصفية، واستدعاءات لأساليب مجردة تعتبر زائدة عن الحاجة أثناء الملء الأولي لمصفوفة العالم. يستخدم Noisiumed نظام حقن Mixin لتنفيذ التغييرات مباشرة في عملية بناء شبكة الكتل.
الكتابة المباشرة إلى لوحة قسم القطعة
الميزة الفنية الرئيسية للمود هي الانتقال إلى الملء المباشر لتخزين لوحة قسم القطعة (block state palette storage). بدلاً من استدعاء الأساليب القياسية عالية المستوى لوضع الكتل، والتي تؤدي إلى تحديثات الكائنات المجاورة وإجراء التحقق من النوع، يقوم المود بكتابة معرفات الكتل مباشرة إلى مصفوفة لوحة القطعة. يقلل هذا من عدد العمليات في كومة ذاكرة Java (JVM heap) ويقلل بشكل كبير من عدد تعليمات المعالج المطلوبة لمعالجة متر مكعب واحد من مساحة اللعبة.
التخزين المؤقت لحسابات المنطقة الإحيائية والكثافة
عند حساب حدود المنطقة الإحيائية وكثافة التضاريس ثلاثية الأبعاد، يكرر المولد الأساسي العمليات الرياضية على الضوضاء للنقاط المجاورة عدة مرات. يقدم Noisiumed نظاماً مؤقتاً داخلياً للتخزين المؤقت لقيم الكثافة ونتائج حساب المنطقة الإحيائية. عند الانتقال إلى إحداثيات مجاورة، يصل المولد أولاً إلى ذاكرة التخزين المؤقت المحلية هذه. إذا كانت قيمة النقطة الحالية قد حُسبت سابقاً، يأخذ النظام النتيجة الجاهزة دون إعادة تنفيذ الدوال المثلثية والجبرية الثقيلة.
تعدد مؤشرات الترابط والمزامنة في إصدارات 1.21+
مع إصدار تحديثات Minecraft 1.21 وما بعدها، قام مطورو اللعبة بتغيير المنطق الداخلي للعمل مع خيوط التوليد بشكل كبير. ومع ذلك، غالباً ما يؤدي الحساب الموازي للضوضاء إلى قفل مؤشر الترابط (thread locking)، حيث تنتظر إحدى العمليات انتهاء حسابات عملية أخرى للوصول إلى بيانات القطعة المشتركة. يقوم Noisiumed بتحسين نظام المزامنة والقفل على مستوى مولد الضوضاء. يقلل المود من حجم أقسام التعليمات البرمجية الحرجة، مما يسمح لخيوط معالج الخلفية بإجراء العمليات الحسابية بالتوازي دون انتظار متبادل.
التأثير على مقاييس أداء الخادم
إن تثبيت التعديل على خادم مخصص له تأثير إيجابي على استقرار مقاييس MSPT (ملي ثانية لكل قرادة) أثناء استكشاف اللاعبين النشط للعالم. يؤدي تقليل حمل وحدة المعالجة المركزية أثناء إنشاء مناطق جديدة إلى منع حدوث ارتفاعات حادة في MSPT فوق الحد الحرج البالغ 50 مللي ثانية، مع الحفاظ على 20 TPS ثابتة على الخادم. هذا ملحوظ بشكل خاص في العوالم التي تحتوي على عدد كبير من المناطق الإحيائية المخصصة أو ارتفاع التضاريس المتغير.
alt: [سجل وحدة تحكم الخادم أثناء تحميل مود Noisiumed الذي يعرض عمليات حقن Mixin النشطة]
التفاعل مع بيئة التحسين ومودات التوليد
المود عبارة عن تحسين من جانب الخادم (server-side) بحت، على الرغم من أنه يحسن الأداء أيضاً في وضع اللاعب الفردي، حيث يقوم العميل بتشغيل خادم محلي مدمج. لا يضيف كتلاً أو عناصر جديدة أو تغييرات على آليات توليد العالم، مع الاحتفاظ بالتوافق الكامل مع عملاء vanilla. يمكن للاعبين الانضمام إلى الخادم دون الحاجة إلى تثبيت هذا المود على أجهزة الكمبيوتر الخاصة بهم.
التوافق مع C2ME
للحصول على أقصى تأثير لتحسين توليد العالم، يوصى باستخدام Noisiumed مع مود C2ME (Concurrent Chunk Management Engine). يمتلك هذان المودان تركيز تحسين مختلف ولا يتعارضان مع بعضهما البعض:
يدير
C2MEخيوط الإدخال/الإخراج للقطع العالمية (I/O)، ويوزع مهام التوليد عبر نوى المعالج، ويحسن نظام حفظ البيانات على القرص.يعمل Noisiumed على تحسين الحسابات الرياضية المباشرة داخل مولد الضوضاء نفسه أثناء أداء المهام التي يتم تمريرها إليه بواسطة
C2ME.
يسمح الاستخدام المشترك لهذه المودات بتسريع كبير لإنتاجية مولد القطع على المعالجات متعددة النواة.
التوافق مع مودات الرسومات و Distant Horizons
المود متوافق تماماً مع محسنات الرسومات من جانب العميل Sodium و Lithium. يُلاحظ زيادة كبيرة بشكل خاص في الأداء عند استخدام مود Distant Horizons، والذي ينشئ إصدارات مبسطة من المناظر الطبيعية (قطع LOD) على مسافة هائلة من اللاعب. نظراً لأن بناء نماذج LOD لـ Distant Horizons يتطلب إنشاءً سريعاً لعدد كبير من القطع في الخلفية، فإن تقليل حمل المعالج بفضل Noisiumed يمنع توقف اللعبة لفترات طويلة أثناء استكشاف المنطقة الأولي.
الخلاصة
يعد مود Noisiumed أداة موجهة للغاية ولكنها فعالة لتحسين توليد القطع في Minecraft Java Edition. بفضل الكتابة المباشرة إلى لوحة التخزين والتخزين المؤقت الذكي لحسابات الضوضاء، فإنه يقلل بشكل كبير من العبء على المعالج المركزي أثناء الاستكشاف النشط للعالم أو عند تشغيل إضافات التحميل المسبق للخريطة.
إنه يضمن الامتثال الكامل لتوليد vanilla (seed parity)، لذلك سيكون العالم الذي تم إنشاؤه مطابقاً للعبة الأصلية دون أي تحولات في المنطقة الإحيائية أو تشوه هيكلي. القيد الرئيسي للمود هو أنه يحسن فقط مرحلة إنشاء القطعة الأولية ولا يؤثر على معدل الإطارات الإجمالي (FPS) أو فيزياء اللعبة بعد أن يكون العالم قد تم إنشاؤه وحفظه بالفعل على القرص. وهذا يجعله خياراً ممتازاً لأصحاب الخوادم واللاعبين الذين يسافرون بنشاط عبر أراضٍ جديدة.
التثبيت
التثبيت النموذجي يستغرق حوالي 5 دقائق. الخطوات نفسها؛ يختلف فقط المُحمّل والبناء المطابق.
- 1Install a mod loader (Forge, Fabric or NeoForge) that matches your Minecraft version.
- 2Download the mod file (.jar) built for that same version.
- 3Place the .jar into your .minecraft/mods folder.
- 4Launch Minecraft with the modded profile and check the mod loads in-game.











