Aşağıda, MicroProfiler'da kullanılan çok kullanılan etiketlerin bir listesi bulunmaktadır, kategoriye göre gruplandırılmış. Bu etiketleri anlamak, deneyiminizdeki problemli kodu belirlemenize yardımcı olabilir. Tablolar, etiket etiketleri, açıklamalar ve performans tavsiyeleri içerir.
AI/Navigasyon
Etiket | Açıklama | Performans İpuçları |
---|---|---|
rasterizeTile | Genellikle yol gösterme talepiçin gerekli yol bulma sayfalarını günceller, genellikle bu sayfaların güncel olmasını gerektiren update ile takip edilir. NavigationJob/pre処理'yi/yol görüşü/yol görüşü/yol görüşü/yol görüşü/yol görüşü/yol görüşü/yol görüşü/yol görüşü/yol görüşü/yol görüşü/yol görüşü/yol görüşü/yol görüşü/yol görüş | Yol bulma sayısını azaltır, çünkü bu yolların yeniden hesaplanması gerektiğine neden olur. Bu, yol bululabilir parçalar hareket ettirilmesi nedeniyle oluşur. |
yol hesap et | Yolları hesaplar, genellikle rasterizeTile sonra. | ComputePath çağrılarının numarasını ve dünya çıkışlarını azaltın. Yaklaşık olarak aynı konumlardan başlayıp/bitmesi beklenen birkaç ajan için yolları tekrar kullanmayı deneyin. |
ön işlem/getPrimitivesOverlapping | Her yol bulma karesi için dünya geometrisini toplar ve yol bulma işlemlerinin çalıştırılmasını planlar. | Parça sayısını azaltın. |
Animasyon
Etiket | Açıklama | Performans İpuçları |
---|---|---|
Simülasyon/OyunStepped | Oyun spesifik objeleri işleniyor, örneğin Humanoids, Animations ve kalp atışı geri bildirimleri | |
Simülasyon/OyunStepped/StepLegacy | Humanoid devlet değişiklikleri ve movement.Called artık sunucuda yürüyüşHumanoid (paralel versiyon) | NPC'lerde Humanoid durumlarını devre dışı bırakın veya azaltın, ifade bırakın. Merdiven devresi en önemlidir. Reddetmeyi en önemlisi, bunun gibi devre değişikliklerine izin vermeyi azaltın. |
Simülasyon/OyunStepped/stepAnimation | Animators ilerleyecek şimdi animasyon oynatıyor. | Bu adımın iş yükünü azaltmak için Animators veya animasyon birleşiklerinin miktarını azaltın. AnimationTrack.KeyframeReached veya AnimationTrack.Ended gibi animasyon etkinliklerinin sayısını azaltmak için çağrıları azaltın. |
Simülasyon/OyunStepped/RunService.Stepped | Class.RunService.Stepped etkinliğine bağlı işlevleri çalıştırır. | Bu olaya bağlanan işlevlerin miktarını veya iş yükünü azaltın. Pahalı hesapları yerleştirmeyi veya yerleştirmeyi düşünün. Ayrıca, çok sayıda kareyi kapsayan hesapları genişletmeyi düşünün. |
Ses
Etiket | Açıklama | Performans İpuçları |
---|---|---|
Ses | Ses ses: konumlar, etkiler, hacimler vb. | |
GeliştiriciTag_Sesler | Hafıza İçi Sesler: genellikle hafıza içine girecek kadar kısa sesler. Genellikle tek bir vuruş fx'i, uzun formlu müzik değil. | Daha az kısa ses kullanın. |
DeveloperTag_StreamingSounds | stream/StreamingSounds: bu, disktan yayınlanan daha büyük seslerdir. Genellikle uzun biçimli müzik dosyalarıdır. | Daha az uzun sesler kullanın. |
Ağlar
Etiket | Açıklama | Performans İpuçları |
---|---|---|
Net Paket Alma | Ağ paketlerini alır. Çok sayıda nesne veya etkinliğin yeniden yapılması durumunda, bu adım daha uzun sürer. | Daha az nesne veya etkinliği klon et. |
Replikatör/İşlem Paketleri | Hareket, etkinlik çağrıları ve özellik değişiklikleri gibi ağ paketlerinin içeriğini işleyen işlemler. | Yeniden yerleştirilen nesnelerin sayısını veya boyutunu azaltın veya bunu artırıcı adımlar olarak yapın. Harita boyutu arttıkça, daha büyük haritaların daha fazla genel etkinliksahip olduğu görülür. |
Bant Genişliğini Dağıt ve Göndericileri/Dağıtıcıları ve Dokunmatik Göndericileri | Aktivite hakkında veriler gönderir. | Hareketli nesnelerin ve/veya dokunma sayısını azaltın. Aşağıdaki bölümleri görün. |
Bant Genişliğini Ayrıntı ve Gönderici/Dağıtıcı İşi | “Yayınlanma” özellikbelirli bölgeleri belirli istemcilere gönderir. | Minimum ve hedef akışı radyosunu azaltın. |
Bant Genişliğini Ayrıntı ve Gönderici/Verici Verilerini Açıkla | Özellik değişikliklerini, uzaktan etkinlikleri, Humanoid devlet değişikliklerini, animasyon başlangıç/duraklarını gönderir. | Veri modeline kopyalanan değişikliklerin sayısını azaltın |
Yer Klüpü | Arazi verilerini müşterilere gönderir. | Terrain değişikliklerinin miktarını veya boyutunu azaltın. |
ModelCompleteness Mega İş | Sadece sunucu: Tamamlık bir içeriktir. Modeller tamamen gönderildiğinde, tamamlık etkinlikleri hüküm | Daha fazla veya daha az istanza ekleyin veya kaldırın. |
Deserial Paket | Düşük seviyeli ağ paketi işleme. Replicator ProcessPackets için hazırlanır. | Daha az güncelleme gönderin. |
Oluşturulan Rendering
Etiket | Açıklama | Performans Notları |
---|---|---|
Hazırlan | Ana ithread'den bilgi toplanır ve render için kullanılan çeşitli veri yapılarını günceller. Bu, simülasyon ithread'lerini bloklar, bu yüzden olabildiğince küçük olmalıdır. | Aşağıdaki Etiketleri Göster'e bakın. |
Hazırlan/Pass3dAdorn | Nesnelerin üzerindeki görsel süslemeleri gibi metin etiketleri gibi çeşitli nesne süslemelerini renderler. Bu adım, bu nesnelerin görünür olup olmadığını belirlemek için raycasting'i destekleyebilir. | Görünür süslenmiş nesnelerin sayısını azaltın, bunlar BillboardGuis, Humanoid isim/sağlık etiketleri gibi, vb. |
Hazırlan/Pass2d | 2D UI render ( hem oyuncu hem de Roblox UI ) hazır. | Etkiliyici öğelerin miktarını veya karmaşıklığını azaltın. |
Hazırlama/GüncellemeHazırlama/güncellemeInvalidParts | Değiştirilen veya eklenen özelliklere sahip olan bazı parçaları günceller. | Dünyadaki özellik değişikliklerinin miktarını azaltın. Eğer bir kod büyük bir özellik setini güncellerse, bunu çerçeveler arasında kırılır. |
Hazırlama/GüncellemeHazırlama/güncellemeInvalidatedFastClusters | Geometriyi hazırlar, genellikle Humanoids render etmek için kullanılan "FastClusters". Alt İşaretler, parçaların, köşelerin ve boyutlarını belirtir. | Reduce the use of 'Humanoids' under objects that are not Humanoids . This should not be used to shorten draw calls as FastClusters consume much more memory. |
Hazırlama/GüncellemeHazırlama/ updateDynamicParts | Humanoids , araçlar ve diğer hareketli instanslarınız için render için pozisyonları güncelliyor. | Görünür olan hareketli Humanoids veya araçların sayısını veya karmaşıklığını azaltın. Parçaları aynı malzeme ve rengin birliğine veya MeshPart'a birleştirmek bununla ilgili yardımcı olabilir. |
Hazırlama/GüncellemeHazırlama/güncellemeInstancedClusters | İstemci renderi kullanan statik geometriyi hazırlar (parçalar ve mesafe parçaları). "Kümeler" ve "İstemeler" etiketleri güncellenen sayıyı gösterir. | Daha az genel malzeme ve malzeme değişikliğini kullanın. Ayrıca, benzer görünümlü nesneleri kullanarak kümeler oluşturabilirsiniz - büyüklük, renk, malzeme. |
Yap | Gerçek render komutları oluşturulduğunda ve yayınlandığında. | Aşağıdaki Etiketleri görün. |
Perform/FillGuiVertices | Arayüz görüntülenmesi. Eşyalar için UI köşeleriyle dolu büfeleri doldurur. "Gui count" etiketi, renderer listesindeki elemanların sayısını gösterir. | Eğer maliyet yüksekse, kullanılmadığından emin olarak gizlendiğinden emin olarak UI'nin güncellenmesini azaltın. |
Perform/Scene/queryFrustumOrdered | Görünmez olan nesnelerin görünmesini sağlar. | Yüksek bir maliyet varsa, birçok eleman olduğu anlamına gelir. Belki de tek bir küçük parçadan daha fazla ayrıntıya sahip bazı daha büyük kuşeletler kullanın. |
Performans/Sahne/computerLightingPerform | Kameranın yakınındaki aydınlanma hesabı. | Işık kaynağı sayısını yönetmek veya kamerayı daha az hareket ettirerek ışıklandırmayı yeniden hesap etmenin zamanını azaltın. |
Perform/Scene/computerLightingPerform/LightGridCPU | Updates the voxel lighting, which is used in Voxel and ShadowMap modes and at quality levels below 4 in Future mode. | Parça kapasitesini güncelleme çok uzun sürüyorsa, daha düşük çözünürlükte geometri kullanmayı, parçaların sayısını azaltmayı veya parçaları bağlantı olarak kullanmayı düşünün. Diğer alt etiketler çok uzun sürüyorsa, kapasitesi değiştirmeyi ve gölgelenmeyi kullanmayı düşünün. |
Perform/Scene/computerLightingPerform/ShadowMapSystem | Gölge haritalarını güncellir. Kalite seviyeleri 4'ten düşük veya Class.Lighting.Technology``Enum.Technology|Voxel olarak ayarlandığında yapılmaz. | Aydınlatma Future olarak ayarlandıysa, onu ShadowMap ile düşür veya ışık sayısını azalt. Çekirdek kısmında Light.Shadows ve 1> Class.BasePart.CastShadows1> kullanı |
Perform/Scene/Glow, ColorCorrection, MSAA, SSAO ve SSAOApply'i yerine getirin | Post-Processing görüntüsü. | Post-Processing etkilerinin sayısını azaltın. Bu genellikle önemli değildir. |
Gerçekleştir/Sahne/Arayüz | Arayüz görüntüsü. Id_Screen'de, kullanılan bütünleşik malzeme, malzeme ve üçgenlerin sayısıyla ilgili bir etiket var. | Görünen UI öğelerinin sayısını azaltın. CanvasGroups kullanarak, artan hafıza kullanımından ödünç alabilirsiniz. |
Perform/Scene/UpdateView/updateParticles, updateParticleBindings | Parçacık konumunu ve sınırlarını güncelle. | Class.ParticleEmitter|ParticleEmitterters sayısını azaltın, emisyon oranları, ömürleri vb. Emisyonların hareketini sınırlayın. |
Id_Opak | 0.透明 değeri olan sahnenin parçaları. | |
Şeffaf_ID | 0'dan başka bir görünürlük değeri olan sahnedeki parçalar. | Parzial transparansite (0 ve 1'ten başka değerler) kullanımını azaltın. |
Decal_Id | Sahnenin içindeki görüntüler. | |
Yap/Sun | Önceki kareyi render etmeyi tamamlayana kadar bekleyin; aslında render komutlarını GPU'ya verir; düşük seviyeli grafik kaynaklarıyla ilgilenir. | genelolarak sahne karmaşıklığını azaltın. Bu adım uzun sürüyorsa, GPU tarafından sınırlı olabilirsiniz. |
Perform/Present/waitUntilCompleted | Önceki kareyi render etmek için GPU'nun bitmesini bekler. | Eğer bu genellikle çok olursa, görüntülenen şeylerin miktarı çok yüksek olur. FRM bunu dengelemek için yardımcı olur, ancak yüksek kalırsa, daha az ayrıntı kullanmayı deneyin. |
Kodlar
Etiket | Açıklama | Performans İpuçları |
---|---|---|
Render/PreRender/fireBindToRenderSteppedCallbacks | Class.RunService:BindToRenderStep() ile adlandırılan işlevlerin render etme adımı bağlantısı. | Class.RunService:BindToRenderStep() kullanan işlevlerin işlevleri olabildiğince az çalışmasını sağlayın. |
Render/PreRender/RunService.RenderStepped | Class.RunService.RenderStepped etkinliğine bağlı işlevleri çalıştırır. | BindToRenderStep ile benzer, işlevleri olabildiğince az iş yapmak suretiyle işlevleri kullanın. |
BekleniyorHybridScriptJob | Bekleme kayıtlarını kullanarak bekleyen komutları toplar. | Bu adımın yürütme süresi, bekleyici senaryoları veya uzun bir yürütme süresi olan kodları çalıştırmak için bir yürütme süresi bütçesine sahiptir, bu yüzden çok fazla bekleyici senaryosu veya yürütme süresi uzun olan kodlar varsa, bu adım birden fazla yürütmeyi destekleyebilir |
LuaGC | Lua çöp toplama döngüsü. Etiket, toplam ayrılımın ve kaçın deyalok edildiğini gösteren bellek tahminleri sağlar. | Pool lua tabloları veya diğer toplanabilir nesneleri veya geçici tablolar veya yazılar oluşturmaya çalışın |
Heartbeat/RunService.Heartbeat | Klas.RunService.Heartbeat'e bağlı işlevleri Class.RunService.Heartbeat``event.Talk ile simülasyon ve kod teması için çalıştırır. Mevcut açıklama yeterince genel olarak yanlış olmayacak şekilde yanlış olmayacaktır | RunService.Heartbeat'e bağlanan işlevlerin miktarını veya iş yükünü azaltın. |
Simülasyon
Etiket | Açıklama | Performans İpuçları |
---|---|---|
Dağıtık Fiziklerin Sahiplenmesi | Sunucunun veya bir istemcinin bazı durumlarda parçalar gibi belirli istanzlar üzerinde otoritesi olup olmadığını belirler. | Dağıtık Fiziklerin Sahiplenmesi |
Simülasyon/kazıtma | Fiziksel motorun kullandığı bağlantılı nesnelerin (kayıtlar) ağını günceller. | Oluşturulan veya yok edilen ortakların miktarını azaltın. |
Simülasyon/fiziklerSteppedTotal/fiziklerStepped | Fizikleri simüle eder. | Fiziksel olarak simüle edilen bedenlerin miktarını ve karmaşıklığını azaltın. |
Simülasyon/fiziklerSüperToplam/fiziklerSüperToplam/fiziklerSüperToplam/fiziklerSüperToplam/fiziklerSüperToplam/fiziklerSüperToplam/fiziklerSüperToplam/fiziklerSüperToplam/fiziklerSüperToplam/fiziklerSüperToplam/fiziklerSüperToplam/fiziklerSüperToplam/fiziklerSüperToplam/fiziklerSüperToplam/fiziklerSüperToplam/fiziklerSüperToplam/fiziklerSüperToplam/fiziklerSüperToplam/fiziklerSüperToplam/fiziklerSüperToplam/fizikler | Ağ sahipliğine göre parçaları düzenler, yerel simülasyon. Adalar bağımsız olarak simüle edilebilen parçaların gruplarıdır. | Ağ sahibi olmayı sık sık ayarlamayın. Grupların birbirinden uzakta tutulmasını sağlayın, böylece ayrı ayrı simüle edilebilir. |
Simülasyon/fiziklerSteppedTotal/fiziklerStepped/worldStep/stepContacts | Kontrolleri nesneler arasında günceller. | Aynı anda çarpışan beden sayısını azalt veya daha basit çarpışma kutuları kullan. Küpler karmaşık malzemelerden daha iyidir. |
Simülasyon/fiziklerSteppedTotal/fiziklerStepped/worldStep/stepWorld VEYA stepWorldThrottled | Konektörler, yüzlük ve Humanoids ile ilgili fiziksel denklemleri çözmeyi kullanır. Motor aşırı yüklendiğinde ve her şeyi gerçek zamanlı olarak simüle edemediğinde, bazı adımlar azaltılabilir (steppWorldThrottled) ve sadece Class.Humanoid|Humanoids | Aşağıdaki üç fazlı süre işleyişine bağlı olarak saatin nereye gittiğine bağlı olarak bağımlıdır: stepContacts: geniş faz çarpışma algılama geometrisi testleri. Solver step: saati entegre et ve çarpışma kısıtlama güncellemelerini güncelleme geniş faz: çarpışma kısıtlama güncellemelerini güncelleme ve olası çarpışma kısıtlama güncellemelerini günc |
Hareketli Parçaları Bildir | Primitiflerin kaç saniye uyuduğunu izlemek için yardımcı olur. | |
Simülasyon/fiziklerSteppedTotal/fiziklerStepped/interpolateNetworkedAssemblies | Bu ağ üyesi tarafından kontrol edilmeyen montajları işaret eder. | Bu, ağın kısımlarının sahibini bu görevi azaltmak için bu görevi azaltmak için; ancak bunun genellikle başka yerlerde daha fazla fiziksel işin yapılmasına neden olacağını. |
Simülasyon/takılma düşmüş parçalar | Workspace/FallenPartsDestroyHeight altında düşen parçaları kaldırır. | Yok etme yüksekliğini düşürür veya yok etme yüksekliğine düşen parçaların miktarını azaltır. |
Heartbeat/heartbeatInternal/workspaceOnHeartbeat/updateVisuallySleeping | NotifyMovingAssemblies'in ikinci kısmı. | |
Heartbeat/RunService.Heartbeat | Klas.RunService.Heartbeat'e bağlı işlevleri Class.RunService.Heartbeat``event.Talk ile simülasyon ve kod teması için çalıştırır. Mevcut açıklama yeterince genel olarak yanlış olmayacak şekilde yanlış olmayacaktır | Reduce the amount or workload of functions connected to RunService.Heartbeat . |
worldStep/AdımKontakları | Fiziksel simülasyon adımlarını birden fazla temas noktasına yardımcı olur. | Çarpışan nesnelerin sayısını azaltın. |
Çözüm | Fiziksel simülasyonun, nesnelerin hareketini gideren gruptaki nesneleri çözmesine yardımcı olur. | |
Mekanizma İterasyonu | InterpolateNetworkAssemblies'e yardımcı olur. |
Kullanıcı Arayüzü
Etiket | Açıklama | Performans İpuçları |
---|---|---|
Render/PreRender/UpdateInput | Kullanıcı son karetten itibaren giriş yaptıysa tüm kullanıcı girişi ile ilgili olayları günceller ve ateş eder. | Kullanıcının girdi ile ilgili olan etkinlikler için bu sırada olaylar ateşlenir. Girdi alındığında çok fazla iş yapmaya çalışmak önemlidir. Girdi için minimum işlem miktarını belirlemek ve daha sonra oluşturulan diğer thread için daha büyük hesaplar için işlemlerin gecikmesi olasıdır. |
Render/PreRender/TweenService | Class.TweenService kullanılarak oluşturulan nesneleri tween eder ve çağrı tamamlayıcılarını arar, bunlar TweenSize veya TweenPosition gibi. | TweenService'ı kullanarak tween edilen nesnelerin sayısını azaltın ve çağrıların olabildiğince az iş yaptığından emin olun. |
Render/PreRender/UpdateUILayouts | UI elemanlarının konumunu ve büyüklüğünü günceller. | Class.UILayout tarafından yönetilen UI elemanlarının boyutunu veya konumunu dinamik olarak azaltın. |
Kalp atışı/TweenService | Sunucuda, TweenService ile oluşturulan nesneler güncellenir. Klientte, bunun yerine bir Ön İşleme adımında yapılır. | Class.TweenService ile oluşturulan nesnelerin miktarını azaltın. |