ระบุปัญหาประสิทธิภาพ

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

การระบุปัญหาประสิทธิภาพโดยทั่วไปหมายถึงการขุดลงในหนึ่งในสามประเภท: อัตราเฟรม (คำนวณ) หน่วยความจำ หรือเวลาการโหลด

Roblox มีตัวชี้วัดประสิทธิภาพหลายรายการที่มีอยู่ใน Roblox เครื่องมือบางอย่างที่มีอยู่ใน Roblox ลูกค้า (และดังนั้น Studio) และบางอย่างที่มีอยู่ใน Studio เท่านั้น โดยที่คุณสามารถสังเกตพฤติกรรมของลู

เครื่องมือวิเคราะห์

เครื่องมือคำอธิบายสถานที่ลัดเลขะดานสภาพแวดล้อม
คอนโซลผู้พัฒนาคอนโซลที่มีข้อความในบันทึกแบบเรียลไทม์ ข้อผิดพลาด และข้อมูลรายละเอียดเกี่ยวกับหน่วยความจำ เน็ตเวิร์ค และประสิทธิภาพของมิโซร์เมอร์สตูดิโอF9การแสดงสดุดการทดสอบใน Studio
MicroProfilerเครื่องมือการดีบั๊กที่แสดงว่ามีเวลาในการประมวลผลเท่าไหร่สำหรับแต่ละเฟรม มันสามารถสร้างดัมมี่สำหรับการวิเคราะห์เพื่อแสดงการแบ่งย่อยของแต่ละเฟรมอย่างชัดเจน ซึ่งเป็ในประสบการณ์ Ctrl Alt F6 ( ⌘ 1> ⌥ 1> 3> F63> )การแสดงสดุดการทดสอบใน Studio
แถบสถิติประสิทธิภาพช่องเครื่องมือที่มีสถิติประสิทธิภาพพื้นฐานรวมถึงการใช้หน่วยความจำประมาณการใช้งานของหน่วยประมวลผลและการส่งและรับข้อมูลเครือข่ายและเวลาการส่งในประสบการณ์ Ctrl AltF7 ( 0>⌥0> 2> F72> )การแสดงสดุดการทดสอบใน Studio
สถิติการดีบั๊กเอเวอร์ลี่ที่มีรายละเอียดรอบ ๆ กราฟิก ฟิสิกส์ การจราจรเครือข่าย และ ยิงมุมมองบุคคลที่หนึ่งในประสบการณ์ Shift F1 , ShiftF2 , 1> Shift1> 3> F43> , 6> Shift6> 8> F58> , 1> Shift1> 3> F43> , 4> Shift4> 7> F57>การแสดงสดุดการทดสอบใน Studio
แผงผลประกอบการให้คะแนนรวมถึงความเร็วของเฟรม อัตราการเต้นของเซิร์ฟเวอร์ และอัตราการชนเข็มในเวลาจริง มันเป็นประโยชน์สำหรับการวิเคราะห์รูปแบแผงควบคุมของผู้สร้างไม่มีเซสชันแบบสด

คอมพิวเตอร์เซิร์ฟเวอร์

การเต้นของเซิร์ฟเวอร์จะถูกจำกัดไว้ที่ 60 FPS สำหรับทุกประสบการณ์ดังนั้นค่าต่ำอาจบ่งชี้ปัญหาประสิทธิภาพ

  • ด้วย คอนโซลผู้พัฒนา - ในแท็บ งานเซิร์ฟเวอร์ ขยาย Heartbeat แถวและตรวจสอบมูลค่า 1> Steps Per Second1> ซึ่งเป็นหัวใจเต้นของประสบการณ์ของคุณ

  • ด้วยเซิร์ฟเวอร์ MicroProfiler - ดูความยาวของแต่ละเฟรมเพื่อดูว่ามีบางอันยาวนานกว่า 16.67 มิลลิวินาที

อาการอื่น ๆ ของการเต้นของหัวใจเซิร์ฟเวอร์ที่เสื่อมสภาพคือความแลค (โดยทั่วไปเรียกว่า ping) ระยะเวลาที่ใช้ในการเสร็จสิ้นการทำงานของหัวใจแต่ละรอบ ย

คอมพิวเตอร์ลูกค้า

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

อัตราเฟรมต่างกันไปมากระหว่างอุปกรณ์ เช่นเดียวกับการ "กระทืบแรง" ปัญหาคำนวณ และประสบการณ์เฟรมเรตที่แทบไม่มี หากคุณทดสอบในอุปกรณ์ระดับล่าง ปัญหามักจะรุนแรงและจึงเป็นเรื่อง

เพื่อตรวจสอบอัตราเฟรมของประสบการณ์ของคุณ:

  • ในเครื่องคอมพิวเตอร์, กด ShiftF5 เพื่อแสดงสรุปสถิติการดีบั๊ก

  • ในแท็บ ดู ใน Studio เลือก สถิติ > สรุป เพื่อเปิดใช้งานสถิติการดีบั๊ก

  • ด้วย MicroProfiler คุณสามารถตรวจสอบกราฟิกเพื่อดูว่าเฟรมใช้เวลานานกว่า 16.67 มิลลิวินาที

หน่วยความจำ

มีหลายวิธีในการตรวจสอบการใช้หน่วยความจำสำหรับประสบการณ์:

  1. เปิด คอนโซลผู้พัฒนา และเปลี่ยนไปที่ หน่วยความจำ แท็บ แท็บนี้ให้ภาพรวมวิธีการที่หน่วยความจำจะได้รับการจัดสรร ใช้ลูกค้าแทน Studio เพื่อรับอ่านออกที่แม่นยำที่สุด
  2. เปิดใช้งาน รายงานประสิทธิภาพ จากเมนูการตั้งค่าในตัวอุปกรณ์เพื่อดูการใช้งานทั้งหมดของหน่วยความจำของตัวอุปกรณ์

การใช้หน่วยความจำสูงไม่ได้แสดงถึงปัญหาโดยตรง แต่บางสัญญาณที่คุณอาจต้องสอบถามเพิ่มเติมคือ:

  • เป็นสัญญาณเตือนภัยอันสำคัญของการชนเข็มของลูกค้าที่ปรากฏใน แผงควบคุมประสิทธิภาพ อัปเดตคาดว่าจะเกิดอุบัติเหตุการชนเ
  • เกิดอุบัติเหตุขึ้นในขณะที่ทดสอบบนอุปกรณ์ที่คุณต้องการให้ประสบการณ์ของคุณสนับสนุน
  • การใช้หน่วยความจำของคุณเกิน 3 GB

ส่วนที่สำคัญของการใช้หน่วยความจำของประสบการณ์ในเครื่องคอมพิวเตอร์มาจากสินทรัพย์ เช่น รูปภาพและเมช โหลดเข้าสู่หน่วยความจำเพื่อให้สามารถเรนเดอร์ได้ ใน เครื่องคอมพิวเตอร์

  • GraphicsMeshParts - หน่วยความจำกราฟิกที่ใช้
  • Texture เท็กซ์チャร์ดเตอร์ - หน่วยความจำที่ใช้สําหรับเท็กซ์ชาร์ด

เวลาโหลด

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


local startTime = os.clock()
game.Loaded:Connect(function()
local loadTime = os.clock() - startTime
local roundedLoadTime = math.round(loadTime * 10000) / 10000 -- สี่ตำแหน่งทศนะ
print("Game loaded in " .. roundedLoadTime .. " seconds.")
print("Number of instances loaded: " .. #game.Workspace:GetDescendants())
end)

สำหรับข้อมูลเพิ่มเติมให้เปิดใช้งาน การตั้งค่า Studio > เครือข่าย > พิมพ์การเข้าร่วมขนาด ซึ่งพิมพ์การแสดงผล 20 อันดับสูงสุดตามขนาดและรายละเอียดการแสดงผลตามประเภ