การใช้งาน MicroProfiler

*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่

การใช้งานนี้แสดงให้เห็นวิธีการใช้ MicroProfiler เพื่อค้นหาปัญหาบางประการในเกมและระบุสาเหตุที่แท้จริง ดาวน์โหลดเกม เลือก เปิดจากไฟล์ ใน Studio และทำตามขั้นตอนต่อไปนี้


ระบุปัญหา

  1. หลังจากคุณเปิดเกมใน Studio ให้เริ่มทดสอบโดยกด F5 หรือปุ่ม เล่น

  2. อัตราเฟรมรู้สึกดี แต่ไม่ราบรื่นเท่าที่ควรสำหรับเกมในขนาดและขอบเขตนี้ กด CtrlShiftF5 (ShiftF5) เพื่อแสดงแผ่นข้อมูล สรุปประสิทธิภาพ

    สรุปประสิทธิภาพแสดง 45 FPS.

    หมายเหตุว่าอัตราเฟรมต่ำกว่า 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 FPS.

    หมายเหตุการปรับปรุงที่ยิ่งใหญ่ในอัตราเฟรมและการลดลงที่สอดคล้องกันในเวลาเฟรมในกราฟ MicroProfiler

©2026 Roblox Corporation. Roblox, โลโก้ Roblox และ Powering Imagination เป็นส่วนหนึ่งของเครื่องหมายการค้าที่จดทะเบียน และไม่ได้จดทะเบียนของเราในสหรัฐฯ และประเทศอื่นๆ