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

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

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

เวลาเฟรม

ในการใช้ไมโครโปรไฟล์เลอร์ คุณต้องเข้าใจความสัมพันธ์ระหว่าง เวลาเฟรม และ อัตราเฟรม

  • เวลาเฟรมคือระยะเวลาที่ใช้ในการเรนเดอร์เฟรมบนหน้าจอ โดยทั่วไปวัดเป็นมิลลิวินาที
  • อัตราเฟรมคือจำนวนเฟรมที่เรนเดอร์บนหน้าจอ โดยทั่วไปวัดเป็นเฟรมต่อวินาที (FPS)

เวลาเฟรมที่ต่ำกว่าหมายถึงอัตราเฟรมที่สูงขึ้น แบ่ง 1,000 มิลลิวินาที (1 วินาที) ด้วยเวลาเฟรมเพื่อให้ได้อัตราเฟรม

เวลาเฟรมเฉลี่ยเฟรมต่อวินาที
33.33 มิลลิวินาที30 FPS
16.67 มิลลิวินาที60 FPS
8.33 มิลลิวินาที120 FPS
4.17 มิลลิวินาที240 FPS

อย่างไรก็ตาม สำหรับการเล่นเกมที่ราบรื่น แค่มีอัตราเฟรมที่สูงไม่เพียงพอ คุณต้องมี เวลาเฟรมที่สม่ำเสมอ ตัวอย่างเช่น หาก 59 เฟรมมาถึงใน 10 มิลลิวินาทีและเฟรมหนึ่งใน 410 มิลลิวินาที ผู้เล่นจะรับรู้ถึงการสั่นสะเทือนที่ใหญ่และฉับพลัน แม้ว่าเกมจะทำงานที่ 60 FPS หากเฟรมทั้งหมดใช้เวลาประมาณเท่ากันในการเรนเดอร์ เกมของคุณจะรู้สึกลื่นไหลมากขึ้นเนื่องจากความสม่ำเสมอนั้น โดยเฉพาะที่อัตราเฟรมที่ต่ำกว่า

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

เปิดไมโครโปรไฟล์เลอร์

การเปิดไมโครโปรไฟล์เลอร์จะแตกต่างกันไปตามแพลตฟอร์ม:

  • ในลูกค้าโทรศัพท์มือถือ ให้เปิดเมนู การตั้งค่า และเปลี่ยนไมโครโปรไฟล์เลอร์เป็น เปิด จากนั้นจากเครื่องคอมพิวเตอร์สำหรับพัฒนา บนเครือข่ายเดียวกัน ใช้เว็บเบราว์เซอร์ของคุณเพื่อไปที่ที่อยู่ IP และพอร์ตที่ให้มา

    UI ของไมโครโปรไฟล์เลอร์บนมือถือ

    ภาพหน้าจอนี้แสดงที่อยู่ IP เป็น 172.18.56.105 และพอร์ต 1338 ดังนั้นคุณจึงต้องไปที่ 172.18.56.105:1338 ขึ้นอยู่กับการกำหนดค่าของเครือข่ายอุปกรณ์ของคุณ คุณอาจเห็นที่อยู่ IP หลายรายการ ถ้าหนึ่งไม่น่าพอใจ ลองใช้รายการถัดไป

  • ในลูกค้าคอมพิวเตอร์ กด CtrlF6 (F6)

  • ในสตูดิโอ กด CtrlF6 (F6)

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

พื้นฐานไมโครโปรไฟล์เลอร์

ไมโครโปรไฟล์เลอร์มีสองส่วนประกอบหลัก: กราฟแท่งเวลาเฟรม และ ไทม์ไลน์งานที่ละเอียด

  • กราฟเวลาเฟรมวิ่งไปตลอดด้านบนของอินเตอร์เฟสและแสดงระยะเวลาที่ใช้ในการเรนเดอร์แต่ละเฟรม แท่งที่สูงขึ้นหมายถึงเวลาเฟรมที่นานขึ้น
  • ไทม์ไลน์แสดงงานทั้งหมดที่ดำเนินการในระหว่างเฟรม แท่งที่กว้างขึ้นแสดงถึงงานที่ใช้เวลานานกว่าในการดำเนินการ

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

ตัวอย่างของจุดสูงเวลาเฟรม

กราฟเวลาเฟรม

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

กราฟเวลาเฟรมไมโครโปรไฟล์เลอร์ แสดงเฟรมสีน้ำเงินและข้อมูลเฟรมที่ละเอียด
  • แท่งสีส้มคือเฟรมที่ เวลาที่ใช้ในงาน เกิน เวลาที่ใช้ในการเรนเดอร์ ในเฟรมเหล่านี้ มีอย่างน้อยหนึ่งใน เธรดผู้ทำงาน ซึ่งทำอย่างเช่น การรันสคริปต์ การคำนวณฟิสิกส์ และการเล่นอนิเมชั่น ใช้เวลานานกว่าที่ เธรดหลักในการเรนเดอร์

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

  • แท่งสีน้ำเงินคือเฟรมที่ เวลาที่ใช้ในการเรนเดอร์ เกิน เวลาที่ใช้ในงาน ในเฟรมเหล่านี้ เธรดหลักในการเรนเดอร์ใช้เวลามากกว่ามากกว่านี้

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

  • แท่งสีแดงคือเฟรมที่เงื่อนไขสองประการเป็นจริง:

    • เวลาในการเรนเดอร์ เกิน เวลาในการทำงาน
    • เวลาในการรอ GPU มากกว่า 2.5 มิลลิวินาที

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

งานเล็ก ๆ ที่อยู่ที่ท้ายของเฟรมสามารถทำให้ เวลาที่ทำงาน และ เวลาที่เรนเดอร์ ผิดปกติ ซึ่งเป็นเหตุผลที่ดีในการมุ่งเน้นไปที่เวลาเฟรมมากกว่าเวลาเฟรมสี ไม่มี "สีดี" ที่จะมุ่งหวัง การมีสีส้ม สีน้ำเงิน และสีแดงผสมกันไม่เป็นปัญหาหากคุณถึงเป้าหมายเวลาเฟรมของคุณ หากคุณ ไม่ ถึงเป้าหมายเวลาเฟรมของคุณ สีเหล่านั้นสามารถบ่งบอกถึงที่ที่จะปรับปรุง

ไทม์ไลน์

  • คลิกซ้ายและลากเพื่อเลื่อนไทม์ไลน์ บนเครื่องที่มีซีพียูหลายคอร์ คุณอาจต้องเลื่อนขึ้นหรือลงเพียงพอเพื่อค้นหา เธรด ที่ทำงานเฉพาะ

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

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

    คุณอาจต้องปรับระดับการซูมของคุณ แต่การนำเมาส์ไปวางบนแท่งจะเน้นเฟรมบนไทม์ไลน์ เส้นสีเทาอ่อนแบ่งเฟรม

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

    โดยเฉพาะอย่างยิ่งคุณต้องการแก้ปัญหางานลูกที่ออกแบบไม่ดี มากกว่าที่จะมุ่งเน้นไปที่งานระดับสูง; งานระดับสูงไม่สามารถสั้นกว่าผลรวมของงานลูกได้

  • คลิกขวาที่ป้ายเพื่อซูมไทม์ไลน์ไปยังระยะเวลาของงานนั้น

  • หากข้อมูลเยอะเกินไป ใช้เมนู กลุ่ม หรือ เธรด เพื่อต้องการกรองไทม์ไลน์ ตัวอย่างคุณอาจต้องการเห็นเพียงงาน เรนเดอร์ ในเธรดหลัก

    มุมมองเมื่อมีการนำเมาส์ไปวางบนป้าย โดยมีกลุ่มที่เน้น
  • ใช้ CtrlF (F) เพื่อกระโดดไปยังการเกิดเหตุการณ์ของงานที่ใช้เวลามากที่สุดในข้อมูล รายการเช่น computeLightingPerform ทำงานในทุกเฟรมของลูกค้า หากคุณค้นหามันในข้อมูลที่มี 128 เฟรม คุณสามารถกระโดดไปยังเฟรมที่มันใช้เวลานานที่สุดในการทำงาน

เธรด

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

ด้านซ้ายของมุมมองละเอียดของไมโครโปรไฟล์เลอร์ แสดงแถวสำหรับเธรด

มีเธรดที่สำคัญอยู่สามประเภท:

  • หลัก ("RBX Main"): จัดการงานการเรนเดอร์ที่ขึ้นอยู่กับ CPU ประมวลผลข้อมูลที่ซ้อนกัน Humanoids, อนิเมชัน/การเคลื่อนไหว, การเป็นเจ้าของฟิสิกส์, เสียง, และการรอให้สคริปต์ทำงานต่อ นอกจากนี้ยังอัปเดตส่วนติดต่อของ Studio และประสานงานกับเธรดอื่น

  • ผู้ทำงาน ("RBX Worker"): ช่วยเธรดหลักในการทำงานด้านเครือข่าย ฟิสิกส์ และการค้นหาเส้นทาง เนื่องจากจำนวนคอร์ใน CPU สมัยใหม่ คุณมีเธรดผู้ทำงานมากมายซึ่งส่วนใหญ่จะอยู่ในสถานะนอนหลับในทุกเวลาที่กำหนด

  • เรนเดอร์ ("GPU"): ปฏิบัติตามหลักการ "เตรียม ทำงาน แสดงผล" สื่อสารกับหน่วยประมวลผลกราฟิก (GPU) ของอุปกรณ์

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

โปรไฟล์สคริปต์ที่กำหนดเอง

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


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)
ป้ายมากมายในไมโครโปรไฟล์เลอร์ โดยมีป้ายกำหนดเองใช้เวลาประมวลผลส่วนใหญ่

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

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

หากคุณต้องการบันทึกข้อมูลเฟรมเพื่อการตรวจสอบในภายหลัง (หรือเพื่อแบ่งปันกับคนอื่น) ให้ใช้ปุ่ม บันทึกลงไฟล์ ไมโครโปรไฟล์เลอร์จะบันทึกข้อมูลเฟรมลงในไฟล์ HTML สแตนด์อโลนที่ชื่อ microprofile-<date>-<time>.html

ปุ่มบันทึกลงไฟล์ใน UI เว็บ

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

  • ใน Windows ให้ตรวจสอบที่ %LOCALAPPDATA%\Roblox\logs

    หากคุณใช้แอปพลิเคชัน Universal Windows Platform (UWP) ให้ตรวจสอบที่ \Users\<username>\AppData\Local\Packages\ROBLOXCORPORATION.ROBLOX_<hash>\LocalState\logs\

  • ใน macOS ให้ตรวจสอบที่ ~/Library/Logs/Roblox

โปรไฟล์เซิร์ฟเวอร์

นอกจากนี้ยังสามารถจับข้อมูลสั้น ๆ ของกิจกรรมเซิร์ฟเวอร์ได้:

  1. ในลูกค้าคอมพิวเตอร์เข้าร่วมเกมที่คุณมีสิทธิในการแก้ไข

  2. เปิด Developer Console ด้วย CtrlF9 (F9).

  3. ในเมนูดรอปดาวน์ เลือก ไมโครโปรไฟล์เลอร์

  4. ในแท็บ เซิร์ฟเวอร์ ระบุจำนวนเฟรมที่จะจับ (สูงสุด 60) และจำนวนวินาทีที่จะหน่วงเวลาก่อนเริ่มการจับ (สูงสุด 4)

  5. คลิก เริ่มการบันทึกเซิร์ฟเวอร์

    หน้าจอของ Developer Console ไมโครโปรไฟล์เลอร์

    หลังจากไม่กี่วินาที Developer Console จะให้เส้นทางไปยังไฟล์ ซึ่งเป็นเส้นทางเดียวกับ การถ่ายภาพมาตรฐาน

ฟีเจอร์ที่ใช้ได้เฉพาะเว็บ

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

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

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

    กราฟเปลวไฟไมโครโปรไฟล์เลอร์ใน UI เว็บ

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

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

    ตัวสร้างกราฟเปลวไฟที่แตกต่างกันในไมโครโปรไฟล์เลอร์ แสดงด้านซ้ายและขวา

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

    กราฟเปลวไฟที่แตกต่างของไมโครโปรไฟล์เลอร์

ฟีเจอร์ที่ใช้ได้เฉพาะเดสก์ท็อป

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

กราฟแสดงเวลาที่งานใช้ต่อเฟรม

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

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