Delen via


Best practices voor mesh-visualscripts voor foutopsporing

Bewerkingstijddiagnose

In Unity Editor kunt u on-the-fly richtlijnen bekijken over fouten en mogelijke bandbreedte- of prestatieknelpunten voor de Script Machine die u momenteel bewerkt in het deelvenster Mesh Visual Scripting Diagnostics onder aan het Inspector-paneel van Unity Editor.

Als u de muisaanwijzer boven een fout, waarschuwing of kennisgeving plaatst in het deelvenster Diagnostische gegevens, wordt er een knopinfo weergegeven met een gedetailleerde uitleg:

______________

U kunt een compilatie van dezelfde diagnostische gegevens in uw hele omgeving krijgen door de CPA (Content Performance Analyzer) te bekijken.

  1. Selecteer Mesh Toolkit>Content Performance Analyzer in de menubalk van Unity.
  2. Klik in de CPA op de knop Alles uitvoeren .

______________

Runtimediagnose in de Mesh Emulator

Wanneer u uw omgeving test in de Unity Editor, schakelt u het selectievakje Perf Stats in de rechterbovenhoek van het gamevenster in om realtime overzichtsstatistieken weer te geven voor alle aspecten van uw omgeving:

______________

De meest rechtse kolom in de rechterbenedenhoek bevat samenvattingsinformatie over de prestaties van visuele scripts, met tijden in milliseconden per frame:

  • VS User toont de tijd die is besteed aan het uitvoeren van de visualscriptstromen die u hebt gemaakt, met uitzondering van eventuele overhead die door Mesh wordt gemaakt.
  • VS Env toont overhead die wordt gemaakt door de Mesh Visual Scripting Runtime-omgeving.
  • VS Net toont overhead die wordt gemaakt door de Mesh-netwerkstack onder de Mesh Visual Scripting Runtime, het verzenden en ontvangen van updates voor de gedeelde status.

Als u meer gedetailleerde informatie wilt over afzonderlijke visuele scripts die worden uitgevoerd in de omgeving, kunt u realtime runtimestatistieken inschakelen voor het uitvoeren van visuele scripts door het selectievakje Scriptstatistieken in de rechterbovenhoek van het gamevenster in te schakelen:

______________

In de sectie Met de hoogste verwerkingsbelasting worden de scriptstromen vermeld die de meeste tijd hebben geduurd om binnen de laatste seconde te worden uitgevoerd, weergegeven als een gemiddelde tijdskosten per frame.

  • Het aantal scriptstromen dat in deze sectie wordt weergegeven en de totale tijdskosten moeten zo laag mogelijk zijn.
  • In het ideale geval, wanneer de omgeving niet actief is, mogen er helemaal geen scriptstromen worden uitgevoerd.

In de sectie Voor het laden van de hoogste gedeelde update worden gedeelde scène-eigenschappen en scriptvariabelen vermeld die het vaakst zijn bijgewerkt binnen de laatste seconde. Een belasting van 100% betekent dat de eigenschap of variabele in elk frame in dat seconde is bijgewerkt.

  • Het aantal updates van gedeelde eigenschappen en scriptvariabelen en de totale belasting in deze sectie moet zo laag mogelijk zijn.
  • In het ideale geval, wanneer de omgeving niet actief is, moeten er helemaal geen gedeelde eigenschappen of variabelen worden bijgewerkt.
  • Als u ziet dat er eigenschappen of scriptvariabelen worden weergegeven in deze sectie dat u niet wilt worden gesynchroniseerd via het netwerk tussen clients, kunt u overwegen om onderdelen voor lokaal scriptbereik toe te voegen om ze lokaal te maken.

U kunt op een willekeurige objectnaam in de middelste kolom klikken om rechtstreeks naar het bijbehorende gameobject in het deelvenster Hierarchy te gaan.

Als u een situatie nader wilt bekijken, kunt u op een ander deel van het deelvenster Script stats klikken of op Shift+X drukken om de updates tijdelijk te stoppen. Als u het bijwerken wilt hervatten, klikt u er opnieuw op of drukt u nogmaals op Shift+X.

Runtimediagnose in Mesh

Wanneer u een omgeving uitvoert in Mesh (bijvoorbeeld in een Teams-gebeurtenis), kunt u op Ctrl+Shift+F1 drukken om de zijbalk Netwerkgegevens weer te geven, waarin veel technische informatie over de huidige sessie wordt weergegeven. Schuif omlaag om gedetailleerde informatie te vinden over visuele scripts die in de omgeving worden uitgevoerd:

______________

In de laatste (aantal) seconden, de instructie (getal) frames direct onder de kop van de sectie Visual Scripting ziet u het aantal seconden en frames dat is geaggregeerd voor de onderstaande tellers. Er worden maximaal 90 seconden aan gegevens samengevoegd voordat de tellers opnieuw worden ingesteld. In de tabel direct hieronder ziet u informatie over delen:

  • In de rijen Prop, Var en Gebeurtenis worden respectievelijk gedeelde eigenschappen, gedeelde scriptvariabelen en gedeelde gebeurtenissen beschreven.
  • De kolom Update telt hoe vaak eigenschappen of variabelen zijn bijgewerkt door visuele scripts.
  • De kolommen Verzenden en Bytes tellen hoe vaak eigenschaps-, variabele- of gebeurtenisupdates via het netwerk zijn verzonden. Dit aantal kan lager zijn dan het aantal updates vanwege snelheidsbeperking en omdat redundante updates mogelijk helemaal niet worden verzonden.
  • De kolommen Recv en Bytes tellen hoe vaak eigenschaps-, variabele- of gebeurtenisupdates zijn ontvangen via het netwerk van andere clients.
  • De kolommen Bytes in deze tabel zijn niet verantwoordelijk voor alle netwerkoverheads en kunnen alleen zinvol worden gebruikt om tussen uitvoeringen te vergelijken. Het werkelijke bandbreedtegebruik kan veel hoger zijn.

De tabel Met de meeste uitvoeringstijd worden alle visuele scriptstromen weergegeven op basis van de hoeveelheid tijd die nodig was om uit te voeren. De gemarkeerde rij met het label [all] toont cumulatieve gegevens voor alle rijen, inclusief rijen die momenteel niet worden weergegeven. Klik op Meer rijen weergeven... om meer rijen weer te geven.

  • De kolom Aantal telt hoe vaak deze scriptstroom is uitgevoerd.
  • De kolom Gemiddelde toont de gemiddelde tijdskosten per frame, in milliseconden, van deze scriptstroom.
  • De kolom Gebeurtenis noemt het gebeurtenisknooppunt dat de scriptstroom heeft geactiveerd.
  • De kolom Doel noemt de scriptmachine die de scriptstroom heeft uitgevoerd.

Met de meest frequente gedeelde updates en meest frequente gedeelde gedeelde tabellen worden gedeelde eigenschappen en gedeelde scriptvariabelen verzonden die het vaakst zijn bijgewerkt door visuele scripts of updates die via het netwerk zijn verzonden. In de gemarkeerde rijen met het label [alle] worden cumulatieve gegevens weergegeven voor alle rijen, inclusief rijen die momenteel niet worden weergegeven. Klik op Meer rijen weergeven... om meer rijen weer te geven.

  • De kolom Aantal telt hoe vaak deze gedeelde eigenschap of gedeelde variabele is bijgewerkt of dat er een update via het netwerk is verzonden.
  • De kolom Naam noemt de gedeelde eigenschap of gedeelde variabele.
  • De kolom Doel noemt het onderdeel dat als host fungeert voor de eigenschap of variabele.

Druk nogmaals op Ctrl+Shift+F1 om het deelvenster Netwerkgegevens te vergroten, waarin het volledige transformatiepad van de doelspelobjecten in de bovenstaande tabellen wordt weergegeven.

Als u het deelvenster wilt sluiten: druk voor de derde keer op Ctrl+Shift+F1.

Volgende stappen