Riferimento alla tag

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

Questo è un elenco di tag comuni nel MicroProfiler, ordinato per categoria.Capire questi tag può aiutarti a identificare il codice problematico nella tua esperienza.Le tabelle contengono Etichettadi tag, descrizioni e consigli sulle prestazioni per migliorare le prestazioni e ottimizzare la tua esperienza.

Sonno

Quando i thread non stanno eseguendo attivamente compiti, entrano in uno stato di sonno, con tag che indicano quanto tempo il thread è stato inattivo.In qualsiasi momento, è estremamente comune che la maggior parte dei thread lavoratori sia in uno stato di sonno.

AI/ navigazione

EtichettaDescrizioneConsigli di performance
rasterizeTileAggiorna le piastrelle di navigazione necessarie per una Richiestadi ricerca di percorso, solitamente seguita da computePath che richiede che tali piastrelle siano aggiornate.Segue NavigationJob/preprocess sul Filoprincipale.Riduci il numero di invalidazioni di ricerca del percorso, poiché questo causa il bisogno di ricomputare tali percorsi. Questo è causato dal movimento di parti non navigabili.
computePath

Calcola i percorsi, tipicamente dopo rasterizeTile .

Riduci il numero e le estensioni mondiali delle chiamate ComputePath .Prova a riutilizzare i percorsi per più agenti se sono previsti di iniziare/finire da luoghi approssimativamente simili.
preprocess/getPrimitivesOverlappingRaccoglie la geometria del mondo per ogni tile di pathfinding e programma le attività di rasterizzazione da eseguire dal Filodi pathfinding.Riduci il conteggio delle parti.

Animazione

EtichettaDescrizioneConsigli di performance
Simulazione/gameSteppedElaborazione di oggetti specifici del gioco come Humanoids , Animations e richiami di battito cardiaco
Simulazione/gameStepped/StepLegacyHumanoid stati di modifica e movement.Called stepHumanoid sul server ora (versione parallela)Disabilita o riduci gli stati Humanoid su NPC, se li hai.Lo stato della scala è più importante da Disattivare.Riduci le richieste di ritorno alle modifiche di stato come Humanoid.Died o Humanoid.Running
Simulazione/gameStepped/stepAnimationAnimators avrà un passo avanti nelle animazioni in riproduzione attualmente.Riduci la quantità di Animators o articolazioni animata per ridurre il carico di lavoro di questo passaggio.Riduci il numero di richiami a eventi di animazione come AnimationTrack.KeyframeReached o AnimationTrack.Ended
Simulazione/gameStepped/RunService.SteppedEsegue le funzioni connesse all'evento RunService.Stepped .Riduci la quantità o il carico di funzioni connesse a questo evento.Considera il ritardo o la sostituzione di calcoli costosi.Considera la diffusione della computazione su più frame.

Audio

EtichettaDescrizioneConsigli di performance
SuonoElaborazione audio/suono: luoghi, effetti, volumi, ecc.
Tag sviluppatore_SoundsSuoni in memoria: suoni generalmente brevi che sono abbastanza piccoli da entrare in memoria. Di solito fx one-shot breve, non musica a lunga forma.Usa meno suoni brevi.
Tag sviluppatore_StreamingSoundsstream/StreamingSounds: questi sono suoni più grandi che vengono trasmessi dal disco. Generalmente file musicali di lunga forma.Usa meno suoni lunghi.

Reti

EtichettaDescrizioneConsigli di performance
Ricezione del pacchetto nettoRiceve pacchetti di rete. Se vengono replicati molti oggetti o eventi, questo passo richiede più tempo.Replica meno oggetti o eventi.
Replicatore/ProcessPacketsElabora i contenuti dei pacchetti di rete, come le mosse, le richieste di eventi e le modifiche delle proprietà.Riduci il numero o la dimensione degli oggetti in riproduzione, o fallo in passi incrementali.Può aumentare se la dimensione della mappa aumenta, poiché le mappe più grandi tendono ad avere più attività complessiva.
Assegnare la larghezza di banda e eseguire mittenti/fisici di spedizione e TouchSendersInvia dati sull'attività nell'esperienza.Riduci la quantità di oggetti in movimento e/o tocchi. Vedi le seguenti sezioni.
Assegnare la larghezza di banda e eseguire mittenti/streamjob di spedizioneInvia regioni corrispondenti a client specifici nella Proprietà"Streaming".Riduci il raggio minimo e target di streaming.
Assegnare la larghezza di banda e eseguire mittenti/ mittenti di dati di spedizioneInvia modifiche di proprietà, eventi remoti, cambiamenti di stato umanoidi, avvio/stop di animazione.Riduci il numero di modifiche replicate al modello di dati
Replicator SendClusterInvia dati del terreno ai client.Riduci la quantità o la dimensione dei cambiamenti del terreno.
ModelCompleteness Mega LavoroSolo server: la completezza è un concetto interno. Quando i modelli vengono completamente inviati, vengono inviati eventi di completamento del modello.Aggiungi o elimina meno istanze.
Pacchetto DeserializeElaborazione del pacchetto di rete di basso livello. Prepara per i processi di Replicator.Invia meno aggiornamenti.

Rendimento

EtichettaDescrizioneNote di performance
PreparareLe informazioni vengono raccolte dal thread principale e aggiornano varie strutture di dati utilizzate per il rendering.Questo blocca i thread di simulazione, quindi dovrebbe essere il più piccolo possibile.Vedi Prepara le etichette qui sotto.
Preparare/Pass3dAdornRendering di varie decorazioni di oggetti, come etichette di testo sopra gli oggetti. Questo passo può includere il raycasting per determinare se tali oggetti sono visibili.Riduci il numero di oggetti decorati visibili, come BillboardGuis , Humanoid etichette nome/salute, ecc.
Preparare/Pass2dPrepara il rendering dell'interfaccia utente 2D (sia del giocatore che dell'interfaccia utente Roblox).Riduci la quantità o la complessità degli elementi UI.
Preparare/AggiornaPreparare/aggiornaParti non valideAggiorna le parti che hanno avuto qualche proprietà cambiata o aggiunta.Riduci la quantità di modifiche delle proprietà sul Mondo. Se uno script aggiorna un grande set di proprietà degli oggetti, spezzalo attraverso i frame.
Preparare/AggiornaPreparare/aggiornaInvalidatedFastClustersPrepara la geometria, tipicamente "FastClusters" utilizzati per rendere Humanoids . I sottomarcatori specificano il numero di parti, vertici e dimensione dei vertici.Riduci l'uso di 'Humanoids' sotto oggetti che non sono Humanoids .Questo non dovrebbe essere utilizzato per abbreviare le chiamate di disegno poiché i FastClusters consumano molta più memoria.
Preparare/AggiornaPreparare/aggiornaDynamicPartsAggiorna le posizioni per Humanoids , veicoli e altre istanze in movimento per il rendering.Riduci il numero o la complessità della movimentazione di Humanoids o veicoli visibili.Unire parti dello stesso materiale e colore in un'unione o in una MeshPart può aiutare con questo.
Preparare/AggiornaPreparare/aggiornaI cluster istanziatiPrepara la geometria statica che utilizza il rendering istanziato (parti e parti mesh). Le etichette "Cluster" e "Instance" indicano il numero aggiornato.Usa meno variazioni di mesh e materiale complessivamente. Puoi anche creare cluster utilizzando oggetti che hanno apparenze simili - dimensione, colore, materiale.
EseguireQuando vengono creati e emessi comandi di rendering effettivi.Vedi Etichette di esecuzione qui sotto.
Esegui/riempimentoGuiVerticiRendering dell'interfaccia utente. Riempe i buffer con vertici dell'interfaccia utente per adorni. L'etichetta "Gui count" indica la quantità di elementi nella lista del rendering.Se il costo è elevato, riduci la quantità di interfaccia utente aggiornata disabilitandola quando non viene utilizzata assicurandosi che sia nascosta correttamente.
Esegui/Scena/queryFrustumOrdinatoApplica la selezione del frustum in modo che gli oggetti non visibili non vengano resi.Se c'è un alto costo, significa che ci sono molti elementi.Forse usa alcune maggiori maglie in cui una singola maglia ha più dettagli rispetto a molte piccole parti individuali.
Esegui/Scena/ computeLightingPerformCalcolo dell'illuminazione vicino alla Telecamera.Manipola il numero di sorgenti luminose o sposta la fotocamera meno per ridurre il tempo necessario per ricalcolare l'illuminazione.
Esegui/Scena/ computeLightingPerform/LightGridCPUAggiorna la luce dei voxel, che viene utilizzata in Voxel e ShadowMap modi e a livelli di qualità inferiori a 4 in Future modo.Se l'aggiornamento dell'occupazione del chunk richiede troppo tempo, considera di utilizzare una geometria di risoluzione inferiore, ridurre il numero di parti o ancorare le parti.Se gli altri sottomarcatori richiedono troppo tempo, considera di ridurre il numero di luci e di utilizzare la geometria di lancio non ombra per gli oggetti che si muovono e invalidano l'occupazione.
Esegui/Scena/ computeLightingPerform/ShadowMapSystemAggiorna le mappe dell'ombra. Non eseguito a livelli di qualità inferiori a 4 o quando Lighting.Technology è impostato su Voxel .Se l'illuminazione è impostata su Future , abbassala su ShadowMap o riduci il numero di luci.Puoi anche usare Light.Shadows e BasePart.CastShadows per disabilitare il lancio delle ombre su istanze meno importanti.Vedi Miglioramento delle prestazioni .
Esegui/Scena/Glow, Correzione del colore, MSAA, SSAO, e SSAOApplyRenderizzazione post-processing.Riduci il numero di effetti di post-elaborazione. Di solito questo non è significativo.
Esegui/Scena/UIRendering dell'interfaccia utente. In Id_Screen, c'è un'etichetta con il numero di batch, materiali e triangoli utilizzati.Riduci il numero di elementi UI visibili. L'utilizzo di CanvasGroups può aiutare a spese di un aumento dell'uso della memoria.
Esegui/Scena/AggiornaVisuale/aggiornaParticelle, aggiornaParticelleLimitazioniAggiorna la posizione e i confini delle particelle.Riduci il numero di ParticleEmitters , tassi di emissione, tempi di vita, ecc. Limita il movimento degli emittenti.
Id_OpaqueParti nella scena con un valore di trasparenza di 0.
Id_TrasparenteParti nella scena con un valore di trasparenza diverso da 0.Riduci l'uso di trasparenza parziale (valori diversi da 0 e 1).
Id_DecalDecali nella scena.
Esegui/PresentaAttende che la GPU finisca di rendere il frame precedente; in realtà emette comandi di rendering alla GPU; si occupa di risorse grafiche a basso livello.Riduci la complessità della scena in Generale. Se questo passo richiede molto tempo, potresti essere limitato dalla GPU.
Esegui/Presenta/aspetta fino a quando non è completatoAttende che la GPU finisca di rendere il frame precedente.Se questo sta accadendo in generale molto allora la quantità di cose rendite è troppo alta.FRM aiuta a bilanciare questo, ma se rimane alto, prova a usare meno dettagli.

Script

EtichettaDescrizioneConsigli di performance
Render/PreRender/fireBindToRenderSteppedCallbacksEsecuzione delle funzioni legate al rendering del passo tramite RunService:BindToRenderStep() .Assicurati che le funzioni negli script utilizzando RunService:BindToRenderStep() facciano il minor lavoro possibile.
Rendere/PreRender/RunService.RenderSteppedEsegue le funzioni connesse all'evento RunService.RenderStepped .Simile a BindToRenderStep, assicurati che le funzioni che utilizzano questo evento facciano il minor lavoro possibile.
Job di script ibrido in attesaRiprende gli script in attesa usando i frame di attesa.Questo passo ha un budget di tempo di esecuzione per eseguire gli script di attesa, quindi se hai troppi script di attesa o script con un lungo tempo di esecuzione prima di arrendersi, questo passo può richiedere più
LuaGCCiclo di raccolta dei rifiuti Luau. La label fornisce stime di memoria sull'allocazione totale e quanto è stato deallocato.Tabelle lua della piscina e altri oggetti da collezione o tenta di ridurre la creazione di tabelle temporanee o stringhe
Battito cardiaco/RunService.HeartbeatEsegue funzioni connesse al Class.RunService.Heartbeat``event.Talk per i contatti di simulazione e gli script. La descrizione attuale è abbastanza generica da non essere sbagliataRiduci la quantità o il carico di lavoro delle funzioni connesse a RunService.Heartbeat.

Simulazione

EtichettaDescrizioneConsigli di performance
Proprietà della fisica distribuitaDetermina se il server o un client ha l'autorità su alcune istanze come parti.Proprietà della fisica distribuita.
Simulazione/assemblaggioAggiorna un albero di oggetti connessi (assemblaggi) utilizzati dal motore fisico.Riduci la quantità di articolazioni che vengono create o distrutte.
Simulazione/fisicaSteppedTotal/physicsSteppedEsegue la simulazione fisica.Riduci la quantità e la complessità dei corpi fisicamente simulati.
Simulazione/fisicaSteppedTotal/fisicaStepped/Filtro Spaziale/filtroPassoAggiorna le isole di simulazione, organizzando le parti secondo la proprietà della rete, la simulazione locale.Le isole sono gruppi non interagenti di parti che possono essere simulati in modo indipendente.Evita di impostare frequentemente la proprietà della rete. Mantieni i gruppi di parti abbastanza lontani l'uno dall'altro in modo che possano essere simulati separatamente.
Simulazione/fisicaSteppedTotal/physicsStepped/worldStep/stepContattiAggiorna i contatti tra gli oggetti.Riduci la quantità di corpi che si scontrano contemporaneamente o usa scatole di collisione più semplici. I cubi sono migliori delle maglie complesse.
Simulazione/fisicaSteppedTotal/physicsStepped/worldStep/stepWorld OPPURE stepWorldThrottledRisolve le equazioni fisiche relative ai connettori, alla fluttuazione e Humanoids .Quando il motore è sovraccarico e non è in grado di simulare tutto in tempo reale, alcuni passaggi possono essere ridotti (stepWorldThrottled) e vengono simulate solo "assemblaggi in tempo reale" come Humanoids .Dipende da dove il tempo sta andando in base alle seguenti tre fasi: stepContacts: test di geometria di collisione di fase stretta.Passo solvente: integra il tempo e risolvi le collisioni e altre restrizioni updateBroadphase: aggiorna le posizioni delle assemblee nel sistema di rilevamento delle collisioni e trova eventualmente coppie di fase stretta che potrebbero collidere.
NotifyMovingAssembliesAiuta a tracciare quanto tempo i primitivi sono stati dormire.
Simulazione/fisicaSteppedTotal/physicsStepped/interpolateNetworkedAssembliesInterpola assemblaggi non controllati da questo peer di rete.Imposta il proprietario della rete delle parti a questo peer per ridurre questo; anche se questo di solito causerà più lavoro fisico da svolgere altrove.
Simulazione/handleFallenPartsRimuove parti che sono scese al di sotto di Workspace/FallenPartsDestroyHeight.Abbassa l'altezza di distruzione o riduci la quantità di parti che cadono nell'altezza di distruzione.
Heartbeat/heartbeatInternal/workspaceOnHeartbeat/updateVisuallySleepingSeconda parte di NotifyMovingAssemblies.
Battito cardiaco/RunService.HeartbeatEsegue funzioni connesse al Class.RunService.Heartbeat``event.Talk per i contatti di simulazione e gli script. La descrizione attuale è abbastanza generica da non essere sbagliataRiduci la quantità o il carico di funzioni connesse a RunService.Heartbeat .
worldStep/StepContattiAiuta la simulazione fisica a passare molti contatti contemporaneamente.Riduci il numero di oggetti in conflitto.
Risolvi batchAiuta la simulazione fisica a risolvere batch di movimento di oggetti.
Interpolazione del meccanismoAiuta con InterpolateNetworkAssemblies.

UI

EtichettaDescrizioneConsigli di performance
Render/PreRender/AggiornaInputAggiorna e lancia tutti gli eventi di input dell'utente correlati se l'utente ha eseguito l'input dall'ultimo frame.Questo è quando si Lanciareeventi relativi all'input dell'utente.È importante cercare di non fare troppo lavoro direttamente quando si ottiene l'input.Considera di eseguire una quantità minima di elaborazione per l'input e le maggiori operazioni dovrebbero essere spostate su un altro thread che si verifica più tardi.
Render/PreRender/TweenServiceAggiorna gli oggetti in transito utilizzando TweenService e chiama le chiamate di completamento, come quelle fornite a TweenSize o TweenPosition .Riduci il numero di oggetti in transizione utilizzando TweenService e assicurati che le chiamate di ritorno facciano il minor lavoro possibile.
Render/PreRender/Aggiorna layout UILAggiorna la posizione e le dimensioni degli elementi UI.Riduci la quantità di elementi UI ridimensionati o riposizionati dinamicamente, come quelli gestiti da UILayout .
Battito cardiaco/TweenServiceSul Server, aggiorna gli oggetti tweened con TweenService. Sul client, questo viene fatto in un passo di PreRender invece.Riduci la quantità di oggetti tweened da TweenService .