Aşağıda, MicroProfiler'de kategorilere göre sıralanan yaygın etiketlerin bir listesi bulunmaktadır.Bu etiketleri anlamak, deneyiminizde sorunlu kodu tanımanıza yardımcı olabilir.Tablolar performansı artırmak ve deneyiminizi optimize etmek için etiket etiketi, açıklamalar ve performans tavsiyesi içerir.
Uyku
İplikler aktif olarak görev yapmadıklarında, ipliğin ne kadar süredir uyuduğunu gösteren etiketlerle bir uyku durumuna girerler.Herhangi bir zamanda, çoğu işçi işinin uyku durumunda olması son derece yaygındır.
AI/ navigasyon
Etikhet | Açıklama | Performans Önerileri |
---|---|---|
rasterizeTile'ı yapılandır | Bir yol bulma talepiçin gerekli güncelleme düğmeleri, genellikle bu düğmelerin güncel olması gereken computePath'ı takip eder.Ana işlemde NavigationJob/ön işleme izler. | Bu yolların yeniden hesaplanması gerektiğine neden olan yol bulma arayüzü ihlallerinin sayısını azaltın, çünkü bu, bu yolların hareket eden olmayan kısımlarından kaynaklanıyor. Bu, hareket eden olmayan parçalar nedeniyle meydana gelir. |
computePath İşlem yolu | Yolları hesaplar, genellikle rasterizeTile sonra. | ComputePath çağrıların sayı ve dünya sınırlarını azaltın.Yaklaşık olarak benzer konumlardan başlayıp bitmesi beklenen çok sayıda ajan için yolları yeniden kullanmayı deneyin. |
ön işleme/getPrimitivesOverlapping | Her yol bulma arayüzü için dünya geometrisini toplar ve yol bulma işlemi tarafından yürütülecek rasterleme görevlerinin planlanmasını sağlar. | Parça sayısını azaltın. |
Animasyon
Etikhet | Açıklama | Performans önerileri |
---|---|---|
Simülasyon/gameStepped | Oyun spesifik nesnelerin işlenmesi gibi Humanoids , Animations ve kalp atış geri çağrılarının işlenmesi | |
Simülasyon/gameStepped/StepLegacy | Humanoid durum değişiklikleri ve movement.Called adımHumanoid sunucuda şimdi (paralel versiyon) | Eğer sahipseniz, NPC'lerde Humanoid durumlarını devre dışı bırakın veya azaltın.Merdiven durumu devre dışı bırakmak için en önemlisidir.Geri çağrıları Humanoid.Died veya Humanoid.Running gibi durum değişikliklerine azalt |
Simülasyon/gameStepped/stepAnimasyon | Animators şu anda oynayan animasyonlarda ilerleyecek. | Bu adımın yükünü düşürmek için Animators veya animasyonlu eklemlerin miktarını azaltın.Geri çağrı sayısını AnimationTrack.KeyframeReached veya AnimationTrack.Ended gibi animasyon etkinliklerine azalt |
Simülasyon/oyunStepped/RunService.Stepped | RunService.Stepped etkinliğine bağlı işlevleri çalıştırır. | Bu olaya bağlı işlevlerin miktarını veya yükünü azaltın.Pahalı hesapları geciktirmeyi veya değiştirmeyi düşünün.Çok sayıda çerçeveye hesap yayılmasını düşünün. |
Sesi Düzenle
Etikhet | Açıklama | Performans önerileri |
---|---|---|
Ses | Ses ses: konumlar, etkiler, hacimler vb. | |
GeliştiriciEtiketi_Sesler | Hafızada Sesler: genellikle hafızaya girebilecek kadar kısa sesler. Genellikle kısa bir atış fx'si, uzun formda müzik değil. | Daha az kısa ses kullanın. |
GeliştiriciEtiketi_YayınSesleri | stream/StreamingSounds: bunlar diskten yayınlanan daha büyük seslerdir. Genellikle daha uzun biçimli müzik dosyaları. | Daha az uzun ses kullanın. |
Ağ Yönetimi
Etikhet | Açıklama | Performans önerileri |
---|---|---|
Net PaketAlımı | Ağ paketleri alır. Eğer birçok nesne veya etkinlik yeniden yapılıyorsa, bu adım daha uzun sürer. | Daha az nesne veya olay yeniden yapın. |
Replikatör/İşlem Paketleri | Hareket, etkinlik çağrıları ve özellik değişiklikleri gibi ağ paketlerinin içeriğini işler. | Kopyalanan nesnelerin sayısını veya boyutunu azaltın veya bunu artırılmış adımlarla yapın.Harita boyutu arttıkça artabilir, çünkü daha büyük haritalar genellikle daha fazla genel etkinliksahiptir. |
Bant genişliği ayır ve göndericileri/mesaj fiziği göndericilerini ve dokunma göndericilerini çalıştır | Deneyimdeki aktivite hakkında veriler gönderir. | Hareket eden nesne veya dokunma miktarını azaltın. Aşağıdaki bölümlere bakın. |
Bant genişliği ayır ve göndericileri/mesaj akışı işlevini çalıştır | Eşleşen özel bölgeleri "Yayın" özellikbelirli müşterilere gönderir. | Minimum ve hedef yayın menzilini azaltın. |
Bant genişliği atayın ve göndericileri/mesaj göndericilerini gönderin | Özellik değişiklikleri, uzaktan olaylar, Humanoid durum değişiklikleri ve animasyon başlangıç/durakları gönderir. | Veri modeline yapılan yinelenen değişiklik sayısını azaltın |
Replikatör Gönderici Klüsteri | Arazi verilerini müşterilere gönderir. | Arazi değişikliklerinin miktarını veya boyutunu azaltın. |
Model Tamamlanma Mega İş | Sadece sunucu: Tamamlanma içsel bir konsepttir. Modeller tamamen gönderildiğinde, model tamamlanma olayları hüküm | Daha az sayıda örnek ekleyin veya kaldırın. |
DeserializePaketi | Düşük seviye ağ paketi işlemi. Replicator İşlem Paketleri için hazırlar. | Daha az güncelleme gönderin. |
Kare hareketi
Etikhet | Açıklama | Performans notları |
---|---|---|
Hazırlamak | Bilgi ana işlemden toplanır ve görüntüleme için kullanılan çeşitli veri yapılarını günceller.Bu, simülasyon işlemlerini engeller, bu yüzden mümkün olduğunca küçük olmalıdır. | Aşağıdaki Etiketleri Hazırlayın bölümüne bakın. |
Hazırlayın/Pass3dAdorn | Nesnelerin üzerindeki metin etiketleri gibi çeşitli nesne süslemelerinin renderlanması. Bu adım, bu tür nesnelerin görülebilir olup olmadığını belirlemek için ışın atışı içerebilir. | Görünür süslenmiş nesne sayısını azaltın, örneğin BillboardGuis , Humanoid adı/sağlık etiketleri, vb. |
Hazırlayın/Pass2d | 2D UI görüntüleme hazırlanır (her iki oyuncu ve Roblox UI). | UI öğelerinin miktarını veya karmaşıklığını azaltın. |
Hazırlama/GüncellemeHazırlama/güncellemeGeçersizParçalar | Bazı özellikleri değiştirilen veya eklenen parçaları günceller. | Dünyadaki özellik değişikliklerinin miktarını azaltın. Eğer bir senaryo büyük bir nesne özellik setini güncelliyorsa, çerçeveler arasında bölün. |
Hazırlayın/GüncelleştirinHazırlayın/güncelleştirin Geçersiz hızlı gruplar | Geometriyi hazırlar, genellikle renderlamak için kullanılan "Hızlı Kümeler". Alt işaretçiler parça sayısını, vertexleri ve vertexlerin boyutunu belirtir. | Nesnelerin Humanoids olmayan altındaki 'Humanoid' kullanımını azaltın.Bu, çekme çağrılarını kısaltmak için kullanılmamalıdır, çünkü FastClusters çok daha fazla bellek tüketir. |
Hazırlama/GüncellemeHazırlama/güncellemeDinamikParçalar | Güncellemeler Humanoids günceller. | Hareket eden Humanoids veya görünen araçların sayısını veya karmaşıklığını azaltın.Aynı malzeme ve renk parçalarını birleştirerek veya MeshPart'a ekleyerek buna yardımcı olabilir. |
Hazırlayın/GüncelleştirinHazırlayın/güncelleştirinDağıtılmış Klüpler | İstemeli kodlanmayı kullanan statik geometriyi hazırlar (parçalar ve örüntü parçaları). "Kümeler" ve "Durumlar" etiketleri güncellenen sayıyı gösterir. | Genel olarak daha az dokuma ve malzeme çeşitliliği kullanın. Ayrıca benzer görünümlü nesneler kullanarak gruplar oluşturabilirsiniz - boyut, renk, malzeme. |
Yapın | Gerçek çizim komutları oluşturulduğunda ve verildiğinde. | Aşağıdaki etiketleri görün. |
Perform/fillGuiVertices yap/doldur | Arayüz görüntülenmesi. Düzeltmeler için arayüz kenarlarıyla arayüz sınırlarını doldurur. "Gui sayısı" etiketi, renderör listesindeki öğe sayısını gösterir. | Maliyet yüksekse, doğru bir şekilde gizlendiğinden emin olarak kullanılmadığında UI miktarını azaltın. miktarını azaltın. |
Gerçekleştir/Sahne/queryFrustumOrdered | Görünmeyen nesneler görüntülenmesin diye frustum toplama uygulanır. | Yüksek bir maliyet varsa, birçok eleman var demektir.Belki de tek bir meshe göre daha fazla ayrıntıya sahip bazı daha büyük meshlar kullanın, birçok küçük bireysel parçaya karşın. |
Gerçekleştir/Sahne/computLightingPerform | Kameranın yakınındaki aydınlatmanın hesaplanması. | Işık kaynağı sayısını manipüle et veya aydınlatmayı yeniden hesaplamak için gereken süreyi azaltmak için kamerayı daha az hareket ettir. |
Gerçekleştir/Sahne/IşıkHesaplamaGerçekleştir/IşıkAğıCPU | ve modlarında ve 4'ün altındaki kalite seviyelerinde kullanılan voksel aydınlatmasını günceller. | Yığın mevcutluk güncellemesi çok uzun sürerse, daha düşük çözünürlüklü geometri kullanmayı, parça sayısını azaltmayı veya parçaları sabitlemeyi düşünebilirsiniz.Diğer alt-işaretçiler çok uzun sürerse, ışık sayısını azaltmayı ve mekana hareket eden ve mekandan geçersiz kılan nesneler için gölge yansıtma geometrisi kullanmayı düşünün. |
Gerçekleştir/Sahne/IşıkHesaplaPerform/GölgeHaritaSistemi | Gölge haritalarını günceller. Kalite seviyeleri 4'ün altında veya ayarlandığında yapılmaz. | Aydınlatma Future olarak ayarlanmışsa, düşürünüz ShadowMap veya ışık sayısını azaltın.Ayrıca Light.Shadows ve BasePart.CastShadows gölgeleri daha az önemli durumlarda devre dışı bırakmak için kullanabilirsiniz.Bakın Performansı Geliştirme. |
Perform/Sahne/Işıklandırma, Renk Düzeltme, MSAA, SSAO ve SSAOApply | Sonraki işleme renderleme. | Sonraki işlem etkilerinin sayısını azaltın. Genellikle bu önemli değildir. |
Gerçekleştir/Sahne/UI | Arayüz kullanımı. Id_Screen'de, kullanılan batçı sayısı, malzeme ve üçgenlerin sayısına sahip bir etiket bulunur. | Görünen UI öğelerinin sayısını azaltın. CanvasGroups kullanmak, artırılmış hafıza kullanımı pahasına yardımcı olabilir. |
Perform/Scene/UpdateView/updateParticles, updateParticleBoundings yapın | Parçacık konumunu ve sınırlarını güncelle. | ParticleEmitters , emisyon oranları, ömürleri vb. sayısını azaltın Emisyon verenlerin hareketini sınırla. |
Id_Opaque | Sahnedeki şeffaflık değeri 0 olan parçalar. | |
Transparan Kimlik_Id_Transparent | Sahnedeki parçalar, 0'dan farklı bir transparans değeri ile. | Kısmi saydamlığın kullanımını azaltın (0 ve 1'den başka değerler). |
Id_Decal | Sahnedeki resimler. | |
Uygulayın/Sunun | GPU'nun önceki çerçeveyi renderlamasını bekler; aslında GPU'ya render komutları verir; düşük seviye grafik kaynaklarıyla ilgilenir. | genelolarak sahne karmaşıklığını azaltın. Bu adım uzun sürüyorsa, GPU tarafından sınırlandırılabilirsiniz. |
Gerçekleştir/Sun/Bitişine Kadar Bekle | GPU'nun önceki çerçeveyi renderlemeyi bitirmesini bekler. | Bu genel olarak çok oluyorsa, sunulan şeylerin miktarı çok yüksektir.FRM bunu dengelemeye yardımcı olur, ancak yüksek kalırsa, daha az detay kullanmayı deneyin. |
Senaryolar
Etikhet | Açıklama | Performans önerileri |
---|---|---|
Render/PreRender/fireBindToRenderSteppedCallbacks'ı oluştur | RunService:BindToRenderStep() aracılığıyla görüntüleme adımına bağlı işlevleri çalıştırma. | Kullanılan RunService:BindToRenderStep() fonksiyonlarının mümkün olduğunca az iş yapmasını sağlayın. |
Render/PreRender/RunService.RenderStepped'i görüntüle | RunService.RenderStepped etkinliğine bağlı işlevleri çalıştırır. | BindToRenderStep 'ye benzer şekilde, bu olayı kullanan işlevlerin mümkün olduğunca az çalışmasını sağlayın. |
Beklenen Karışık Kript İşi | Bekleme kullanarak bekleyen senaryoları yeniden başlatır. beklemeler. | Bu adım, bekleme senaryolarının çalıştırılması için bir uygulama süresi bütçesine sahiptir, bu nedenle çok fazla bekleme senaryosu veya verilmeden önce uzun bir süre çalışan senaryolar varsa, bu adım birden fazla alabilir |
LuaGC | Luau çöp toplama döngüsü. Etiket, toplam tahsis üzerindeki bellek tahminlerini ve ne kadarının tahsis edilmediğini sağlar. | Havuz lua tabloları ve diğer toplanabilir nesneleri veya geçici tablolar veya dize oluşturmayı azaltmayı deneyin |
Kalp atışı/RunService.Heartbeat | Fonksiyonları çalıştırır Class.RunService.Heartbeat``event.Talk simülasyon ve senaryo bağlantılarına bağlı çalıştırır. Mevcut açıklama yanlış olmayacak kadar geneldir | RunService.Heartbeat'e bağlı işlevlerin miktarını veya yükünü azaltın. |
Simülasyon
Etikhet | Açıklama | Performans önerileri |
---|---|---|
Dağıtılmış Fizik Sahipliği | Sunucunun veya bir istemcinin parçalar gibi belirli durumlara yetki sahibi olup olmadığını belirler. | Dağıtılmış Fizik Sahipliği. |
Simülasyon/birleştirme | Fizik motoru tarafından kullanılan bir dizi bağlı nesneyi günceller. | Oluşturulan veya yok edilen ortak sayısını azaltın. |
Simülasyon/fizikSteppedTotal/physicsStepped | Fizik simülasyonunu yürütür. | Fiziksel olarak simüle edilen vücut miktarını ve karmaşıklığını azaltın. |
Simülasyon/fizikSteppedTotal/fizikStepped/UzayFiltresi/filtreAdımı | Simülasyon adalarını günceller, parçaları ağ sahipliğine göre düzenler, yerel simülasyon.Adalar, bağımsız olarak simüle edilebilen parça gruplarının etkileşimsiz olduğu gruplardır. | Ağ sahipliğini sık sık ayarlamaktan kaçının. Parçalar grubunu birbirinden yeterince uzak tutun, böylece ayrı ayrı simüle edilebilir. |
Simülasyon/fizikSteppedTotal/fizikStepped/dünyaAdım/adımKişiler | Nesneler arasındaki güncellemeleri temsil eder. | Aynı anda çarpışan vücut miktarını azaltın veya daha basit çarpışma kutuları kullanın. Küpler karmaşık dokulardan daha iyidir. |
Simülasyon/fizikSteppedTotal/fizikStepped/dünyaAdım/stepWorld VEYA stepWorldThrottled | Konektörler, yüzdürme ve Humanoids ile ilgili fizik eşitliklerini çözer.Motor aşırı yüklendiğinde ve gerçek zamanlı olarak her şeyi simüle edemediğinde, bazı adımlar sınırlandırılabilir (stepWorldThrottled) ve sadece Humanoids gibi "gerçek zaman montajları" simüle edilir. | Aşağıdaki üç faz bazında zamanın gideceği yere bağlıdır: stepContacts: dar faz çarpışma algılama geometrisi testleri.Çözücü adım: zamanı entegre et ve çarpışma ve diğer kısıtlayıcıların güncellemesini çözünBroad阶: montajların çarpışma algılama sistemindeki konumlarını güncelle ve muhtemelen çarpışan dar faz çiftlerini bul. |
Taşınabilir Birleşimleri Bildirin | Primitiflerin ne kadar süredir uyuduğunu izlemeye yardımcı olur. | |
Simülasyon/fiziğiAdımAdımToplam/fiziğiAdımAdım/aralıklıBağlıMontajlar | Bu ağdan kontrol edilmeyen montajları çözümler. | Bunu azaltmak için parçaların ağ sahibini bu eşe ayarlayın; ancak bu genellikle başka bir yerde daha fazla fizik çalışması yapılmasına neden olacaktır. |
Simülasyon/ handleFallenParts | Workspace/FallenPartsDestroyHeight'in altına düşen parçaları kaldırır. | Yok etme yüksekliğini düşür veya yok etme yüksekliğine düşen parça sayısını azalt. |
Kalp atışı/kalp atışıInternal/çalışma alanında kalp atışı/güncellemeGörsel olarak uyuyor | Hareket Bildirme Bileşenlerinin ikinci kısmı. | |
Kalp atışı/RunService.Heartbeat | Fonksiyonları çalıştırır Class.RunService.Heartbeat``event.Talk simülasyon ve senaryo bağlantılarına bağlı çalıştırır. Mevcut açıklama yanlış olmayacak kadar geneldir | RunService.Heartbeat 'ye bağlı işlevlerin miktarını veya yükünü azaltın. |
worldStep/StepContacts dünya adımı/Adım temasları | Fiziği simülasyon adımı bir anda birçok temasa yardımcı olur. | Çarpışan nesne sayısını azaltın. |
SolveBatch | Fizik simülasyonunun nesnelerin hareketlerini toplu olarak çözmesine yardımcı olur. | |
Mekanizma Sarmalama | InterpolateNetworkAssemblies ile yardımcı olur. |
UI
Etikhet | Açıklama | Performans önerileri |
---|---|---|
Render/PreRender/GüncellemeGirişi | Kullanıcının son çerçeveden beri giriş yaptığında tüm kullanıcı girişi ile ilgili olaylar güncellenir ve ateş edilir. | Kullanıcı girişiyle ilgili olayların ateşleneceği andır.Giriş aldığınızda doğrudan çok fazla iş yapmaya çalışmak önemlidir.Giriş için minimum miktarda işlem yapmayı düşünün ve daha büyük hesaplamalar daha sonra gerçekleşecek başka bir iş parçasına itilmelidir. |
Görüntüleme/Ön Görüntüleme/Geçiş Servisi | Güncelleniyor nesneler ve kullanılarak çağrılır ve sağlananlara benzer tamamlanma geri çağrıları yapılır. | TweenService kullanarak geçiş yapılan nesne sayısını azaltın ve geri çağrıların olabildiğince az iş yapmasını sağlayın. |
Render/PreRender/UpdateUILayoutları | UI öğelerinin konumunu ve boyutunu günceller. | UILayout tarafından yönetilenler gibi, dinamik olarak yeniden boyutlandırılan veya yeniden konumlandırılan UI öğelerinin miktarını azaltın. |
Kalp atışı/TweenService | Sunucuda, TweenService ile kısaltılan nesneler güncellenir. Kliente üzerinde, bunun yerine bir PreRender adımında yapılır. | Nesnelerin azaltılan miktarını TweenService tarafından azaltın. |