توفر أداة تحليل المشهد مجموعة من العرض في Roblox Studio التي تعطيك معلومات مقارنة سريعة حول كيفية تجميع مشاهد العميل والخادم الخاصة بك، وما هي الموارد التي تستخدمها، وأي الأمثلة مسؤولة عن استخدام تلك الموارد. تم تصميم تحليل المشهد للاستخدام أثناء جلسات اللعب والاختبار، ويمكنه فحص كل من نماذج بيانات العميل والخادم.

تمكين تحليل المشهد
في شريط القائمة، اختر نافذة > ملخص الأداء > تحليل المشهد.
استخدم تحليل المشهد
تم تصميم تحليل المشهد للاستخدام أثناء جلسة لعب أو اختبار. افتح نافذة تحليل المشهد واستعرض الأوضاع المتاحة. عندما يكون وضع نشطًا، سترى عرضًا للحقائب — عرض خريطة مربعة — يظهر الأحجام النسبية للموارد التي يتم عرضها والأمثلة التي تسهم فيها.
- أسفل عرض الخريطة المربعة يوجد قائمة بجميع العناصر في العرض الحالي.
- النقر بزر الماوس الأيمن على عنصر محدد في تحليل المشهد يتيح لك عادة الانتقال مباشرة إلى ذلك العنصر في المستعرض.
- يمكنك استخدام شريط البحث لتصفية حسب الاسم في العرض الحالي.
الأوضاع
يمتلك تحليل المشهد العديد من الأوضاع المختلفة، كل منها يلبي حالة استخدام مختلفة.
ذاكرة البرنامج النصي
يعرض هذا العرض مقدار الذاكرة التي يستخدمها كل من Script وLocalScript وModuleScript في آلة Luau الافتراضية. هذه هي الذاكرة المستخدمة من قبل الجداول وتخصيصات البرنامج النصي الأخرى، وليس الذاكرة المستخدمة من قبل الأصول مثل الرسوم المتحركة، والقوام، والأصوات. يُقسم العرض بشكل أكبر حسب المواقع الشائعة من حيث يتم تنفيذ البرامج النصية وبالفرق بين Script وModuleScript.
الأمثلة غير المتصلة
يعرض عرض الأمثلة غير المتصلة البرامج النصية والوحدات التي تحتفظ بإشارات للأمثلة، كعدد لكل نوع.
إن وجود برامج نصية تحتفظ بإشارات للأمثلة هو أمر طبيعي، وليس بمفرده دليل على وجود خطأ أو تسرب في الذاكرة. ومع ذلك، إذا كنت تحقق في تسرب في الذاكرة، فإن هذا العرض يجعل من السهل مشاهدة ما إذا كانت إحدى البرامج النصية تفعل شيئًا لم تتوقعه.
إذا كنت لا تزال تواجه مشكلة في العثور على السبب الجذري لتسرب الذاكرة، فإن هذه الأداة تكمل أداة كومة Luau التي يمكن أن تعرض لك المزيد من المعلومات حول التخصيصات الفردية.
انقر بزر الماوس الأيمن على أي برنامج نصي في هذا العرض لتحديده مباشرة في المستعرض.
تكوين الأمثلة
يعرض عرض تكوين الأمثلة أي الأمثلة موجودة حاليًا على العميل أو الخادم. هذا ضروري عند العمل على بناء كبير ومعقد، حيث كل مثال له تكاليف تكرار وذاكرة.
تم تصميم الفئات، مثل الشخصيات، والهندسة، والقوام، لمساعدتك على فهم كيفية توازن المشهد الخاص بك. على سبيل المثال، ربما لم تكن تنوي وجود 25,000 مصدر جزيئي، لكن هذا العرض يجعلك تعلم بذلك.
يتيح لك هذا العرض أيضًا سهولة تحديد جميع الأمثلة من نوع معين.
ذاكرة الصوت
يعرض عرض ذاكرة الصوت مقدار الذاكرة التي يستهلكها كل أصل صوت حاليًا. الذاكرة الفعلية المستخدمة من قبل مسار صوت معين معقدة للغاية، ولكن من الناحية العملية، فإن حذف جميع الأمثلة التي تشير إلى مسار صوت يسمح بتفريغ تلك الذاكرة.
انقر بزر الماوس الأيمن على أي أصل صوت في هذا العرض لتحديد جميع الأمثلة التي تستخدمه.
ذاكرة الرسوم المتحركة
تعتبر أصول الرسوم المتحركة واحدة من أكثر مصادر تسرب الذاكرة شيوعًا في الإنتاج. تكون Roblox عدوانية بشأن تفريغ أصول الرسوم المتحركة غير المستخدمة، ولكن من الشائع أن تبقي البرامج النصية الرسوم المتحركة حية بعد تدمير النموذج الأب لها.
كما هو الحال مع أصول الصوت، فإن حذف جميع الأمثلة التي تشير إلى أصل رسوم متحركة يسمح لها بالتفريغ.
يسهل هذا العرض، جنبًا إلى جنب مع عرض الأمثلة غير المتصلة، تتبع دورة حياة الرسوم المتحركة وكمية الذاكرة التي تستخدمها فعليًا.
انقر بزر الماوس الأيمن على أي رسوم متحركة في هذا العرض لتحديد جميع الأمثلة التي تستخدمها.
تكوين المثلثات
يعطيك عرض تكوين المثلثات تحليلًا أكثر تفصيلًا للمثلثات واستدعاءات الرسم التي يتم عرضها حاليًا في نافذة العرض الرئيسية.
تشمل هذه التحليلات حسابات للظلال، والمواد المعتمة، والشفافة، والتضاريس، والعشب، والجزيئات، والسماء، وواجهة المستخدم.
تساعدك هذه المعلومات التركيبية على فهم أفضل لكيفية تكوين هندسة المشهد الخاص بك وتحديد الحالات التي يحتوي فيها المشهد على هندسة غير متوقعة.
واجهة برمجة التطبيقات للـ Engine
يمكنك أيضًا الوصول إلى بيانات تحليل المشهد برمجيًا من خلال SceneAnalysisService، الذي يتم الكشف عنه من خلال خادم MCP. ترجع كل طريقة جداول تحتوي على أطفال متداخلين بنفس البيانات التي تستخدمها الشاشة المرئية.
| الطريقة | الوصف |
| GetInstanceCompositionAsync | ترجع عدد الأمثلة حسب الفئة والفئة من شجرة DataModel. |
| GetScriptMemoryAsync | ترجع استخدام ذاكرة كومة Luau لكل برنامج نصي (بالبايت). |
| GetUnparentedInstancesAsync | ترجع الأمثلة المحتفظ بها من قبل Luau ولكن لم تعد موجودة في DataModel، مجمعة حسب البرنامج النصي المضيف. |
| GetTriangleCompositionAsync | ترجع أعداد المثلثات واستدعاءات الرسم حسب عملية العرض. |
| GetAnimationMemoryAsync | ترجع ذاكرة لقطة الرسوم المتحركة المحملة، مكررة حسب اللقطة. |
| GetAudioMemoryAsync | ترجع ذاكرة الأصول الصوتية المحملة، مكررة حسب معرّف الأصل. |