لذلك ، قمت بتحسين الأجزاء الأكثر وضوحا من لعبتك. ومع ذلك ، هذا في الواقع ليس هو الحال. لقد فاتتك نقطة صعبة وليست ملحوظة: تحسين التسلسل الهرمي لمشهد الوحدة.وما هو الخطأ في التسلسل الهرمي؟ اسمحوا لي أن أريك شيئا.
إطلاق الوحدة وفتح مشروع اللعبة. ثم قم بتشغيل اللعبة على الجهاز المستهدف
وقم بتوصيل Unity Profiler به. سجل إطارات قليلة أثناء اللعب.
في Unity Profiler ، ابحث عن
علامات profiler سيئة التالية:
لم تجد؟ استمر في البحث ، أنا متأكد من وجود واحد على الأقل.
يمكن أن يكون
UpdateRendererBoundingVolumes أو
Physics.SyncColliderTransform أو
TransformChangedDispatch .
سوف تظهر عندما تكون مستعدًا للاستسلام. سوف تحدث عندما تحوم بالفعل فوق الزر إغلاق Profiler.
هل وجدت؟ إذا كان الأمر كذلك ، فأنت في حظ. لقد وجدتهم أيضًا في أحد مشاريعي السابقة واكتشفت كيفية التخلص منهم تمامًا. أدركت ما هو الشر مخبأة في نفوسهم ...
تريد أن تتعلم
أسرار المشهد الهرمي الوحدة الأداء ؟
المستوى 1 المطور: نموذج الوحدة الهرمية المشهد
ما زلت أتذكر مشروع الوحدة الأول الذي عملت عليه منذ أكثر من عشر سنوات.
ما زلت لا أعرف حقًا الفرق بين كائنات اللعبة ومكوناتها.
لكن هذا لا يهم ، ما زلت صنع ألعاب.
هل كان هذا التسلسل الهرمي الفوضوي لمشهد الوحدة مألوفا بالنسبة لي؟ في الواقع نعم ، لأنه في بعض الأحيان كان أسوأ بكثير. ومع ذلك ، من الغريب أنه في أكثر الأحيان ، يمكن الاستغناء عن هذا النوع من التسلسل الهرمي. لكنك ستعاني. سوف تضطر لدفع ثمنها في وقت لاحق.
لحسن الحظ ، قبل أن بدأت تطوير الألعاب بشكل احترافي ، تعلمت أن أقدر التسلسل الهرمي الأكثر تنظيماً.
يمكن أن يكون هيكل جودة التسلسل الهرمي للمشهد هو أفضل صديق لك. هيكل يبسط إلى حد كبير التنمية والتعاون.
ليس من الضروري أن تكون مثالية ، مهما كان ذلك. يكفي أن تكون جيدة. لكن كن حذرا.
هذا مهم.التسلسل الهرمي لمشهد القمامة أمر خطير ، وسيؤدي ذلك إلى حدوث مشكلات لك ، لأنه من غير المحتمل أن تلاحظ آثاره الجانبية مباشرةً.
سوف يطاردك شبح مخيف ، ويبطئك ويدفعك إلى الوراء. في بعض الأحيان سوف ننظر إلى الوراء ، ولكن لن يكون هناك شيء وراء. لذلك ، سوف تعتاد على التحرك ببطء.
على مر السنين ، تعلمت تشخيص هذه الآثار الجانبية. المشكلة الرئيسية هي أن الآثار الجانبية للتسلسل الهرمي الفوضوي ليس من السهل تتبعها.
سترى ملف التعريف ، لكنك لا تعرف معنى العلامات. غالبًا ما تكون أسمائهم غامضة ... ما هي الأسرار التي يحتفظون بها؟ هناك شيء واحد يجب التأكد منه: العلامات الغامضة تخبرنا بشيء يستحق الاستكشاف.
عندما نناقش تحسين بنية المشهد ، فإننا نعني عادة تحسين القابلية للتفاهم وخفض تكاليف الدعم. لكن الجميع ينسى الأداء.
دعنا نحلل التسلسل الهرمي للمشهد الموضح أعلاه. أنه يحتوي على
2000 كرات دوارة متداخلة واحدة إلى أخرى .
ماذا سيقول المحلل عن هذا؟ لنرى.
الوحدة أمثلية التسلسل الهرمي مشهد: نظرة عامة منشئ ملفات التعريف التسلسل الهرميأداء رديء للغاية للأبنية الجاهزة البسيطة ونص الدوران المطبق على كرة منتظمة. كما ترون ،
تأخذ Physics.SyncColliderTransform و
UpdateRendererBoundingVolumes جزءًا كبيرًا من ميزانية وقت الإطار. لكن دعونا لا ننهي التحليل على هذا ، لأنني فضولي للغاية بشأن هذه القضية.
دعنا نعمق.
تفاصيل منشئ التسلسل الهرميإليكم إجابة سؤال المقال.التسلسلات الهرمية غير المحسنة تسبب مشكلتين كبيرتين في الوحدة.
- التسلسلات الهرمية العميقة تمنع نظام العمل من العمل بكفاءة في نفس الوقت
- تؤدي التسلسلات الهرمية المتداخلة إلى اختناقات في بعض الأنظمة الفرعية للوحدة.
لا تنسى ذلك ، لأنه
ينطبق على جميع أنواع الكائنات الديناميكية ، وخاصة واجهات المستخدم.
للرجوع اليها: أنا أعمل على Threadripper مع 16 النوى المادية و 32 المواضيع. هل تعرف كم منهم يعملون بفعالية في هذا المشروع؟ واحد فقط.
وغني عن القول ، أداء اللعبة يعاني من هذا. وإذا حاولت تصحيح الموقف من خلال فهم كل هذه الأسماء الغامضة ، فاحصل على العمر قبل الأوان.
ماذا يفعل مطور المستوى 2 مع 2000 كائن؟المستوى 2 المطور: الأمثل التسلسل الهرمي مشهد الوحدة
يعرف مطور الوحدة 2 المستوى أن تحولات الأطفال تأتي بسعر. إنه يعرف أيضًا أن السعر في هذه الحالة هو مللي ثانية من وقت وحدة المعالجة المركزية. أو ساعات العمل الإضافي التي يقضيها المطور لحل هذه المشكلة.
اسأل نفسك: هل تعتبر ميزانية وقت وحدة المعالجة المركزية كافية لدفع مثل هذا التسلسل الهرمي الشامل؟
ما هي مساحة لعبتك التي تأخذ منها هذه المللي ثانية؟
هل سيتعين على هذا تقليل عدد الجزيئات الجميلة؟ أو عدد الوحوش التي يجب على اللاعب محاربتها؟ أتمنى ألا تضطر إلى القيام بأي من هذا ، لكن الأفضل ...
إنشاء تسلسل هرمي المشهد فعالة وتدمير تلك دون المستوى الأمثل.
السبب في أن التعشيش المعقد للكائنات التابعة يسرق موارد اللعبة بسيط:
كل تغيير للتحول يؤثر على الأطفال ، وربما الوالدين ذوي الأشقاء.عندما تقوم بتغيير موضع الكائن أو دورانه أو قياسه ، فإن الوحدة تسرد العديد من الجوانب. يقوم المحرك بذلك من تلقاء نفسه بحيث يمكنك التركيز على اللعبة. هذا شيء رائع ، لكن إذا كنت لا تعرف ذلك ، فقد يصبح السعر فلكيًا.
ما هو الحل؟ أبقِ الأشياء بسيطة وتلتزم بالقواعد الذهبية للتسلسل الهرمي لمشهد الوحدة النظيف:
- لا يوجد أكثر من 50 طفل في المجموع لكل كائن اللعبة
- لا يزيد عن 4 مستويات من التداخل على أي كائن لعبة.
ليس بهذه السهولة؟ يقوم مطور المستوى 2 بإنشاء تسلسل هرمي مسطح لمشاهد الوحدة قدر الإمكان.
ألقِ نظرة على الصورة أدناه. نفس العدد من الكائنات ، ولكن هذه المرة منظم في تسلسل هرمي مسطح.
المدخرات ضخمة.
ولكن أسهل من القول ، أليس كذلك؟ الفصل وتدمير العلاقات بين الأشياء أمر شاق ، وعرضة للخطأ والعمل الطويل.
ما الذي سيفعله مطور المستوى الثالث؟
المستوى 3 المطور: أداة التسلسل الهرمي FAP
مطور الوحدة الجيدة يقوم بهذه المهمة. مطور الوحدة
العظيم يقوم بالمهمة بشكل أسرع وأكثر دقة. ولكن كيف ينجح؟ مع مساعدة من الأدوات. نظرًا لأن التسلسل الهرمي الرخيص الوحيد هو التسلسل الهرمي الفارغ ، لتقييم اللعبة ، يجب عليك الإجابة عن الأسئلة التالية ...
ما مدى تعقيد التسلسل الهرمي الخاص بك؟يمكن الإجابة عن هذا السؤال من خلال تحليل التسلسل الهرمي بشكل منهجي ومنحهم تصنيفًا رقميًا.
ما هي الصيغ الرياضية اللازمة لحساب هذا التقدير؟ لحسن الحظ ، لا شيء. لقد فعلت كل شيء من أجلك. كتبت أداة النموذج الأولي لتحليل الاختناقات في التسلسل الهرمي الخاص بك والتعرف عليها تلقائياً استناداً إلى القواعد الذهبية أعلاه.
دعوت هذه
الأداة الرائعة التسلسل الهرمي المتقدمة . إطلاق اللعبة. الحصول على لحظة مثيرة للاهتمام. افتح الأداة واتركها تفعل الباقي.
ستوفر لك الأداة تصنيفًا صحيحًا. بمجرد معرفة النتيجة ، سوف تعرف ماذا تفعل ... أم لا؟
لأنني لا أقدم لك هذه الأداة فحسب ، بل أيضًا نصًا إضافيًا يسمح لك بتعزيز قدرتك على القضاء على مشاكل التسلسل الهرمي. أنا أعطيك قوة البرنامج النصي
DetachGameObject.cs بسيط.
من النادر العثور على برنامج نصي يتكون من 27 سطرًا ، مما يسمح بتحسين الأداء في مثل هذا الوقت القصير. عملها بسيط: أثناء تنفيذ البرنامج ، يقوم بنقل كائنات اللعبة الثقيلة والمضمنة إلى جذر التسلسل الهرمي للمشهد. لهذا السبب ، يمكنك الاستفادة من
التسلسل الهرمي المهيكل في وقت التصميم والحصول على
مكاسب هائلة في الأداء في وقت التشغيل .
هناك احتمال كبير أنه يمكنك القيام بذلك لجزء كبير من التسلسل الهرمي الخاص بك ، والتي للهيكلة لديها الكثير من التعشيش.
يمكنك تنزيل الأداة والبرنامج النصي في نهاية
المقالة الأصلية .