เครื่องมือการวิเคราะห์ฉากให้ชุดของมุมมองใน Roblox Studio ที่ให้ข้อมูลเปรียบเทียบโดยรวมเกี่ยวกับวิธีที่ฉากของลูกค้าและเซิร์ฟเวอร์ของคุณถูกจัดระเบียบ, ทรัพยากรที่พวกเขากำลังใช้, และอินสแตนซ์ใดที่รับผิดชอบต่อการใช้ทรัพยากรนั้น การวิเคราะห์ฉากได้รับการออกแบบมาเพื่อใช้ในระหว่างการเล่นและการทดสอบ และสามารถตรวจสอบโมเดลข้อมูลของลูกค้าและเซิร์ฟเวอร์ทั้งสอง

เปิดใช้งานการวิเคราะห์ฉาก
ในแถบเมนูให้เลือก หน้าต่าง > สรุปประสิทธิภาพ > การวิเคราะห์ฉาก
การใช้การวิเคราะห์ฉาก
การวิเคราะห์ฉากได้รับการออกแบบมาให้ใช้ในระหว่างการเล่นหรือตรวจสอบ เปิดหน้าต่างการวิเคราะห์ฉากและสำรวจโหมดที่มีให้ เมื่อตัวเลือกหนึ่งเปิดใช้งาน, คุณจะเห็นการแสดงผลของกล่อง—มุมมอง treemap ที่เป็นสี่เหลี่ยม—ที่แสดงขนาดสัมพัทธ์ของทรัพยากรที่กำลังมองหาและอินสแตนซ์ที่มีส่วนร่วมในนั้น
- ด้านล่างมุมมอง treemap ที่เป็นสี่เหลี่ยมคือรายการของรายการทั้งหมดในมุมมองปัจจุบัน
- คลิกขวาที่รายการที่เลือกในการวิเคราะห์ฉากมักจะให้คุณกระโดดไปยังรายการนั้นใน Explorer ได้โดยตรง
- คุณสามารถใช้แถบค้นหาเพื่อกรองตามชื่อในหน้าจอปัจจุบัน
โหมด
การวิเคราะห์ฉากมีหลายโหมดที่แตกต่างกัน โดยแต่ละโหมดจะตอบสนองต่อกรณีการใช้งานที่แตกต่างกัน
หน่วยความจำสคริปต์
มุมมองนี้แสดงให้เห็นว่าหน่วยความจำแต่ละ Script, LocalScript, และ ModuleScript ใช้ใน Luau VM เท่าไร นี่คือหน่วยความจำที่ใช้โดยตารางและการจัดสรรสคริปต์อื่นๆ ไม่ใช่หน่วยความจำที่ใช้โดยทรัพย์สิน เช่น การเคลื่อนไหว, เท็กซ์เจอร์, และเสียง มุมมองนี้จะแบ่งออกตามตำแหน่งทั่วไปที่สคริปต์ถูกเรียกใช้งานและ Script เทียบกับ ModuleScript
อินสแตนซ์ที่ไม่มีผู้ปกครอง
มุมมองอินสแตนซ์ที่ไม่มีผู้ปกครองจะแสดงให้เห็นว่าสคริปต์และโมดูลใดที่เก็บอ้างอิงถึงอินสแตนซ์, แยกเป็นจำนวนตามประเภท
สคริปต์ที่เก็บอ้างอิงถึงอินสแตนซ์นั้นเป็นเรื่องปกติและไม่ถือว่าเป็นสาเหตุของบั๊กหรือการรั่วไหลของหน่วยความจำเพียงอย่างเดียว อย่างไรก็ตาม, หากคุณกำลังตรวจสอบการรั่วไหลของหน่วยความจำ, มุมมองนี้ก็ทำให้คุณเห็นได้ง่ายว่าสคริปต์ทำสิ่งที่คุณไม่คาดคิดหรือไม่
หากคุณยังพบปัญหาในการค้นหาสาเหตุหลักของการรั่วไหลของหน่วยความจำ, เครื่องมือนี้เป็นเครื่องมือเสริมสำหรับการใช้ Luau heap ซึ่งสามารถแสดงข้อมูลเพิ่มเติมเกี่ยวกับการจัดสรรแต่ละรายการ
คลิกขวาที่สคริปต์ใดๆ ในมุมมองนี้เพื่อเลือกมันโดยตรงใน Explorer
การจัดองค์ประกอบของอินสแตนซ์
มุมมองการจัดองค์ประกอบของอินสแตนซ์จะแสดงว่ามีอินสแตนซ์ใดบ้างที่มีอยู่ในลูกค้าหรือเซิร์ฟเวอร์ ข้อมูลนี้มีค่ามากเมื่อทำงานในบิลด์ที่ใหญ่และซับซ้อน เนื่องจากแต่ละอินสแตนซ์มีทั้งต้นทุนการทำซ้ำและต้นทุนหน่วยความจำ
หมวดหมู่ เช่น ตัวละคร, รูปร่าง, และเท็กซ์เจอร์ ได้รับการออกแบบมาเพื่อช่วยให้คุณเข้าใจว่า ฉากของคุณมีความสมดุลเพียงใด ตัวอย่างเช่น, บางทีคุณไม่ได้ตั้งใจที่จะมี 25,000 พาร์ทิเคิลอีมิตเตอร์ แต่ข้อมูลนี้ทำให้คุณทราบ
มุมมองนี้ยังทำให้เลือกอินสแตนซ์ทั้งหมดของประเภทที่กำหนดได้ง่าย
หน่วยความจำเสียง
มุมมองหน่วยความจำเสียงแสดงให้เห็นว่าหน่วยความจำที่ทุกทรัพย์สินเสียงกำลังใช้ในปัจจุบันเท่าไร หน่วยความจำจริงที่ใช้โดยแทร็กเสียงแต่ละรายการนั้นค่อนข้างซับซ้อน แต่ในแง่ปฏิบัติ, การลบทุกอินสแตนซ์ที่อ้างถึงแทร็กเสียงอนุญาตให้หน่วยความจำที่ใช้สามารถถูกปลดล็อคได้
คลิกขวาที่ทรัพย์สินเสียงใดๆ ในมุมมองนี้เพื่อเลือกทุกอินสแตนซ์ที่กำลังใช้งานมัน
หน่วยความจำการเคลื่อนไหว
ทรัพย์สินการเคลื่อนไหวเป็นหนึ่งในแหล่งที่มาที่พบบ่อยที่สุดของการรั่วไหลของหน่วยความจำในผลิตภัณฑ์ Roblox จะทำการลบทรัพย์สินการเคลื่อนไหวที่ไม่ได้ใช้งานอย่างรวดเร็ว แต่เป็นเรื่องปกติที่สคริปต์จะเก็บการเคลื่อนไหวให้มีชีวิตอยู่หลังจากที่โมเดลของผู้ปกครองถูกทำลาย
เช่นเดียวกับทรัพย์สินเสียง, การลบทุกอินสแตนซ์ที่อ้างถึงทรัพย์สินการเคลื่อนไหวทำให้มันสามารถถูกปลดล็อค
มุมมองนี้, ร่วมกับมุมมองอินสแตนซ์ที่ไม่มีผู้ปกครอง, ทำให้ติดตามวงจรชีวิตของการเคลื่อนไหวและหน่วยความจำที่ใช้งานอยู่ได้ง่ายขึ้น
คลิกขวาที่การเคลื่อนไหวใดๆ ในมุมมองนี้เพื่อเลือกทุกอินสแตนซ์ที่กำลังใช้งานมัน
การจัดองค์ประกอบสามเหลี่ยม
มุมมองการจัดองค์ประกอบสามเหลี่ยมให้รายละเอียดที่พิเศษเกี่ยวกับสามเหลี่ยมและการเรียกใช้คำสั่งวาดที่กำลังเรนเดอร์ในมุมมองหลักอยู่ในขณะนี้
การแจกแจงเหล่านี้รวมถึงการนับของเงา, ทึบ, โปร่งใส, ภูมิประเทศ, หญ้า, พาร์ทิเคิล, ท้องฟ้า, และ UI
ข้อมูลทางการประกอบนี้ช่วยให้คุณเข้าใจกำลังการผลิตทางเรขาคณิตของฉากและระบุกรณีที่ฉากมีเรขาคณิตที่ไม่คาดคิด
API ของเครื่องยนต์
คุณยังสามารถเข้าถึงข้อมูลการวิเคราะห์ฉากทางโปรแกรมได้ผ่าน SceneAnalysisService ซึ่งถูกเปิดเผยผ่าน MCP server แต่ละวิธีการส่งค่ากลับเป็นตารางที่มีเด็กซ้อนกันซึ่งมีข้อมูลเดียวกันกับที่การแสดงผลภาพใช้
| วิธีการ | คำอธิบาย |
| GetInstanceCompositionAsync | ส่งค่ากลับเป็นจำนวนอินสแตนซ์ตามหมวดหมู่และคลาสจากต้นไม้ของ DataModel |
| GetScriptMemoryAsync | ส่งค่ากลับเป็นการใช้หน่วยความจำใน bytes ของ Luau VM ต่อสคริปต์ |
| GetUnparentedInstancesAsync | ส่งค่ากลับเป็นอินสแตนซ์ที่ถูกเก็บโดย Luau แต่ไม่อยู่ใน DataModel อีกต่อไป, จัดกลุ่มโดยสคริปต์โฮสต์ |
| GetTriangleCompositionAsync | ส่งค่ากลับเป็นจำนวนสามเหลี่ยมและการเรียกใช้คำสั่งวาดตามการเรนเดอร์พาส |
| GetAnimationMemoryAsync | ส่งค่ากลับเป็นหน่วยความจำคลิปการเคลื่อนไหวที่โหลดแล้ว, ที่มีการลบการซ้ำซ้อนตามคลิป |
| GetAudioMemoryAsync | ส่งค่ากลับเป็นหน่วยความจำทรัพย์สินเสียงที่โหลดแล้ว, ที่มีการลบการซ้ำซ้อนตาม ID ของทรัพย์สิน |