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

تفعيل تحليل المشهد
- قم بتمكين تحليل المشهد في ملف > ميزات تجريبية.
- في شريط القوائم، حدد نافذة > ملخص الأداء > تحليل المشهد.
استخدام تحليل المشهد
تم تصميم تحليل المشهد للاستخدام خلال جلسة لعب أو اختبار. افتح نافذة تحليل المشهد وتصفح الأوضاع المتاحة. عندما يكون وضع نشطًا، ترى عرضًا من الصناديق - عرض خريطة مربع مخصر - يظهر الأحجام النسبية للموارد التي يتم عرضها والعناصر التي تساهم فيها.
- أسفل عرض خريطة المربع المخصر توجد قائمة بجميع العناصر في العرض الحالي.
- عادةً ما يتيح لك النقر بزر الفأرة الأيمن على عنصر محدد في تحليل المشهد الانتقال مباشرة إلى تلك العنصر في المستكشف.
- يمكنك استخدام شريط البحث لتصفية النتائج حسب الاسم في العرض الحالي.
الأوضاع
يمتلك تحليل المشهد العديد من الأوضاع المختلفة، كل منها يلبي حالة استخدام مختلفة.
ذاكرة النصوص
يعرض هذا العرض مقدار الذاكرة التي تستخدمها كل من Script، LocalScript، و ModuleScript في VM Luau. هذه هي الذاكرة المستخدمة من قبل الجداول وتخصيصات النصوص الأخرى، وليس الذاكرة المستخدمة من قبل الأصول مثل الرسوم المتحركة، القوام، والأصوات. يتم تقسيم العرض بشكل أكبر حسب المواقع الشائعة التي يتم تنفيذ النصوص منها ووفقًا لـ Script مقارنة بـ ModuleScript.
العناصر غير المتصلة
يعرض عرض العناصر غير المتصلة أي النصوص والوحدات التي تحتفظ بمراجع للعناصر، حسب العد لكل نوع.
تعد النصوص التي تحتفظ بمراجع للعناصر أمرًا طبيعيًا وليست بمفردها مؤشرًا على وجود عطل أو تسرب للذاكرة. ومع ذلك، إذا كنت تحقق في تسرب للذاكرة، فإن هذا العرض يسهل عليك معرفة ما إذا كانت النصوص تفعل شيئًا لم تكن تتوقعه.
إذا كنت لا تزال تواجه مشكلة في العثور على السبب الجذري لتسرب الذاكرة، فإن هذه الأداة تكمل أداة كومة Luau، التي يمكن أن تعرض لك مزيدًا من المعلومات حول التخصيصات الفردية.
انقر بزر الفأرة الأيمن على أي نص في هذا العرض لتحديده مباشرة في المستكشف.
تكوين العنصر
يعرض عرض تكوين العنصر أي العناصر الموجودة حاليًا على العميل أو الخادم. هذه المعلومات قيمة عند العمل على بنى كبيرة ومعقدة، حيث أن كل عنصر له تكاليف تناسخ وذاكرة.
تساعد الفئات مثل الشخصيات، والجيوميتري، والقوام، في فهم كيفية توازن مشهدك. على سبيل المثال، ربما لم تكن تقصد أن يكون لديك 25000 مبدد جزيئات، لكن هذا العرض lets you know.
يسهل هذا العرض أيضًا اختيار جميع العناصر من نوع معين.
ذاكرة الصوت
يعرض عرض ذاكرة الصوت مقدار الذاكرة الذي يستهلكه كل أصل صوتي حاليًا. الذاكرة الفعلية المستخدمة من قبل مسار صوتي معين معقدة إلى حد ما، ولكن من حيث الممارسة، يؤدي حذف جميع العناصر التي تشير إلى المسار الصوتي إلى إمكانية تحميل تلك الذاكرة.
انقر بزر الفأرة الأيمن على أي أصل صوتي في هذا العرض لتحديد جميع العناصر التي تستخدمه.
ذاكرة الرسوم المتحركة
تعتبر أصول الرسوم المتحركة واحدة من أكثر مصادر تسرب الذاكرة شيوعًا في الإنتاج. يكون Roblox متساهلًا في تحميل أصول الرسوم المتحركة غير المستخدمة، ولكن من الشائع أن تحتفظ النصوص بالرسوم المتحركة حية بعد أن تم تدمير نموذجها الأب.
كما هو الحال مع أصول الصوت، يؤدي حذف جميع العناصر التي تشير إلى أصل رسوم متحركة إلى إمكانية تحميله.
يسهل هذا العرض، جنبًا إلى جنب مع عرض العناصر غير المتصلة، تتبع دورة حياة الرسوم المتحركة وكمية الذاكرة التي تستخدمها فعليًا.
انقر بزر الفأرة الأيمن على أي رسوم متحركة في هذا العرض لتحديد جميع العناصر التي تستخدمها.
تكوين المثلث
يوفر عرض تكوين المثلث تفصيلًا أكثر دقة عن المثلثات واستدعاءات الرسم التي يتم عرضها حاليًا في نافذة العرض الرئيسية.
تشمل هذه التفصيلات حسابات للظلال، والعناصر غير الشفافة، والعناصر الشفافة، والتضاريس، والعشب، والجزيئات، والسماء، وواجهة المستخدم.
تساعدك هذه المعلومات التركيبية في فهم كيفية تكوين هندسة مشهدك وتحديد الحالات التي تحتوي فيها المشهد على هندسة غير متوقعة.
واجهة برمجة التطبيقات الخاصة بالمحرك
يمكنك أيضًا الوصول إلى بيانات تحليل المشهد برمجيًا من خلال SceneAnalysisService، التي تُعرض من خلال خادم MCP. تعيد كل طريقة جداول تحتوي على أطفال متداخلين بنفس البيانات التي يستخدمها العرض المرئي.
| طريقة | الوصف |
| GetInstanceCompositionAsync | يعيد أعداد العناصر حسب الفئة والفئة من شجرة DataModel. |
| GetScriptMemoryAsync | يعيد استخدام الذاكرة في كومة لواء لكل نص بالبايت. |
| GetUnparentedInstancesAsync | يعيد العناصر المدعومة بواسطة لواء ولكن لم تعد في DataModel، مجمعة حسب النص الرئيسي. |
| GetTriangleCompositionAsync | يعيد أعداد المثلثات واستدعاءات الرسم حسب تمرير العرض. |
| GetAnimationMemoryAsync | يعيد ذاكرة أصول الرسوم المتحركة المحملة، مضغوطة حسب المقطع. |
| GetAudioMemoryAsync | يعيد ذاكرة أصول الصوت المحملة، مضغوطة حسب معرف الأصل. |