دليل MicroProfiler

*This content is translated using AI (Beta) and may contain errors. To view this page in English, click here.

يعرض هذا الدليل كيفية استخدام MicroProfiler للعثور على جانب مزعج من اللعبة وتحديد السبب الجذري. قم بتنزيل اللعبة، افتح من ملف في الاستوديو، واتبع معنا.


تحديد المشكلة

  1. بعد فتح اللعبة في الاستوديو، ابدأ اختبارها باستخدام F5 أو زر تشغيل.

  2. تشعر أن معدل الإطارات مقبول، لكنه ليس سلساً كما ينبغي أن يكون للعبة بهذا الحجم والنطاق. اضغط على CtrlShiftF5 (ShiftF5) لعرض تغطية ملخص الأداء.

    ملخص الأداء يظهر 45 إطارًا في الثانية.

    لاحظ أن معدل الإطارات أقل من 60 إطارًا في الثانية (FPS).

  3. افتح MicroProfiler بالضغط على CtrlAltF6 (F6).

    MicroProfiler بعد فتحه.

    لاحظ أن أوقات الإطارات متسقة - الأعمدة تقريبًا بنفس الارتفاع - لذا فإن ما يسبب انخفاض معدل الإطارات يعمل في كل إطار بدلاً من أن يعمل في بعض الأحيان ويسبب ارتفاعات في أوقات الإطارات.

  4. أوقف MicroProfiler بالضغط على CtrlP (P). يؤدي التوقف باستخدام اختصار لوحة المفاتيح إلى فتح وضع التفاصيل.

  5. انقر واسحب لتحريك الرسم البياني. لاحظ كيف يبدو أن مهمة معينة في خيوط العمل تستخدم الكثير من وقت المعالجة مقارنة بالخيط الرئيسي. مرر الفأرة فوق RunService.Stepped ولاحظ كم من الوقت يستغرق العرض.

    وضع التفاصيل مع تسميات طويلة للعمليات.
  6. تشير الأعمدة المكدسة في الخط الزمني إلى تسلسل هرمي من الشيفرة، لذا استمر في التمرير على طبقات أقل وأقل لمحاولة تحديد المشكلة.

    تفاصيل عند التمرير للعمليات المختلفة، مع تسليط الضوء على LocalScript. تفاصيل عند التمرير للعمليات المختلفة، مع تسليط الضوء على Raycast.

    لاحظ تسمية LocalScript، التي تشير إلى اسم الشيفرة، وتسمية Raycast، التي تشير إلى أن المشكلة قد تكون متعلقة بإلهام الأشعة.

إنشاء تسميات استكشاف الأخطاء

الآن بعد أن قدم MicroProfiler نقطة انطلاق، يمكنك استكشاف الشيفرة المزعجة.

  1. أوقف اختبار التشغيل وقم بفلترة نافذة Explorer للبحث عن localscript للعثور على الملف.

    عرض للتصفية في نافذة Explorer.

    يشير البحث عن raycast إلى أن هذا الجزء من الشيفرة ربما يكون السبب في أداء اللعبة الضعيف:


    local RAYS_PER_SECOND = 1500
    local function onStepped()
    for _ = 1, RAYS_PER_SECOND do
    local startPosition = getRandomPosition()
    local endPosition = getRandomPosition()
    local direction = endPosition - startPosition
    Workspace:Raycast(
    startPosition,
    endPosition
    )
    end
    end
    RunService.Stepped:Connect(onStepped)

    بشكل خاص، يمكنك أن ترى أن الشيفرة تخرج 1,500 شعاع في الثانية في اتجاهات عشوائية.

  2. للتحقق من أن هذا الجزء من الشيفرة هو الذي يتسبب في تأخير العرض، لفّ المحتويات داخل الدالة بواسطة debug.profilebegin() و debug.profileend():


    local function onStepped()
    debug.profilebegin("Raycast Spam")
    for _ = 1, RAYS_PER_SECOND do
    local startPosition = getRandomPosition()
    local endPosition = getRandomPosition()
    local direction = endPosition - startPosition
    Workspace:Raycast(
    startPosition,
    endPosition
    )
    end
    debug.profileend()
    end

تأكيد وإصلاح المشكلة

  1. ابدأ اختبار اللعبة، وافتح MicroProfiler مرة أخرى.

  2. لاحظ كيف يظهر MicroProfiler الآن التسمية المخصصة، مما يدل على أن هذه الوظيفة كانت بالفعل السبب الجذري.

    عرض مفصل لـ MicroProfiler مع 'Raycast Spam' مرئي.
  3. أوقف اختبار التشغيل.

  4. احذف أو علق وظيفة onStepped() واتصال RunService.Stepped:Connect(onStepped).

  5. ابدأ اختبار اللعبة مرة أخرى، وتحقق من ملخص الأداء مرة أخرى.

    ملخص الأداء يظهر 60 إطارًا في الثانية.

    لاحظ التحسن الكبير في معدل الإطارات والانخفاض المصاحب في أوقات الإطارات على رسم MicroProfiler.

©2026 شركة Roblox Corporation. تُعد منصّة Roblox، وشعار Roblox وشعار "توسيع حدود المخيلة"، من ضمن علاماتنا التجارية المسجّلة وغير المسجّلة في الولايات المتحدة وبلدان أخرى.