ไมโครโปรไฟล์

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

MicroProfiler เป็นเครื่องมือการปรับปรุงที่มีอยู่ใน Roblox Studio และ Roblox ลูกค้าที่ให้ข้อมูลเวลารายละเอียดสำหรับงาน ตัวจัดการภารกิจ ที่มีชื่อว่า แท็ก

  • สำหรับรายการงานทั่วไป, ดูที่ อ้างอิง Tag .
  • สำหรับตัวอย่างขั้นตอนโดยขั้นตอนใช้ MicroProfiler เพื่อระบุปัญหาประสิทธิภาพ, ดู เดินผ่าน MicroProfiler

พื้นฐานของ MicroProfiler

เพื่อเปิด MicroProfiler ให้กด CtrlAltF6 ( 1> ⌥1> 3> F63> ) ใน Studio หรือในเครื่องคอมพิวเตอร์ คุณยังสามารถใช้เมนูการตั้งค่าในเครื่อง

เมื่อเปิดเมนูบาร์จะปรากฏขึ้นด้านบนของหน้าต่าง 3D เมื่อเปิดในโหมดปกติจะแสดงถาวรเวลาที่ใช้ในแต่ละเฟรมของตัวตรวจสอบภารกิจ

The Microprofiler frame graph, showing blue frames and detailed frame information.

แถบควรอยู่ที่ตรงกลางของกราฟิก แต่คุณอาจเห็นการเพิ่มขึ้นอย่างกะทันหัน (การเพิ่มขึ้นอย่างรวดเร็วในค่า) การเพิ่มขึ้นนี้แสดงถึงว่าใช้เวลานานเกินไปในก

The Microprofiler with several bars higher than others.

เพื่อหยุดการบันทึกของเฟรมให้กด CtrlP ( P ) หรือคลิก 2> หยุดในเมนูบาร์เมนู2> ในขณะที่หยุดการบันทึก เส้นสายเวลาจะปราก��

สำหรับภาพรวมทั้งหมดของมุมมองต่างๆ และวิธีการนำทางระบบ MicroProfiler ให้ดูที่ โหมด MicroProfiler

กระทู้

เช่นเดียวกับโปรแกรมอื่น ๆ โรบ็อกสามารถใช้หลายธรุมในการประมวลผลภารกิจหลายภารกิจในเวลาเดียวกัน ในโหมด MicroProfiler รูปแบบรายละเอียด คุณสามารถดูเครื่องหมายสำหรับแต่ละธรุมบนด้านซ้าย

The lefthand side of the Microprofiler detailed view, with rows for threads.

มีสามประเภทของกระทู้หลัก:

  • หลัก/เรนเดอร์ : อาจไม่ใช่เรื่องที่เข้าใจได้, วิเคราะห์การป้อนข้อมูล, Humanoids , อนิเมชั่น/ทวีนิ่ง, เป็นเจ้าของพลังงาน, เสียง, และสคริปที่รอ. อัปเด

  • ผู้ประกอบการ ("RBX ผู้ประกอบการ": ช่วยเหลือเส้นทางกับเน็ตเวิร์ก ฟิสิกส์ และการจัดการเส้นทาง เนื่องจากจำนวนคอร์ในโปรเซสเซอร์ในปัจจุบัน คุณอาจมีหลายเส้นทางผู้ประกอบการ)

  • เรนเดอร์ ("GPU") ติดตามโลกิจ "พร้อม ทำ นำเสนอ" โดยใช้หน่วยประมวลผลกราฟิก (GPU) ของอุปกรณ์

    • เตรียม: ข้อมูลจากกระทู้หลักจะใช้เพื่อปรับปรุงแบบจำลองการเรนเดอร์
    • ประมวลผล: ประมวลผลคำสั่งเรนเดอร์ รวมถึงการเรนเดอร์ 2D
    • ปัจจุบัน: เครื่องมือนี้สิ้นสุดลงด้วยการจัดการของผู้ใช้

การโปรไฟลิ่งที่กำหนดเอง

หากสคริปต์ของคุณทำงานงานที่ซับซ้อน, คุณสามารถระบุส่วนที่สำคัญของโค้ดเพื่อให้แน่ใจว่าพวกเขาไม่ใช้เวลานานเกินไป Wrap โค้ดใน debug.profilebegin() และ Library. debug profile end</

HardWorkScript

debug.profilebegin("Hard Work")
-- นี่คือที่ที่โค้ดที่จะถูกสรุปควรอยู่
debug.profileend()
A custom label on the detailed view of the MicroProfiler.

มีจำนวนหน่วยความจำที่จำกัดไว้ให้แก่เครื่องมือตรวจสอบได้ หากหน่วยความจำนี้หมด ชื่อของเครื่องมือตรวจสอบอาจไม่ปรากฏในเวลาที่เหมาะสม ใช้เครื่องมือตรวจสอบน้อยลงเพื่อหลี

ตัวอย่าง

ตัวอย่างโค้ดด้านล่างเชื่อมโยงตัวแสดงผลดัมมี่ไปยังเหตุการณ์ RunService.PreSimulation ซึ่งทุกเฟรมดำเนินการ สิ่งนี้ควรจะดำเนินการได้อย่างมีประสิทธิภาพมากที่สุดเท่าที่จะเป็นไปได้ดังนั้นจ


local RunService = game:GetService("RunService")
local function onPreSimulation()
debug.profilebegin("Hard Work")
-- ตัวอย่างการทำงานหนัก: แลกเปลี่ยนสองแปร 200,000 ครั้ง
local a, b = 0, 1
for _ = 1, 200000 do
a, b = b, a
end
debug.profileend()
end
RunService.PreSimulation:Connect(onPreSimulation)

เมื่อคุณวิ่งประสบการณ์และหยุด MicroProfiler ( CtrlP หรือ 0> P0> ป้ายชื่อแบบกําหนดเองจะปรากฏใต้ป้ายชื่อ 2> gameStepped 2> ป้าย

Many labels on the MicroProfiler, with a custom label taking up the majority of the processing time.

จากระยะเวลาของมันในแถบเวลา คุณสามารถบอกได้ว่าฟังก์ชันกำลังใช้เวลาในการประมวลผลมากเมื่อเทียบกับการดำเนินงานอื่น ๆ

การบันทึกข้อมูลเฟรม

หากคุณต้องการบันทึกชุดข้อมูลเฟรมสำหรับการตรวจทานในภายหลัง (หรือเพื่อแบ่งปันกับผู้อื่น) ให้ใช้เมนู ดู เมนู. เครื่องกำจัดขยะบันทึกข้อมูลเฟรมไว้ในไฟล์ที่มี

  • ใน Windows ตรวจสอบ %LOCALAPPDATA%\Roblox\logs
  • บน macOS ตรวจสอบ ~/Library/Logs/Roblox .

ไฟล์ HTML เหล่านี้ใช้เว็บ UI เดียวกันเหมือนกับ การเชื่อมต่อสดสำหรับอุปกรณ์มือถือ และ การเชื่อมต่อเซิร์ฟเวอร์

การวิเคราะห์สำหรับอุปกรณ์มือถือ

เพื่อเข้าถึง MicroProfiler จากเครื่องมือมือถือของคุณ อุปกรณ์มือถือของคุณต้องเชื่อมต่อกับเครือข่ายเดียวกับเครื่องมือของคุณ

เปิดใช้งาน MicroProfiler ในเมนู การตั้งค่า ของอุปกรณ์มือถือ หลังจากเปิดใช้งานแล้ว เมนูจะแสดงที่อยู่ IP และหมายเลขพอร์ต

A picture of the Settings menu on mobile, showing how to enable the MicroProfiler.

เช่นในภาพหน้าจอด้านบนที่อยู่เป็น 192.168.1.166 และพอร์ตเป็น 1338 จากคอมพิวเตอร์ในเครือข่ายเดียวกัน น

The MicroProfiler web view.

การโปรไฟลิ่งเซิร์ฟเวอร์

นอกเครื่องมือตรวจสอบเว็บไซต์แบบมาตรฐานอื่น ๆ คุณสามารถดึงข้อมูลกิจกรรมของเซิร์ฟเวอร์โดยใช้เครื่องมือตรวจสอบเว็บไซต์แบบมาตรฐาน

  1. ในประสบการณ์ที่คุณมีสิทธิ์เข้าถึงแก้ไข, เปิด Developer Console ด้วย CtrlAltF9

  2. ในเมนูดรอปดาวน์เลือก MicroProfiler 3. ในส่วน โปรไฟล์เซิร์ฟเวอร์ ระบุจำนวนเฟรมต่อวินาที (สูงสุด 60) และจำนวนวินาทีสำหรับโปรไฟล์ (สูงสุด 4)

  3. คลิก เริ่มบันทึก

    The Developer Console MicroProfiler screen.

    หลังจากไม่กี่วินาที, เครื่องมือคอนโซลผู้พัฒนาให้เส้นทางไปยังไฟล์ซึ่งเป็นเส้นทางเดียวกับการดูแล ขยะมาตรฐาน

ใช้ UI เว็บ

ท่ัวไป, เว็บ UI ของ MicroProfiler ทำงานเหมือนกับ โหมดรายละเอียด แต่มีคุณสมบัติเพิ่มเติมสองสามรายการ:

  • นอกจากการกรองโดยกลุ่ม คุณสามารถกรองโดยธรรมชาติ

  • ใช้ CtrlF / F เพื่อกระโดดไปยังเหตุการณ์ที่ใช้เวลานานที่สุดในการดาวน์โหลด ตัวอย่างเช่น 2> computeLightingPer

  • ใช้เมนู X-Ray เพื่อเปิด/ปิดการเก็บรหัสสีสำหรับการจัดการหน่วยความจำ

    The MicroProfiler web view with x-ray enabled.
    • เฟรมที่เบาในแถบเมนูหลักแสดงถึงการจัดสรรหน่วยความจำสูงขึ้น
    • ส่วนที่เบากว่าของแถบแสดงตัวอย่างและส่วนที่เบากว่าของแถบแสดงผลในเวลาเร็ว ๆ นี้แสดงถึงส่วนของเฟรมที่มีการจัดสรรหน่วยความจำสูง
    • ในโหมด X-ray กด C เพื่อแสดงขนาดรวมของการจัดสรรหน่วยความจำโดยไม่ใช่จำนวนการจัดสรร
  • ใช้เมนู ส่งออก เพื่อส่งสัญญาณไฟฉายของ CPU หรือหน่วยความจำ เป็นวิธีการเห็นภาพที่มีประสิทธิภาพซึ่งรวบรวมเรื่องทั้งหมดที่รวมอยู่ในการดาวน์โหลด เปลวไฟฉายเป็

    The MicroProfiler flame graph.
  • ลากและปล่อยไฟล์ขยะที่สองใน UI เว็บเพื่อสร้างกราฟิกเปลวไฟที่แตกต่างกันซึ่งสามารถช่วยให้คุณระบุปรับปรุงหรือการลดลงในประสิทธิภาพของประสบการณ์ของคุณในระยะเวลาที่ผ่านมา คลิก ผสาน

    The MicroProfiler diff flame graph builder showing the left and right sides.

    กราฟเปลวไฟที่แตกต่างกันแสดงถึงการดัมพ์ (ซ้ายหรือขวา) ที่กลืนกินพื้นที่เพิ่มเติมหรือหน่วยความจำมากขึ้นด้วยสีที่สดใสเพื่อแสดงความแตกต่างที่ใหญ่ขึ้น

    The MicroProfiler diff flame graph.