Referensi tag

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

Berikut adalah daftar tag umum di MicroProfiler, dikelompokkan berdasarkan kategori.Memahami label ini dapat membantu Anda mengidentifikasi kode bermasalah dalam pengalaman Anda.Tabel berisi label tag, deskripsi, dan saran kinerja untuk meningkatkan kinerja dan mengoptimalkan pengalaman Anda.

Tidur

Ketika thread tidak aktif melakukan tugas, mereka memasuki keadaan tidur, dengan tag untuk menunjukkan berapa lama thread tidur.Pada saat tertentu, sangat umum bagi sebagian besar thread pekerja untuk berada dalam keadaan tidur.

AI/ navigasi

LabelDeskripsiNasihat Perkinerja
rasterizeTileUbin navigasi pembaruan diperlukan untuk permintaan penemuan jalur, biasanya diikuti oleh computePath yang memerlukan ubin tersebut up-to-date.Mengikuti NavigationJob/preprocess pada thread utama.Kurangi jumlah invalidasi pencarian jalur, karena ini menyebabkan rute tersebut perlu dihitung ulang. Ini disebabkan oleh gerakan bagian yang tidak dapat dilalui.
computePath

Menghitung jalur, biasanya setelah rasterizeTile .

Kurangi jumlah dan batas dunia panggilan ComputePath .Coba gunakan kembali jalur untuk beberapa agen jika diharapkan untuk mulai/akhir dari lokasi yang hampir sama.
pramemproses/mendapatkanPrimitifOverlappingMengumpulkan geometri dunia untuk setiap ubin pencarian jalur dan menjadwalkan tugas rasterisasi untuk dieksekusi oleh thread pencarian jalur.Kurangi jumlah bagian.

Animasi

LabelDeskripsiSaran kinerja
Simulasi/gameSteppedPemrosesan objek spesifik permainan seperti Humanoids , Animations dan panggilan balasan denyut jantung
Simulasi/gameStepped/StepLegacyHumanoid perubahan status dan movement.Called stepHumanoid di server sekarang (versi paralel)Nonaktifkan atau kurangi Humanoid.Status tangga paling penting untuk dinonaktifkan.Kurangi panggilan balasan untuk perubahan status seperti Humanoid.Died atau Humanoid.Running
Simulasi/gameStepped/stepAnimasiAnimators akan melangkah maju dalam saat ini memainkan animasi.Kurangi jumlah Animators atau persambungan animasi untuk menurunkan beban kerja langkah ini.Kurangi jumlah panggilan balasan ke acara animasi seperti AnimationTrack.KeyframeReached atau AnimationTrack.Ended
Simulasi/gameStepped/RunService.SteppedMenjalankan fungsi yang terhubung ke acara RunService.Stepped .Kurangi jumlah atau beban kerja fungsi yang terhubung ke acara ini.Pertimbangkan untuk menunda atau mengganti perhitungan mahal.Pertimbangkan menyebarkan perhitungan di beberapa frame.

Suara

LabelDeskripsiSaran kinerja
SuaraMemproses audio: lokasi, efek, volume, dll.
Tag Pengembang_SuaraSuara dalam Memori: suara pendek umumnya yang cukup kecil untuk masuk ke memori. Biasanya fx satu tembakan singkat, bukan musik berbentuk panjang.Gunakan lebih sedikit suara pendek.
Tag Pengembang_Suara Streamingstream/StreamingSounds: ini adalah suara yang lebih besar yang diputar dari disk. Umumnya file musik bentuk panjang.Gunakan lebih sedikit suara panjang.

Jaringan

LabelDeskripsiSaran kinerja
Penerimaan Paket JaringanMenerima paket jaringan. Jika banyak objek atau peristiwa disalin, langkah ini membutuhkan lebih lama.Replikasikan lebih sedikit objek atau peristiwa.
Replicator/ProsesPaketMemproses konten paket jaringan, seperti gerakan, panggilan acara, dan perubahan properti.Kurangi jumlah atau ukuran objek yang direplikasi, atau lakukan ini dalam langkah-langkah incremental.Dapat meningkat jika ukuran peta meningkat, karena peta yang lebih besar cenderung memiliki lebih banyak aktivitas umum.
Menyediakan Bandwidth dan Jalankan Pengirim/Dispatch Fisik Pengirim dan TouchSendersMengirim data tentang aktivitas di pengalaman.Kurangi jumlah objek bergerak dan/atau sentuhan. Lihat bagian berikut.
Menyediakan Bandwidth dan Jalankan Pengirim/Dispatch StreamJobMengirim wilayah spesifik yang sesuai ke klien spesifik di fitur "Streaming".Kurangi radius streaming minimum dan target.
Menyediakan Bandwidth dan Menjalankan Pengirim/Dispatch Data PengirimMengirim perubahan properti, peristiwa remote, perubahan status Humanoid, mulai/berhenti animasi.Kurangi jumlah perubahan yang direplikasi ke model data
Klasifikasi Pengirim ReplikatorMengirim data Tanah kepada klien.Kurangi jumlah atau ukuran perubahan Tanah.
ModelCompleteness Mega PekerjaanHanya server: keseluruhan adalah konsep internal. Saat model dikirimkan sepenuhnya, peristiwa keseluruhan model dikirimkan.Tambahkan atau hapus lebih sedikit instans.
Paket DesialisasiPemrosesan paket jaringan tingkat rendah. Persiapkan untuk Proses Paket Replikator.Kirim lebih sedikit pembaruan.

Rendering

LabelDeskripsiCatatan kinerja
SiapkanInformasi dikumpulkan dari thread utama dan memperbarui berbagai struktur data yang digunakan untuk rendering.Ini memblokir thread simulasi, sehingga harus sekecil mungkin.Lihat Persiapkan label di bawah ini.
Siapkan/Pass3dAdornMenampilkan berbagai aksesori objek, seperti label teks di atas objek. Langkah ini mungkin termasuk raycasting untuk menentukan apakah objek tersebut terlihat.Kurangi jumlah objek yang terlihat dilengkapi, seperti BillboardGuis , Humanoid label nama/kesehatan, dll.
Siapkan/Pass2dSiapkan rendering UI 2D (baik pemain maupun UI Roblox).Kurangi jumlah atau kompleksitas elemen UI.
Siapkan/PerbaruiSiapkan/perbarui Bagian Tidak ValidMemperbarui bagian yang memiliki beberapa properti diubah atau ditambahkan.Kurangi jumlah perubahan properti di dunia. Jika skrip memperbarui kumpulan besar properti objek, hancurkan di antara frame.
Siapkan/PerbaruiSiapkan/perbarui Kluster Cepat Tidak ValidMempersiapkan geometri, biasanya "Kelompok Cepat" digunakan untuk menampilkan Humanoids . Penanda sub menentukan jumlah bagian, vertex, dan ukuran vertex.Kurangi penggunaan 'Humanoids' di bawah objek yang tidak Humanoids .Ini tidak boleh digunakan untuk memperpendek panggilan tarik karena FastClusters mengkonsumsi lebih banyak memori.
Siapkan/PerbaruiSiapkan/perbaruiBagian DinamisMemperbarui posisi untuk Humanoids , kendaraan, dan instans lain yang bergerak untuk rendering.Kurangi jumlah atau kompleksitas gerakan Humanoids atau kendaraan yang terlihat.Menggabungkan bagian dari bahan dan warna yang sama menjadi satu serikat atau MeshPart dapat membantu dengan ini.
Siapkan/PerbaruiSiapkan/perbaruiKelompok TerinstalMempersiapkan geometri statis yang menggunakan rendering instan (bagian dan bagian mesh). Label "Kelompok" dan "Instans" menunjukkan nomor yang diperbarui.Gunakan kurang variasi mesh dan materi secara keseluruhan. Anda juga dapat membuat cluster dengan menggunakan objek yang memiliki penampilan serupa - ukuran, warna, bahan.
LakukanKetika perintah rendering aktual dibuat dan diterbitkan.Lihat Label Perform di bawah ini.
Lakukan/isiGuiVerticesRender UI. Mengisi buffer dengan vertex UI untuk aksesori. Label "Gui count" menunjukkan jumlah elemen di daftar renderer.Jika biaya tinggi, kurangi jumlah UI yang diperbarui dengan menonaktifkannya saat tidak digunakan dengan memastikan disembunyikan dengan benar.
Lakukan/Adegan/queryFrustumOrderedMenerapkan pemilihan frustum sehingga objek yang tidak terlihat tidak ditampilkan.Jika ada biaya tinggi yang berarti ada banyak elemen.Mungkin gunakan beberapa meshes yang lebih besar di mana satu meshes memiliki lebih banyak rincian dibandingkan dengan banyak bagian kecil.
Lakukan/Adegan/ computeLightingPerformPerhitungan pencahayaan di dekat kamera.Manipulasi jumlah sumber cahaya atau pindahkan kamera kurang untuk mengurangi waktu yang diperlukan untuk menghitung ulang pencahayaan.
Lakukan/Adegan/ computeLightingPerform/LightGridCPUMemperbarui pencahayaan vokel, yang digunakan dalam mode Voxel dan ShadowMap dan pada tingkat kualitas di bawah 4 di mode Future.Jika pembaruan kapasitas potongan memakan waktu terlalu lama, pertimbangkan untuk menggunakan geometri resolusi lebih rendah, mengurangi jumlah bagian, atau mengunci bagian.Jika sub-penanda lain terlalu lama, pertimbangkan untuk mengurangi jumlah lampu dan menggunakan geometri lemparan non-bayangan untuk objek yang bergerak dan membatalkan penempatan.
Lakukan/Adegan/ computeLightingPerform/ShadowMapSystemMemperbarui peta bayangan. Tidak dilakukan pada tingkat kualitas di bawah 4 atau ketika Lighting.Technology diatur ke Voxel.Jika pencahayaan diatur ke Future , turunkan ke ShadowMap atau kurangi jumlah lampu.Anda juga dapat menggunakan Light.Shadows dan BasePart.CastShadows untuk menonaktifkan pencastan bayangan pada instans yang kurang penting.Lihat Meningkatkan Kinerja .
Lakukan/Adegan/Bercahaya, Pengoreksi Warna, MSAA, SSAO, dan SSAOApplyRender pos-pengolahan.Kurangi jumlah efek post-processing. Biasanya ini tidak signifikan.
Lakukan/Adegan/UIRender UI. Di Id_Screen, ada label dengan jumlah batch, bahan, dan segi yang digunakan.Kurangi jumlah elemen UI yang terlihat. Menggunakan CanvasGroups mungkin membantu dengan pengorbanan penggunaan memori yang meningkat.
Lakukan/Adegan/UpdateView/updateParticles, updateParticleBoundingsPerbarui posisi dan batas partikel.Kurangi jumlah ParticleEmitters , tingkat emisi, masa hidup, dll. Batasi pergerakan pemancar.
Id_OpaqueBagian dalam adegan dengan nilai transparansi 0.
Id_TransparanBagian di adegan dengan nilai transparansi lain dari 0.Kurangi penggunaan transparansi parsial (nilai selain 0 dan 1).
Id_DecalStiker di adegan.
Lakukan/SajikanMenunggu GPU menyelesaikan rendering frame sebelumnya; sebenarnya mengeluarkan perintah rendering ke GPU; berurusan dengan sumber daya grafis tingkat rendah.Kurangi kompleksitas adegan secara umum. Jika langkah ini memakan waktu lama, Anda mungkin dibatasi oleh GPU.
Lakukan/Sajikan/Tunggu Sampai SelesaiMenunggu GPU untuk menyelesaikan rendering frame sebelumnya.Jika ini umumnya terjadi banyak maka jumlah hal yang disajikan terlalu tinggi.FRM membantu menyeimbangkan ini, tetapi jika tetap tinggi, coba gunakan lebih sedikit rincian.

Skrip

LabelDeskripsiSaran kinerja
Render/PreRender/fireBindToRenderSteppedCallbacksMenjalankan fungsi yang terikat untuk menampilkan langkah melalui RunService:BindToRenderStep() .Pastikan fungsi dalam skrip menggunakan RunService:BindToRenderStep() melakukan sedikit pekerjaan mungkin.
Render/PreRender/RunService.RenderSteppedMenjalankan fungsi yang terhubung ke acara RunService.RenderStepped .Mirip dengan BindToRenderStep , pastikan fungsi yang menggunakan peristiwa ini melakukan sedikit pekerjaan mungkin.
Menunggu Hybrid Script JobMelanjutkan skrip yang menunggu menggunakan frame tunggu.Langkah ini memiliki anggaran waktu eksekusi untuk menjalankan skrip tunggu, jadi jika Anda memiliki terlalu banyak skrip tunggu atau skrip dengan waktu eksekusi yang lama sebelum menyerah, langkah ini dapat mengambil banyak
LuaGCSiklus pengumpulan limbah Luau. Label memberikan perkiraan memori tentang alokasi total dan berapa banyak yang didelegasikan.Tabel lua kolam dan objek koleksi lainnya atau cobalah untuk mengurangi pembuatan tabel sementara atau string
Detak Jantung/RunService.HeartbeatMenjalankan fungsi yang terhubung ke Class.RunService.Heartbeat``event.Talk ke kontak simulasi dan skrip. Deskripsi saat ini cukup umum untuk tidak salahKurangi jumlah atau beban kerja fungsi yang terhubung ke RunService.Heartbeat.

Simulasi

LabelDeskripsiSaran kinerja
Kepemilikan Fisika TerdistribusiMenentukan apakah server atau klien memiliki otoritas atas instans tertentu seperti bagian.Kepemilikan Fisika Terdistribusi.
Simulasi/assembleMemperbarui pohon objek terhubung (assemble) yang digunakan oleh mesin fisika.Kurangi jumlah persambungan yang dibuat atau dihancurkan.
Simulasi/fisikaSteppedTotal/fisikaSteppedMengejal simulasi fisika.Kurangi jumlah dan kompleksitas tubuh fisik yang disimulasikan.
Simulasi/fisikaSteppedTotal/fisikaStepped/SpatialFilter/filterLangkahMemperbarui pulau simulasi, mengatur bagian sesuai dengan kepemilikan jaringan, simulasi lokal.Pulau adalah kelompok bagian yang tidak berinteraksi yang dapat disimulasikan secara independen.Hindari sering menetapkan kepemilikan jaringan. Jaga agar kelompok bagian tetap cukup jauh dari satu sama lain sehingga mereka dapat disimulasikan secara terpisah.
Simulasi/fisikaLangkah Total/fisika Langkah/duniaLangkah KontakMemperbarui kontak antara objek.Kurangi jumlah tubuh yang bertabrakan sekaligus, atau gunakan kotak tabrakan yang lebih sederhana. Kubus lebih baik daripada meshes yang kompleks.
Simulasi/fisikaSteppedTotal/physicsStepped/worldStep/stepWorld ATAU stepWorldThrottledMemecahkan persamaan fisika yang berhubungan dengan konektor, buoyancy, dan Humanoids .Ketika mesin overloaded dan tidak dapat menyimulasikan semuanya secara real time, beberapa langkah mungkin dibatasi (stepWorldThrottled) dan hanya "assemble real time" seperti Humanoids yang disimulasikan.Tergantung pada di mana waktu akan berjalan berdasarkan tiga fase berikut: stepContacts: tes geometri deteksi tabrakan fase sempit.Langkah penyelesaian: gabungkan waktu dan memecahkan konflik dan keterbatasan lainnya updateBroadphase: temukan posisi assemblies dalam sistem deteksi kolisi dan temukan kemungkinan pas fase sempit yang bertabrakan.
Memberi pemberitahuanMovingAssembliesMembantu melacak berapa lama primitif telah tidur.
Simulasi/fisikaSteppedTotal/fisikaStepped/interpolateJaringanAssembleMenggabungkan assemblasi yang tidak dikendalikan oleh peer jaringan ini.Tetapkan pemilik jaringan bagian ke peer ini untuk mengurangi ini; meskipun ini biasanya akan menyebabkan lebih banyak pekerjaan fisika dilakukan di tempat lain.
Simulasi/handleFallenPartsMenghapus bagian yang telah jatuh di bawah Workspace/FallenPartsDestroyHeight.Turunkan ketinggian hancur atau kurangi jumlah bagian yang jatuh ke ketinggian hancur.
Detak jantung/detak jantungInternal/workspaceOnHeartbeat/updateVisuallySleepingBagian kedua dari NotifyMovingAssemblies.
Detak Jantung/RunService.HeartbeatMenjalankan fungsi yang terhubung ke Class.RunService.Heartbeat``event.Talk ke kontak simulasi dan skrip. Deskripsi saat ini cukup umum untuk tidak salahKurangi jumlah atau beban kerja fungsi yang terhubung ke RunService.Heartbeat.
worldStep/StepKontakMembantu langkah simulasi fisika mengontak banyak kontak sekaligus.Kurangi jumlah objek yang bertabrakan.
Menyelesaikan batchMembantu simulasi fisika menyelesaikan batch gerakan objek.
Interpolasi MekanismeMembantu dengan InterpolateNetworkAssemblies.

UI

LabelDeskripsiSaran kinerja
Render/PreRender/UpdateInputMemperbarui dan menyalakan semua peristiwa input pengguna terkait jika pengguna telah melakukan input sejak frame terakhir.Ini adalah ketika peristiwa yang terkait dengan input pengguna akan terbakar.Penting untuk mencoba dan tidak melakukan terlalu banyak pekerjaan langsung saat Anda mendapatkan input.Pertimbangkan melakukan jumlah minimal pemrosesan untuk input, dan perhitungan yang lebih besar harus ditunda ke thread lain yang terjadi nanti.
Render/PreRender/TweenServiceMemperbarui objek yang diselingkuh menggunakan TweenService dan memanggil panggilan panggilan penyelesaian, seperti yang digunakan disediakan ke TweenSize atau TweenPosition .Kurangi jumlah objek yang ditransisi menggunakan TweenService dan pastikan panggilan balasan melakukan sedikit pekerjaan mungkin.
Render/PreRender/UpdateUILayoutsMemperbarui posisi dan ukuran elemen UI.Kurangi jumlah elemen UI yang diubah ukurannya atau dipindahkan secara dinamis, seperti yang dikelola oleh UILayout.
Detak Jantung/TweenServiceDi server, objek diperbarui dengan TweenService. Di klien, ini dilakukan dalam langkah PreRender sebagai gantinya.Kurangi jumlah objek yang ditweened oleh TweenService .