รายการต่อไปนี้เป็นรายการแท็กทั่วไปใน MicroProfiler จัดเรียงตามประเภทการเข้าใจป้ายเหล่านี้สามารถช่วยให้คุณระบุโค้ดที่มีปัญหาในประสบการณ์ของคุณได้ตารางมีฉลากป้ายชื่อ คําอธิบาย และคําแนะนําเกี่ยวกับประสิทธิภาพเพื่อปรับปรุงประสิทธิภาพและเพิ่มประสบการณ์ของคุณ
นอน
เมื่อกระทู้ไม่ได้ดำเนินการทํางานอย่างใกล้ชิด พวกเขาจะเข้าสู่สถานะการนอนหลับด้วยแท็กที่ระบุระยะเวลาที่กระทู้นอนหลับในเวลาใดก็ตาม มันเป็นเรื่องธรรมดามากสำหรับเธรดผู้ทำงานส่วนใหญ่ที่จะอยู่ในสภาวะหลับ
AI/การนำทาง
ฉลาก | คําอธิบาย | คำแนะนำด้านประสิทธิภาพ |
---|---|---|
แรสเตอร์ไทล์ rasterize | กระเบื้องการนําทางการอัปเดตที่จําเป็นสําหรับคําขอค้นหาเส้นทางมักจะตามด้วย computePath ซึ่งต้องการให้กระเบื้องเหล่านั้นมีข้อมูลล่าสุดทำตามงานการนําทาง/การประมวลผลล่วงหน้าบนเธรดหลัก | ลดจํานวนการปฏิเสธการค้นหาเส้นทางที่ไม่ถูกต้องเนื่องจากสาเหตุนี้ทําให้เส้นทางเหล่านั้นต้องคํานวณใหม่ สาเหตุนี้เกิดจากการเคลื่อนที่ของชิ้นส่วนที่ไม่สามารถนําทางได้ |
คำนวณเส้นทาง | คำนวณเส้นทางโดยปกติหลังจาก rasterizeTile | ลดจํานวนและขอบเขตโลกของการโทร ComputePath ครั้งลองใช้เส้นทางเดิมสำหรับหลายตัวแทนถ้าพวกเขาคาดว่าจะเริ่ม/สิ้นสุดจากสถานที่ที่คล้ายกันประมาณ |
ก่อนประมวลผล/รับพริมิทีฟทับซ้อน | รวบรวมภูมิภาคของโลกสำหรับแต่ละแผ่นค้นหาเส้นทางและกำหนดการรันราสเตอร์ไรซ์ที่จะดำเนินการโดยกระทู้ค้นหาเส้นทาง | ลดจำนวนชิ้นส่วน |
แอนิเมชัน
ฉลาก | คําอธิบาย | คำแนะนำด้านประสิทธิภาพ |
---|---|---|
จำลอง/เกมStepped | การประมวลผลของวัตถุเฉพาะเกมเช่น Humanoids , Animations และการโทรกลับหัวใจเต้น | |
จำลอง/เกมStepped/StepLegacy | Humanoid การเปลี่ยนแปลงสถานะและ movement.Called สเตปฮิวแมนอยด์บนเซิร์ฟเวอร์ตอนนี้ (รุ่นพาราเลล) | ปิดใช้งานหรือลดสถานะ Humanoid บน NPC ถ้าคุณมีพวกเขาสถานะบันไดเป็นสิ่งสำคัญที่สุดที่ต้องปิดใช้งานลดการเรียกคืนไปยังการเปลี่ยนแปลงสถานะเช่น Humanoid.Died หรือ Humanoid.Running |
จำลอง/เกมStepped/ขั้นตอนแอนิเมชั่น | Animators จะก้าวไปข้างหน้าในขณะที่เล่นแอนิเมชั่นอยู่ | ลดจํานวน Animators หรือข้อต่อแอนิเมชั่นเพื่อลดภาระงานของขั้นตอนนี้ลดจํานวนการเรียกกลับไปยังอีเวนต์แอนิเมชันเช่น AnimationTrack.KeyframeReached หรือ AnimationTrack.Ended |
จำลอง/เกมStepped/RunService.Stepped | ทำงานฟังก์ชันที่เชื่อมโยงกับเหตุการณ์ RunService.Stepped | ลดปริมาณหรือภาระงานของฟังก์ชันที่เชื่อมโยงกับเหตุการณ์นี้พิจารณาการชะลอหรือแทนที่การคำนวณราคาแพงพิจารณาการแพร่กระจายการคำนวณไปทั่วหลายกรอบ |
เสียง
ฉลาก | คําอธิบาย | คำแนะนำด้านประสิทธิภาพ |
---|---|---|
เสียง | ประมวลผลเสียง: สถานที่ เอฟเฟกต์ ระดับเสียง ฯลฯ | |
แท็กนักพัฒนา_เสียง | เสียงในหน่วยความจํา: เสียงสั้นๆ โดยทั่วไปที่มีขนาดเล็กพอที่จะไปในหน่วยความจํา โดยปกติจะเป็นเสียง fx ช็อตเดียวสั้นๆ ไม่ใช่เพลงรูปแบบยาว | ใช้เสียงสั้นน้อยลง |
แท็กนักพัฒนา_เสียงการสตรีม | สตรีม/เสียงสตรีม: เสียงที่ใหญ่กว่าที่ได้รับการสตรีมจากดิสก์ ไฟล์เพลงรูปแบบยาวมากขึ้นทั่วไป | ใช้เสียงยาวน้อยลง |
เครือข่าย
ฉลาก | คําอธิบาย | คำแนะนำด้านประสิทธิภาพ |
---|---|---|
รับแพคเกจเน็ต | รับแพคเก็ตเครือข่าย หากมีวัตถุหรือเหตุการณ์จํานวนมากถูกสําเนา ขั้นตอนนี้ใช้เวลานานขึ้น | ทำซ้ำวัตถุหรือเหตุการณ์น้อยลง |
ตัวทำซ้ำ/แพคเกจกระบวนการ | ประมวลผลเนื้อหาของแพคเกจเครือข่าย เช่น การเคลื่อนไหว การเรียกใช้อีเวนต์ และการเปลี่ยนแปลงคุณสมบัติ | ลดจํานวนหรือขนาดของวัตถุที่ถูกสําเนา หรือทําเช่นนี้ในขั้นตอนเพิ่มเติมอาจเพิ่มขึ้นหากขนาดแผนที่เพิ่มขึ้นเนื่องจากแผนที่ขนาดใหญ่มักจะมีกิจกรรมโดยรวมมากขึ้น |
จัดสรรความถี่และส่งผู้ส่ง/ส่งฟิสิกส์และผู้ส่งสัมผัส | ส่งข้อมูลเกี่ยวกับกิจกรรมในประสบการณ์ | ลดปริมาณวัตถุเคลื่อนที่และ/หรือสัมผัส ดูส่วนต่อไป |
กำหนดความถี่และส่งสตรีมเจ้าภาพ/ส่งสตรีมงาน | ส่งภูมิภาคที่เหมาะสมไปยังลูกค้าที่เฉพาะเจาะจงในคุณลักษณะ "การสตรีม" | ลดรัศมีการสตรีมขั้นต่ำและเป้าหมาย |
กำหนดความถี่และส่งผู้ส่งข้อมูล/ส่งข้อมูลจัดส่ง | ส่งการเปลี่ยนแปลงคุณสมบัติ การเหตุการณ์ระยะไกล การเปลี่ยนแปลงสถานะมนุษย์ การเริ่ม/หยุดการเคลื่อนไหวแอนิเมชัน | ลดจํานวนการเปลี่ยนแปลงที่ซ้ํากันในโมเดลข้อมูล |
ส่งกลุ่มตัวเลียน Replicator | ส่งข้อมูลพื้นที่ไปยังลูกค้า | ลดปริมาณหรือขนาดการเปลี่ยนแปลงพื้นที่ |
งาน Mega สมบูรณ์แบบตามรูปแบบ | เฉพาะเซิร์ฟเวอร์เท่านั้น: ความสมบูรณ์เป็นแนวคิดภายใน เมื่อรูปแบบถูกส่งอย่างสมบูรณ์แล้ว จะส่งเหตุการณ์ความสมบูรณ์ของรูปแบบ | เพิ่มหรือลบตัวอย่างน้อยลง |
แพคเกจ deserialize | การประมวลผลแพคเกจเครือข่ายระดับต่ำ เตรียมพร้อมสำหรับแพคเกจกระบวนการ Replicator | ส่งการอัปเดตน้อยลง |
การเรนเดอร์
ฉลาก | คําอธิบาย | บันทึกประสิทธิภาพ |
---|---|---|
เตรียม | ข้อมูลจะถูกรวบรวมจากกระทู้หลักและอัปเดตโครงสร้างข้อมูลต่างๆ ที่ใช้สำหรับการเรนเดอร์สิ่งนี้บล็อกกระทู้การจำลองดังนั้นจึงควรเล็กที่สุดเท่าที่เป็นไปได้ | ดูฉลากเตรียมด้านล่าง |
เตรียม/Pass3dAdorn | เรนเดอร์ตกแต่งวัตถุต่างๆ เช่น ป้ายข้อความบนวัตถุ ขั้นตอนนี้อาจรวมถึงการคาดการณ์เรย์เพื่อตรวจสอบว่าวัตถุดังกล่าวมองเห็นได้หรือไม่ | ลดจํานวนวัตถุที่มองเห็นได้ เช่น BillboardGuis , Humanoid ชื่อ/ฉลากสุขภาพ ฯลฯ |
เตรียม/ผ่าน 2d | พร้อมการแสดงผล UI 2D (ทั้งผู้เล่นและ UI Roblox) | ลดปริมาณหรือความซับซ้อนขององค์ประกอบ UI |
เตรียม/อัปเดตเตรียม/อัปเดตชิ้นส่วนที่ไม่ถูกต้อง | อัปเดตส่วนที่มีคุณสมบัติเปลี่ยนแปลงหรือเพิ่มขึ้น | ลดจำนวนการเปลี่ยนแปลงของคุณสมบัติบนโลก หากสคริปต์อัปเดตชุดคุณสมบัติวัตถุขนาดใหญ่ แบ่งออกเป็นช่วงเวลาต่างๆ |
เตรียม/อัปเดตเตรียม/อัปเดตคลัสเตอร์ที่ไม่ถูกต้อง | เตรียมทรงเรขาคณิต โดยปกติคือ "กลุ่มเร็ว" ใช้เพื่อเรนเดอร์ Humanoids สับเลขบอกจำนวนชิ้นส่วน เหลี่ยม และขนาดของเหลี่ยม | ลดการใช้ 'Humanoids' ภายใต้วัตถุที่ไม่ใช่ Humanoidsไม่ควรใช้เพื่อลดการเรียกดึงเนื่องจาก FastClusters ใช้หน่วยความจํามากขึ้น |
เตรียม/อัปเดตเตรียม/อัปเดตชิ้นส่วนไดนามิก | อัปเดตตำแหน่งสำหรับ Humanoids , ยานพาหนะ และกรณีเคลื่อนที่อื่นๆ สำหรับการเรนเดอร์ | ลดจํานวนหรือความซับซ้อนของการเคลื่อนย้าย Humanoids หรือยานพาหนะที่มองเห็นการรวมส่วนของวัสดุและสีเดียวกันเป็นสหภาพหรือ MeshPart สามารถช่วยได้ |
เตรียม/ปรับปรุงเตรียม/ปรับปรุงกลุ่มที่จำลอง | เตรียมรูปทรงคงที่ที่ใช้การแสดงผลแบบจำลอง (ชิ้นส่วนและชิ้นส่วนเมช) ฉลาก "กลุ่ม" และ "ตัวอย่าง" บ่งบอกถึงจํานวนที่อัปเดต | ใช้เมชและการเปลี่ยนแปลงวัสดุน้อยลงโดยรวม คุณยังสามารถสร้างกลุ่มโดยใช้วัตถุที่มีลักษณะคล้ายกัน - ขนาด สี วัสดุ |
ทำ | เมื่อคำสั่งแรนดิ้งจริงถูกสร้างและออกให้ | ดูป้ายชื่อการดำเนินการด้านล่าง |
ดำเนินการ/เติม GuiVertices | การแสดงผล UI เติมบัฟด้วยจุดเวกเตอร์ของ UI สําหรับการตกแต่ง "จํานวน GUI" แสดงปริมาณขององค์ประกอบในรายการเรนเดอร์ | หากต้นทุนสูง ลดปริมาณ UI ที่ได้รับการอัปเดตโดยปิดใช้งานเมื่อไม่ได้ใช้งานโดยการให้แน่ใจว่าซ่อนอย่างถูกต้อง |
ดำเนินการ/ฉาก/คำถามFrustumOrdered | ใช้การเก็บรวบรวม frustum เพื่อให้วัตถุที่ไม่สามารถมองเห็นได้ไม่ถูกแสดงออก | หากมีค่าใช้จ่ายสูงซึ่งหมายความว่ามีองค์ประกอบจํานวนมากบางทีใช้เมชที่ใหญ่กว่าที่เมชชิ้นเดียวมีรายละเอียดมากกว่าหลายชิ้นเล็กๆ |
ดำเนินการ/ฉาก/คํานวณแสงดําเนินการ | การคำนวณแสงใกล้กับกล้อง | ควบคุมจํานวนแหล่งกําเนิดแสงหรือย้ายกล้องน้อยลงเพื่อลดเวลาที่ใช้ในการคํานวณแสงใหม่ |
ดำเนินการ/ฉาก/คํานวณแสงดําเนินการ/กริดแสง CPU | อัปเดตการจัดแสง voxel ซึ่งใช้ในโหมด Voxel และ ShadowMap และที่ระดับคุณภาพต่ำกว่า 4 ในโหมด Future | หากการอัปเดตอัตราการใช้ชิ้นส่วนใช้เวลานานเกินไป พิจารณาใช้รูปทรงความละเอียดต่ำลง ลดจํานวนชิ้นส่วน หรือยึดชิ้นส่วนหากตัวบ่งบอกรองลำดับอื่นใช้เวลานานเกินไป พิจารณาลดจํานวนไฟและใช้เทคนิคการโค้งรูปร่างที่ไม่ใช้เงาสําหรับวัตถุที่เคลื่อนที่และไม่ถูกยกเลิกการใช้งาน |
ดำเนินการ/ฉาก/คํานวณแสงดําเนินการ/แผนที่เงา | อัปเดตแผนที่เงา ไม่ได้ดำเนินการในระดับคุณภาพต่ำกว่า 4 หรือเมื่อ Lighting.Technology ถูกตั้งค่าเป็น Voxel | หากการจัดแสงถูกตั้งค่าเป็น Future ลดลงเป็น ShadowMap หรือลดจำนวนไฟคุณยังสามารถใช้ Light.Shadows และ BasePart.CastShadows เพื่อปิดการโครงการเงาในเหตุการณ์ที่น้อยกว่าสำคัญดู ปรับปรุงประสิทธิภาพ |
ดำเนินการ/ฉาก/แสง, การแก้ไขสี, MSAA, SSAO, และ SSAOApply | การแสดงผลหลังการประมวลผล | ลดจํานวนเอฟเฟกต์การประมวลผลภายหลัง โดยปกติจะไม่สําคัญ |
ดำเนินการ/ฉาก/UI | การแสดงผล UI ใน Id_Screen มีป้ายชื่อที่มีจํานวนล็อต วัสดุ และสามเหลี่ยมที่ใช้ | ลดจํานวนองค์ประกอบ UI ที่มองเห็นได้ การใช้ CanvasGroups อาจช่วยในขณะที่มีการเพิ่มการใช้หน่วยความจํา |
ดำเนินการ/ฉาก/อัปเดตมุมมอง/อัปเดตอนุภาค, อัปเดตขอบเขตอนุภาค | อัปเดตตำแหน่งและขอบเขตของอนุภาค | ลดจํานวน ParticleEmitters , อัตราการปล่อย, อายุการใช้งาน, ฯลฯ จํากัดการเคลื่อนไหวของผู้ปล่อย |
Id_Opaque | ชิ้นส่วนในฉากที่มีค่าความโปร่งใสเป็น 0 | |
รหัสโปร่งใส | ชิ้นส่วนในฉากที่มีค่าความโปร่งใสไม่เกิน 0 | ลดการใช้ความโปร่งใสบางส่วน (มูลค่าอื่นจาก 0 และ 1) |
Id_Decal | ภาพวาดในฉาก | |
ดำเนินการ/นำเสนอ | รอให้ GPU เสร็จสิ้นการเรนเดอร์ฟ레มภาพก่อนหน้า; จริงๆ ออกคำสั่งเรนเดอร์ให้ GPU; จัดการกับทรัพยากรกราฟิกระดับต่ำ | ลดความซับซ้อนของฉากโดยทั่วไป หากขั้นตอนนี้ใช้เวลานาน คุณอาจถูกจำกัดโดย GPU |
ดำเนินการ/นำเสนอ/รอจนกว่าจะสำเร็จ | รอให้ GPU เสร็จสิ้นการเรนเดอร์ฟรอมภาพก่อนหน้า | หากเกิดขึ้นบ่อยในทั่วไปแล้วปริมาณสิ่งที่เรนเดอร์ได้รับมากเกินไปFRM ช่วยในการปรับสมดุลนี้ แต่ถ้ายังคงสูง ให้ลองใช้รายละเอียดน้อยลง |
สคริปต์
ฉลาก | คําอธิบาย | คำแนะนำด้านประสิทธิภาพ |
---|---|---|
เรนเดอร์/ก่อนเรนเดอร์/ไฟร์บินด์ไปยังการเรนเดอร์สเต็ปแคลโลเบอร์ | การรันฟังก์ชันที่ผูกกับการเรนเดอร์ขั้นตอนผ่าน RunService:BindToRenderStep() | ตรวจสอบให้แน่ใจว่าฟังก์ชันในสคริปต์ที่ใช้ RunService:BindToRenderStep() ทำงานให้น้อยที่สุดเท่าที่เป็นไปได้ |
เรนเดอร์/ก่อนเรนเดอร์/RunService.RenderStepped | ทำงานฟังก์ชันที่เชื่อมโยงกับเหตุการณ์ RunService.RenderStepped | คล้ายกับ BindToRenderStep ตรวจสอบให้ฟังก์ชันที่ใช้อีเวนต์นี้ทํางานให้น้อยที่สุดเท่าที่เป็นไปได้ |
รองานสคริปต์ไฮบริด | ดำเนินการต่อสคริปต์ที่รอโดยใช้เฟรมรอคอย | ขั้นตอนนี้มีงบประมาณเวลาในการดำเนินการสำหรับการรันสคริปต์รอ ดังนั้นหากคุณมีสคริปต์รอมากเกินไปหรือสคริปต์ที่มีเวลารอนานก่อนที่จะยอมแพ้ ขั้นตอนนี้สามารถใช้เวลาหลายครั้ง |
ลูกาGC | วงจรการเก็บขยะ Luau ป้ายชื่อให้การประมาณความจำเกี่ยวกับการจัดสรรทั้งหมดและจำนวนที่ถูกยึดคืน | โต๊ะ lua สระน้ำและวัตถุรวบรวมอื่นๆ หรือลองลดการสร้างโต๊ะหรือสตริงชั่วคราว |
การเต้นของหัวใจ/RunService.Heartbeat | ทำงานฟังก์ชันที่เชื่อมโยงกับ Class.RunService.Heartbeat``event.Talk เพื่อการจำลองและติดต่อสคริปท์ปัจจุบันครอบคลุมพอที่จะไม่ผิด | ลดปริมาณหรือภาระงานของฟังก์ชันที่เชื่อมต่อกับ RunService.Heartbeat |
การจำลอง
ฉลาก | คําอธิบาย | คำแนะนำด้านประสิทธิภาพ |
---|---|---|
การเป็นเจ้าของฟิสิกส์แบบกระจาย | กำหนดว่าเซิร์ฟเวอร์หรือไคลเอนต์มีอำนาจเหนือตัวอย่างบางอย่างเช่นชิ้นส่วนหรือไม่ | การเป็นเจ้าของฟิสิกส์แบบกระจาย |
จำลอง/ประกอบ | อัปเดตต้นไม้ของวัตถุที่เชื่อมต่อกัน (ชิ้นส่วน) ที่ใช้โดยเครื่องกลศาสตร์ | ลดจำนวนข้อต่อที่ถูกสร้างหรือทำลาย |
จำลอง/ฟิสิกส์SteppedTotal/physicsStepped | ทำการจำลองทางกายภาพ | ลดปริมาณและความซับซ้อนของร่างกายที่จำลองทางกายภาพ |
จำลอง/ฟิสิกส์SteppedTotal/ฟิสิกส์Stepped/กรองพื้นที่/กรองขั้นตอน | อัปเดตเกาะจำลอง จัดเรียงชิ้นส่วนตามเจ้าของเครือข่าย การจำลองท้องถิ่นเกาะเป็นกลุ่มชิ้นส่วนที่ไม่สามารถโต้ตอบได้ซึ่งสามารถจำลองได้อย่างอิสระ | หลีกเลี่ยงการตั้งค่าเจ้าของเครือข่ายบ่อยเกินไป ให้กลุ่มชิ้นส่วนห่างจากกันพอที่จะสามารถจำลองได้อย่างอิสระ |
จำลอง/ฟิสิกส์SteppedTotal/ฟิสิกส์Stepped/โลกStep/stepContacts | อัปเดตติดต่อระหว่างวัตถุ | ลดปริมาณการชนกันของร่างกายในครั้งเดียว หรือใช้กล่องชนแบบเรียบง่าย ลูกบาศก์ดีกว่าเมชที่ซับซ้อน |
จำลอง/ฟิสิกส์SteppedTotal/ฟิสิกส์Stepped/โลกขั้นตอน/ขั้นตอนโลก หรือ stepWorldThrottled | แก้สมการฟิสิกส์ที่เกี่ยวข้องกับตัวเชื่อมต่อ ความลอยตัว และ Humanoids .เมื่อเครื่องเต็มและไม่สามารถจำลองทุกอย่างในเวลาจริงได้ ขั้นตอนบางอย่างอาจถูกลดลง (stepWorldThrottled) และ "การประกอบแบบเรียลไทม์" เช่น Humanoids จะถูกจำลองเท่านั้น | ขึ้นอยู่กับที่เวลาจะไปตามสามขั้นตอนต่อไปนี้: stepContacts: การทดสอบภาพวิเคราะห์การชนกันของขั้นตอนที่แคบขั้นตอนการแก้ปัญหา: บูรณาการเวลาและแก้ไขการชนกันและข้อจํากัดอื่น ๆ อัปเดตBroadphase: อัปเดตตำแหน่งของชิ้นส่วนในระบบตรวจจับการชนกันและค้นหาชุดคู่แคบที่อาจชนกันได้ |
แจ้งการย้ายชิ้นส่วน | ช่วยติดตามระยะเวลาที่พริมิติถูกนอนหลับมานานแค่ไหน | |
จำลอง/ฟิสิกส์SteppedTotal/ฟิสิกส์Stepped/interpolateNetworkedAssemblies | แยกชิ้นส่วนที่ไม่ได้ควบคุมโดยคู่เครือข่ายนี้ | ตั้งเจ้าของเครือข่ายของชิ้นส่วนให้เป็นคู่นี้เพื่อลดสิ่งนี้ แม้ว่าสิ่งนี้มักจะทำให้งานฟิสิกส์เพิ่มเติมเสร็จสมบูรณ์ในที่อื่น |
จำลอง/จัดการชิ้นส่วนที่ล้ม | ลบส่วนที่ตกต่ำกว่าพื้นที่ทำงาน/FallenPartsDestroyHeight | ลดความสูงในการทําลายหรือลดปริมาณชิ้นส่วนที่ตกไปที่ความสูงในการทําลาย |
การเต้นของหัวใจ/heartbeatInternal/workspaceOnHeartbeat/updateVisuallySleeping | ส่วนที่สองของ NotifyMovingAssemblies | |
การเต้นของหัวใจ/RunService.Heartbeat | ทำงานฟังก์ชันที่เชื่อมโยงกับ Class.RunService.Heartbeat``event.Talk เพื่อการจำลองและติดต่อสคริปท์ปัจจุบันครอบคลุมพอที่จะไม่ผิด | ลดปริมาณหรือภาระงานของฟังก์ชันที่เชื่อมโยงกับ RunService.Heartbeat |
โลกก้าว/ติดต่อขั้นตอน | ช่วยให้การจำลองฟิสิกส์ขั้นตอนหลายติดต่อในครั้งเดียว | ลดจํานวนวัตถุที่ชนกัน |
แก้ปัญหาแบตช์ | ช่วยให้การจำลองฟิสิกส์แก้แบตช์ของการเคลื่อนไหวของวัตถุ | |
การแทรกแซงเมคานิซึม | ช่วยเหลือการแทรกแซงเครือข่าย |
UI
ฉลาก | คําอธิบาย | คำแนะนำด้านประสิทธิภาพ |
---|---|---|
เรนเดอร์/ก่อนเรนเดอร์/อัปเดตอินพุต | อัปเดตและยิงเหตุการณ์การใส่ข้อมูลทั้งหมดของผู้ใช้ที่เกี่ยวข้องหากผู้ใช้ได้ดำเนินการใส่ข้อมูลตั้งแต่กรอบล่าสุด | นี่คือเมื่อเหตุการณ์ที่เกี่ยวข้องกับการใส่ข้อมูลของผู้ใช้จะเกิดขึ้นเป็นสิ่งสำคัญที่ต้องพยายามและไม่ทํางานมากเกินไปโดยตรงเมื่อคุณได้รับการใส่พิจารณาทำปริมาณการประมวลผลขั้นต่ำสำหรับอินพุตและการคำนวณขนาดใหญ่ควรถูกส่งไปยังกระทู้อื่นที่เกิดขึ้นในภายหลัง |
เรนเดอร์/ก่อนเรนเดอร์/บริการ Tween | อัปเดตวัตถุที่ถูกสลับโดยใช้ TweenService และเรียกการโทรกลับความสําเร็จ เช่น ที่ใช้ให้กับ TweenSize หรือ TweenPosition | ลดจํานวนวัตถุที่ถูกสลับโดยใช้ TweenService และตรวจสอบให้การโทรกลับทํางานได้น้อยที่สุดเท่าที่เป็นไปได้ |
เรนเดอร์/ก่อนเรนเดอร์/อัปเดต UILayouts | อัปเดตตำแหน่งและขนาดขององค์ประกอบ UI | ลดจำนวนองค์ประกอบ UI ที่ถูกปรับขนาดหรือเปลี่ยนตำแหน่งได้โดยอัตโนมัติ เช่น องค์ประกอบที่จัดการโดย UILayout |
การเต้นของหัวใจ/TweenService | บนเซิร์ฟเวอร์ อัปเดตวัตถุที่ถูกแบ่งออกเป็นสองส่วนด้วย TweenService บนไคลเอนต์ จะทำในขั้นตอนการเรนเดอร์ก่อนหน้านี้แทน | ลดจํานวนวัตถุที่ถูกแบ่งโดย TweenService |