อ้างอิงแท็ก

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

ต่อไปนี้คือรายการแท็กทั่วไปใน MicroProfiler ที่จัดกลุ่มตามหมวดหมู่ แท็กยังถูกเรียกสลับกันว่า งาน, ตัวจับเวลา, ขอบเขต, กระบวนการ และป้ายกำกับ ไม่ว่าจะเรียกว่าอะไร แท็กเหล่านี้แสดงถึงหน่วยของงาน

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

การนอนหลับ

เมื่อเธรดไม่ได้ทำงานอย่างกระตือรือร้น พวกเขาจะเข้าสู่สถานะการนอนหลับ โดยมีแท็กเพื่อระบุระยะเวลาที่เธรดนอนหลับ ในเวลาใดก็ตาม มักจะพบว่าเธรดทำงานส่วนใหญ่จะอยู่ในสถานะการนอนหลับ

การนำทาง

ป้ายกำกับคำอธิบายคำแนะนำด้านประสิทธิภาพ
rasterizeTileอัปเดตแผ่นนำทางที่จำเป็นสำหรับคำขอการค้นหาเส้นทาง โดยปกติจะตามด้วย computePath ซึ่งต้องการให้แผ่นเหล่านั้นเป็นปัจจุบัน ตามหลัง NavigationJob/preprocess บนเธรดหลักลดจำนวนการทำให้แผ่นนำทางไม่ถูกต้อง เนื่องจากจะทำให้เส้นทางเหล่านั้นต้องคำนวณใหม่ ซึ่งเกิดจากส่วนที่ไม่สามารถนำทางได้เคลื่อนที่
computePath

คำนวณเส้นทาง โดยปกติหลังจาก rasterizeTile.

ลดจำนวนและขนาดของการเรียก Path:ComputeAsync() พยายามใช้เส้นทางซ้ำสำหรับหลายตัวแทนหากคาดว่าจะเริ่ม/สิ้นสุดจากตำแหน่งที่คล้ายกัน
preprocess/getPrimitivesOverlappingรวบรวมเรขาคณิตของโลกสำหรับแต่ละแผ่นนำทางและกำหนดตารางการเรนเดอร์ที่จะดำเนินการโดยเธรดการค้นหาเส้นทางลดจำนวนชิ้นส่วน

การเคลื่อนไหวและมนุษย์

ป้ายกำกับคำอธิบายคำแนะนำด้านประสิทธิภาพ
Simulation/gameSteppedการประมวลผลวัตถุเฉพาะเกม เช่น Humanoids, Animations และการเรียกกลับของการเต้นของหัวใจดูป้ายกำกับ gameStepped ด้านล่าง
Simulation/gameStepped/stepHumanoidการเปลี่ยนแปลงสถานะและการเคลื่อนไหวของ Humanoidลดจำนวน Humanoids หรือปิดสถานะ Humanoid บน NPC ที่ไม่ต้องการ เช่น Climbing หรือ Swimming ลดการเรียกกลับไปยัง Humanoid.StateChanged หรือการเปลี่ยนแปลงสถานะ เช่น Running หรือ Died
Simulation/gameStepped/stepAnimationAnimators จะก้าวไปข้างหน้าในแอนิเมชันที่กำลังเล่นอยู่ลดจำนวน Animators หรือข้อต่อที่เคลื่อนไหวเพื่อลดภาระงานในขั้นตอนนี้ ลดจำนวนการเรียกกลับไปยังเหตุการณ์แอนิเมชัน เช่น AnimationTrack.KeyframeReached หรือ AnimationTrack.Ended
Simulation/gameStepped/RunService.Steppedเรียกใช้ฟังก์ชันที่เชื่อมต่อกับเหตุการณ์ RunService.Steppedลดจำนวนหรือภาระงานของฟังก์ชันที่เชื่อมต่อกับเหตุการณ์นี้ พิจารณาการเลื่อนหรือแทนที่การคำนวณที่มีค่าใช้จ่ายสูงหรือกระจายการคำนวณไปยังหลายเฟรม

เสียง

ป้ายกำกับคำอธิบายคำแนะนำด้านประสิทธิภาพ
Soundประมวลผลการจำลองเสียงและอัปเดตเสียงในการเล่นที่ใช้งานอยู่ดูป้ายกำกับ Sound ด้านล่าง
Sound/stepInstancesอัปเดตระดับเสียงของเสียงที่ใช้งานอยู่ในพื้นที่ทำงานลดจำนวนเสียงในการเล่นที่ใช้งานอยู่

การเชื่อมต่อเครือข่าย

ป้ายกำกับคำอธิบายคำแนะนำด้านประสิทธิภาพ
Net PacketReceiveรับแพ็กเก็ตเครือข่าย หากมีวัตถุหรือเหตุการณ์จำนวนมากถูกทำซ้ำ ขั้นตอนนี้จะใช้เวลานานขึ้นทำซ้ำวัตถุหรือเหตุการณ์น้อยลง
Replicator/ProcessPacketsประมวลผลเนื้อหาของแพ็กเก็ตเครือข่าย เช่น การเคลื่อนไหว การเรียกเหตุการณ์ และการเปลี่ยนแปลงคุณสมบัติลดจำนวนหรือขนาดของวัตถุที่ถูกทำซ้ำ หรือทำในขั้นตอนที่เพิ่มขึ้น อาจเพิ่มขึ้นหากขนาดแผนที่เพิ่มขึ้น เนื่องจากแผนที่ที่ใหญ่กว่าจะมีการทำงานโดยรวมมากขึ้น
Allocate Bandwidth and Run Senders/Dispatch Physics Senders and TouchSendersส่งข้อมูลเกี่ยวกับกิจกรรมในเกมลดจำนวนวัตถุที่เคลื่อนที่และ/หรือลูกสัมผัส ดูส่วนถัดไป
Allocate Bandwidth and Run Senders/Dispatch StreamJobส่งภูมิภาคเฉพาะไปยังลูกค้าเฉพาะในฟีเจอร์การสตรีมลดรัศมีการสตรีมขั้นต่ำและเป้าหมาย
Allocate Bandwidth and Run Senders/Dispatch Data Sendersส่งการเปลี่ยนแปลงคุณสมบัติ การเรียกเหตุการณ์ระยะไกล การเปลี่ยนแปลงสถานะ Humanoid การเปลี่ยนแปลงสถานะแอนิเมชัน และการทำซ้ำของอินสแตนซ์ใหม่ลดจำนวนการเปลี่ยนแปลงที่ทำซ้ำในโมเดลข้อมูล
Replicator SendClusterส่งข้อมูล Terrain ไปยังลูกค้าลดจำนวนหรือขนาดของการเปลี่ยนแปลงภูมิประเทศ
ModelCompleteness Mega Jobเฉพาะเซิร์ฟเวอร์: ความสมบูรณ์เป็นแนวคิดภายใน เมื่อโมเดลถูกส่งอย่างสมบูรณ์ เหตุการณ์ความสมบูรณ์ของโมเดลจะถูกส่งเพิ่มหรือลดจำนวนอินสแตนซ์ให้น้อยลง
deserializePacketการประมวลผลแพ็กเก็ตเครือข่ายระดับต่ำ เตรียมสำหรับ Replicator/ProcessPacketsส่งการอัปเดตที่น้อยลงหรือมีขนาดเล็กลง

การเรนเดอร์

ป้ายกำกับคำอธิบายคำแนะนำด้านประสิทธิภาพ
Prepareข้อมูลจะถูกรวบรวมจากเธรดหลักและอัปเดตโครงสร้างข้อมูลต่างๆ ที่ใช้ในการเรนเดอร์ดูป้ายกำกับ Prepare ด้านล่าง
Prepare/Pass3dAdornจัดการการเรนเดอร์ของการตกแต่งวัตถุต่างๆ เช่น ป้ายกำกับข้อความเหนือวัตถุ สำหรับป้ายกำกับ Humanoid ที่มีการปิดกั้น ขั้นตอนนี้รวมถึงการเรย์แคสเพื่อกำหนดว่าวัตถุดังกล่าวมองเห็นได้หรือไม่ ซึ่งรวมถึงส่วนที่ไม่โปร่งใสเพื่ออำนวยความสะดวกในการแสดงผลการดีบักลดจำนวนวัตถุที่ตกแต่งที่มองเห็นได้ เช่น BillboardGuis, ป้ายชื่อ/สุขภาพของ Humanoid เป็นต้น ลดจำนวนชิ้นส่วนที่มองเห็นได้
Prepare/Pass2dเตรียมการเรนเดอร์ UI 2D (ทั้ง UI ของผู้เล่นและ Roblox)ลดจำนวนหรือความซับซ้อนขององค์ประกอบ UI
Prepare/UpdatePrepare/updateInvalidPartsอัปเดตชิ้นส่วนที่มีการเปลี่ยนแปลงหรือเพิ่มคุณสมบัติลดจำนวนการเปลี่ยนแปลงคุณสมบัติในโลก หากสคริปต์อัปเดตชุดของคุณสมบัติของวัตถุขนาดใหญ่ ให้แบ่งออกเป็นหลายเฟรม
Prepare/UpdatePrepare/updateInvalidatedFastClustersเตรียมเรขาคณิต "FastCluster" ที่ใช้ในการเรนเดอร์ Humanoids และ MeshParts ที่มีการสกิน ป้ายกำกับระบุจำนวนชิ้นส่วน เวอร์เท็กซ์ และขนาดของเวอร์เท็กซ์ลดการเปลี่ยนแปลงภาพในโมเดลที่มี Humanoids หรือ MeshParts ที่มีการสกิน
Prepare/UpdatePrepare/updateDynamicPartsเตรียม Beams, ParticleEmitters, และ Humanoids สำหรับการเรนเดอร์ลดจำนวน Beams, ParticleEmitters, และ Humanoids ที่มองเห็นได้
Prepare/UpdatePrepare/updateInstancedClustersอัปเดตเรขาคณิตที่ใช้การเรนเดอร์แบบอินสแตนซ์ เช่น ชิ้นส่วน ป้ายกำกับ Clusters และ Instances ระบุจำนวนที่อัปเดตลดงานที่อัปเดตกล่องขอบเขตของชิ้นส่วนโดยปริยาย เช่น BasePart.CFrame, BasePart.Size, หรือ Motor6D.Transform การอัปเดตคุณสมบัติที่สร้างสรรค์ เช่น Bone.Transform สามารถช่วยได้
Performเมื่อคำสั่งการเรนเดอร์จริงถูกสร้างและออกคำสั่งดูป้ายกำกับ Perform ด้านล่าง
Perform/fillGuiVerticesเติมบัฟเฟอร์ด้วยเวอร์เท็กซ์ UI เพื่อเตรียมการเรนเดอร์ ป้ายกำกับ gui count ระบุจำนวน LayerCollectors ที่มองเห็นได้ในเฟรมหากค่าใช้จ่ายสูง ให้ลดจำนวน ความหนาแน่น และพื้นที่ที่ใช้โดยองค์ประกอบ UI หากมีป้ายกำกับ Process GuiEffect มากเกินไป ให้พิจารณาลดการใช้ UIGradient และ UICorner บนป้ายกำกับข้อความ
Perform/Scene/queryFrustumOrderedใช้การตัดฟรัสตัมเพื่อให้วัตถุที่ไม่มองเห็นไม่ถูกเรนเดอร์หากมีค่าใช้จ่ายสูง หมายความว่ามีองค์ประกอบจำนวนมาก อาจใช้เมชขนาดใหญ่กว่า ซึ่งเมชเดียวมีรายละเอียดมากกว่าชิ้นส่วนเล็กๆ หลายชิ้น
Perform/Scene/computeLightingPerformการคำนวณแสงใกล้กล้องปรับจำนวนแหล่งแสงหรือลดการเคลื่อนที่ของกล้องเพื่อลดเวลาที่ใช้ในการคำนวณแสงใหม่
Perform/Scene/computeLightingPerform/LightGridCPUอัปเดตการเรนเดอร์แสงวอกเซล ซึ่งใช้ที่ระดับคุณภาพต่ำกว่าหากการอัปเดตการเข้าครอบครองชิ้นส่วนใช้เวลานานเกินไป ให้พิจารณาใช้เรขาคณิตที่มีความละเอียดต่ำกว่า ลดจำนวนชิ้นส่วน หรือยึดชิ้นส่วน หากป้ายกำกับอื่นใช้เวลานานเกินไป ให้พิจารณาลดจำนวนแสงและใช้เรขาคณิตที่ไม่สร้างเงาสำหรับวัตถุที่เคลื่อนที่และทำให้การเข้าครอบครองไม่ถูกต้อง
Perform/Scene/computeLightingPerform/ShadowMapSystemอัปเดตแผนที่เงา ไม่ได้ดำเนินการที่ระดับคุณภาพต่ำกว่า 4ลดจำนวนแหล่งแสง คุณยังสามารถใช้ Light.Shadows และ BasePart.CastShadow เพื่อปิดการสร้างเงาบนอินสแตนซ์ที่ไม่สำคัญ ดู ปรับปรุงประสิทธิภาพ
Perform/Scene/Glow, ColorCorrection, MSAA, SSAO, and SSAOApplyการเรนเดอร์หลังการประมวลผลลดจำนวนเอฟเฟกต์หลังการประมวลผล โดยปกติแล้วจะไม่สำคัญ
Perform/Scene/UIการเรนเดอร์ UI ใน Id_Screen จะมีป้ายกำกับที่ระบุจำนวนชุดวัสดุและสามเหลี่ยมที่ใช้ลดจำนวนองค์ประกอบ UI ที่มองเห็นได้ การใช้ CanvasGroups สามารถช่วยได้แม้จะมีการใช้หน่วยความจำเพิ่มขึ้น
Perform/Scene/UpdateView/updateParticles, updateParticleBoundingsอัปเดตตำแหน่งและขอบเขตของอนุภาคลดจำนวน ParticleEmitters, อัตราการปล่อย อายุการใช้งาน ฯลฯ จำกัดการเคลื่อนที่ของตัวปล่อย
Scene/Id_Opaque, RenderView/Id_Opaqueชิ้นส่วนในฉากที่มีความโปร่งใสโดยรวม 0.01 หรือต่ำกว่าลดการใช้และความหนาแน่นของชิ้นส่วน
Scene/Id_Transparent, RenderView/Id_Transparentชิ้นส่วนในฉากที่มีความโปร่งใสโดยรวมระหว่าง 0.01 และ 1ลดการใช้ความโปร่งใสบางส่วน
Scene/Id_Decals, RenderView/Id_Decalsสติกเกอร์ในฉากลดการใช้สติกเกอร์บนเมชที่ซับซ้อน
Scene/Shadowsการคำนวณเงาในฉาก โดยปกติจะดำเนินการในฉากที่มีการเคลื่อนไหวและการเล่นเกมทั่วไป ชิ้นส่วนไม่ว่าจะมีความโปร่งใสใดๆ จะสร้างเงาโดยสมมติว่ามีสติกเกอร์อยู่ ไม่ได้ดำเนินการที่ระดับคุณภาพต่ำกว่า 4หากขั้นตอนนี้ใช้เวลานานเกินไป ให้พิจารณาปิด BasePart.CastShadow สำหรับเมชที่ซับซ้อน ชิ้นส่วนที่มีความโปร่งใสบางส่วนสูง และอินสแตนซ์ที่ไม่สำคัญ ชิ้นส่วนที่โปร่งใสทั้งหมดที่ไม่มีสติกเกอร์หรือไม่ต้องการเงาสติกเกอร์ควรปิด BasePart.CastShadow ดู ปรับปรุงประสิทธิภาพ
Perform/Presentส่งต่อไปยังเธรด GPU เพื่อดำเนินการคำสั่งการเรนเดอร์ลดความซับซ้อนของฉากโดยทั่วไป หากขั้นตอนนี้ใช้เวลานาน คุณอาจถูกจำกัดโดย GPU
Perform/Present/waitUntilCompletedรอให้ GPU เสร็จสิ้นการเรนเดอร์เฟรมก่อนหน้าหากสิ่งนี้เกิดขึ้นบ่อยครั้ง แสดงว่าจำนวนสิ่งที่เรนเดอร์สูงเกินไป ตัวจัดการอัตราเฟรมช่วยในการปรับสมดุลนี้ แต่หากยังคงสูงอยู่ ให้ลองปฏิบัติตามคำแนะนำด้านประสิทธิภาพจากแท็ก Scene แต่ละแท็ก
LoadImageประมวลผลภาพให้เป็นรูปแบบที่เอนจินสามารถใช้ได้ลดการใช้ภาพขนาดใหญ่

สคริปต์

ป้ายกำกับคำอธิบายคำแนะนำด้านประสิทธิภาพ
Render/PreRender/fireBindToRenderSteppedCallbacksเรียกใช้ฟังก์ชันที่ผูกกับขั้นตอนการเรนเดอร์ผ่าน RunService:BindToRenderStep()ตรวจสอบให้แน่ใจว่าฟังก์ชันที่เชื่อมต่อกับเหตุการณ์นี้ทำงานให้น้อยที่สุดเท่าที่จะเป็นไปได้
Render/PreRender/RunService.RenderSteppedเรียกใช้ฟังก์ชันที่เชื่อมต่อกับเหตุการณ์ RunService.RenderSteppedตรวจสอบให้แน่ใจว่าฟังก์ชันที่เชื่อมต่อกับเหตุการณ์นี้ทำงานให้น้อยที่สุดเท่าที่จะเป็นไปได้
WaitingHybridScriptJobดำเนินการสคริปต์ที่รออยู่โดยใช้ Instance:WaitForChild() หรือ Globals.Roblox.wait() โดยปกติจะดำเนินการ 30 ครั้งต่อวินาที ขั้นตอนนี้มีงบประมาณเวลาการดำเนินการเพื่อเรียกใช้สคริปต์ที่รออยู่หากคุณมีสคริปต์ที่รออยู่มากเกินไปหรือสคริปต์ที่ใช้เวลานานก่อนที่จะหยุด ให้ขั้นตอนนี้ถูกควบคุมและรอนานขึ้นก่อนที่จะสามารถทำงานได้อีกครั้ง ลดจำนวนฟังก์ชันที่ผูกหรือการคำนวณที่ยาวนานในขั้นตอนนี้
GCรอบการเก็บขยะของ Luauจัดกลุ่มตารางและวัตถุที่สามารถเก็บได้อื่นๆ หรือพยายามลดการสร้างตารางชั่วคราว
Heartbeat/RunService.Heartbeatเรียกใช้ฟังก์ชันที่เชื่อมต่อกับเหตุการณ์ RunService.Heartbeatลดจำนวนหรือภาระงานของฟังก์ชันที่เชื่อมต่อกับเหตุการณ์นี้ พิจารณาการเลื่อนหรือแทนที่การคำนวณที่มีค่าใช้จ่ายสูงหรือกระจายการคำนวณไปยังหลายเฟรม

การจำลอง

ป้ายกำกับคำอธิบายคำแนะนำด้านประสิทธิภาพ
Distributed Physics Ownershipกำหนดว่าเซิร์ฟเวอร์หรือลูกค้ามีอำนาจเหนืออินสแตนซ์บางอย่าง เช่น ชิ้นส่วนลดจำนวนชิ้นส่วนที่สลับความเป็นเจ้าของเครือข่ายบ่อยๆ โดยเฉพาะอย่างยิ่งชิ้นส่วนที่มีการโต้ตอบทั่วไป
Simulation/assembleอัปเดตต้นไม้ของวัตถุที่เชื่อมต่อ (การประกอบ) ที่ใช้โดยเอนจินฟิสิกส์ลดจำนวนข้อต่อที่ถูกสร้างหรือทำลาย
Simulation/physicsSteppedTotal/physicsSteppedเรียกใช้การจำลองฟิสิกส์ลดจำนวนและความซับซ้อนของร่างกายที่จำลองทางกายภาพ
Simulation/physicsSteppedTotal/physicsStepped/SpatialFilter/filterStepอัปเดตเกาะการจำลอง จัดเรียงชิ้นส่วนตามความเป็นเจ้าของเครือข่าย การจำลองในท้องถิ่น เกาะคือกลุ่มของชิ้นส่วนที่ไม่โต้ตอบซึ่งสามารถจำลองได้อย่างอิสระหลีกเลี่ยงการตั้งค่าความเป็นเจ้าของเครือข่ายบ่อยๆ เก็บกลุ่มของชิ้นส่วนให้ห่างกันพอสมควรเพื่อให้สามารถจำลองได้แยกกัน
Simulation/physicsSteppedTotal/physicsStepped/worldStep/stepContactsอัปเดตการติดต่อระหว่างวัตถุลดจำนวนร่างกายที่ชนกันในครั้งเดียว หรือใช้กล่องการชนที่ง่ายกว่า ลูกบาศก์ดีกว่าชิ้นส่วนที่ซับซ้อน
Simulation/physicsSteppedTotal/physicsStepped/worldStep/stepWorld OR stepWorldThrottledแก้สมการฟิสิกส์ที่เกี่ยวข้องกับตัวเชื่อม ลอยน้ำ และ Humanoids เมื่อเอนจินทำงานหนักเกินไปและไม่สามารถจำลองทุกอย่างได้แบบเรียลไทม์ บางขั้นตอนอาจถูกควบคุม (stepWorldThrottled) และเฉพาะ "การประกอบแบบเรียลไทม์" เช่น Humanoids เท่านั้นที่ถูกจำลองขึ้นอยู่กับว่าเวลาใช้ไปที่ไหนตามสามเฟสต่อไปนี้: stepContacts: การทดสอบเรขาคณิตการตรวจจับการชนกันในเฟสแคบ Solver step: รวมเวลาและแก้ไขการชนกันและข้อจำกัดอื่นๆ updateBroadphase: อัปเดตตำแหน่งของการประกอบในระบบการตรวจจับการชนกันและค้นหาคู่ที่อาจชนกันในเฟสแคบ
notifyMovingAssembliesช่วยติดตามระยะเวลาที่พรีมิตฟิสิกส์นอนหลับ
Simulation/physicsSteppedTotal/physicsStepped/interpolateNetworkedAssembliesทำการอินเตอร์โพลเลตการประกอบที่ไม่ได้ควบคุมโดยผู้เล่นปัจจุบันตั้งค่าความเป็นเจ้าของเครือข่ายของชิ้นส่วนให้เป็นผู้เล่นปัจจุบันเพื่อลดสิ่งนี้ แม้ว่าสิ่งนี้จะทำให้มีงานฟิสิกส์มากขึ้นที่ต้องทำในที่อื่น
Simulation/handleFallenPartsลบชิ้นส่วนที่ตกลงไปต่ำกว่า Workspace.FallenPartsDestroyHeightลดความสูงในการทำลายหรือจำนวนชิ้นส่วนที่ตกไปยังความสูงในการทำลาย
Heartbeat/heartbeatInternal/workspaceOnHeartbeat/updateVisuallySleepingส่วนที่สองของ notifyMovingAssemblies
Heartbeat/RunService.Heartbeatเรียกใช้ฟังก์ชันที่เชื่อมต่อกับเหตุการณ์ RunService.Heartbeat เพื่อการจำลองและการติดต่อของสคริปต์ คำอธิบายปัจจุบันทั่วไปพอที่จะไม่ผิดลดจำนวนหรือภาระงานของฟังก์ชันที่เชื่อมต่อกับ RunService.Heartbeat
worldStep/stepContactsช่วยให้การจำลองฟิสิกส์ก้าวไปข้างหน้าหลายการติดต่อในครั้งเดียวลดจำนวนวัตถุที่ชนกัน
SolveBatchช่วยให้การจำลองฟิสิกส์แก้ปัญหาการเคลื่อนไหวของกลุ่มวัตถุ

UI

ป้ายกำกับคำอธิบายคำแนะนำด้านประสิทธิภาพ
Render/PreRender/UpdateInputอัปเดตและเรียกใช้เหตุการณ์ที่เกี่ยวข้องกับการป้อนข้อมูลของผู้ใช้หากผู้ใช้ได้ทำการป้อนข้อมูลตั้งแต่เฟรมสุดท้ายพยายามอย่าทำงานมากเกินไปโดยตรงเมื่อคุณได้รับข้อมูล ให้พิจารณาทำการประมวลผลขั้นต่ำสำหรับข้อมูล และการคำนวณที่ใหญ่กว่าควรผลักดันไปยังเธรดอื่นที่เกิดขึ้นในภายหลัง
Render/PreRender/TweenServiceอัปเดตวัตถุที่ถูกทวีตโดยใช้ TweenService และเรียกใช้การเรียกกลับเมื่อเสร็จสิ้น เช่นเดียวกับที่ใช้กับ GuiObject:TweenSize() หรือ GuiObject:TweenPosition()ลดจำนวนวัตถุที่ถูกทวีตโดยใช้ TweenService และตรวจสอบให้แน่ใจว่าการเรียกกลับทำงานให้น้อยที่สุดเท่าที่จะเป็นไปได้
Heartbeat/TweenServiceในเซิร์ฟเวอร์ TweenService จะทำงานใน RunService.Heartbeat แทนที่จะเป็น RunService.PreRenderลดจำนวนวัตถุที่ถูกทวีตโดยใช้ TweenService และตรวจสอบให้แน่ใจว่าการเรียกกลับทำงานให้น้อยที่สุดเท่าที่จะเป็นไปได้
Render/PreRender/UpdateUILayoutsอัปเดตตำแหน่งและขนาดสำหรับองค์ประกอบ UI บน LayerCollectors ที่เปิดใช้งานทั้งหมดดูป้ายกำกับ UpdateUILayouts ด้านล่าง
Render/PreRender/UpdateUILayouts/Rebuild Z-order listสร้างรายการ Z-order ภายในใหม่ขององค์ประกอบ UI (ไม่ควรสับสนกับ GuiObject.ZIndex) ใน LayerCollector ในการเรนเดอร์ครั้งแรกหรือเมื่อมีการเพิ่ม ลบ หรือเปลี่ยนแปลง GuiObject.ZIndex ขององค์ประกอบใหม่ลดจำนวนองค์ประกอบ UI ใน LayerCollectors ก่อนการเรนเดอร์ครั้งแรกและหลีกเลี่ยงการเปลี่ยนพ่อแม่และ GuiObject.ZIndex ขององค์ประกอบ UI ภายในบ่อยเกินไป ยิ่งมีองค์ประกอบใน LayerCollector มากเท่าไหร่ ประสิทธิภาพก็จะยิ่งแย่ลง
Render/PreRender/UpdateUILayouts/Layout

อัปเดตตำแหน่งและขนาดสำหรับองค์ประกอบ UI ใน LayerCollector ที่เฉพาะเจาะจง อาจมีป้ายกำกับที่มีข้อมูลเกี่ยวกับ UI ที่เกี่ยวข้อง พร้อมกับจำนวนการจัดเรียงใหม่ การอัปเดต และการปรับขนาด

ลดจำนวนองค์ประกอบ UI ที่ถูกปรับขนาดหรือเปลี่ยนตำแหน่ง เช่น องค์ประกอบที่จัดการโดย UILayout และที่ถูกทวีตด้วย TweenService, GuiObject:TweenSize(), หรือ GuiObject:TweenPosition() พิจารณาใช้ขนาดที่แน่นอนสำหรับ BillboardGuis
©2026 Roblox Corporation. Roblox, โลโก้ Roblox และ Powering Imagination เป็นส่วนหนึ่งของเครื่องหมายการค้าที่จดทะเบียน และไม่ได้จดทะเบียนของเราในสหรัฐฯ และประเทศอื่นๆ