Ich werde meinen PC bald aktualisieren. Ich mache mir Sorgen, dass ich aufgrund der besseren technischen Daten keine Leistungsverluste mehr in meinem Spiel feststellen kann.
Ich kann die Speichernutzung leicht überprüfen, aber wie überprüfe und debugge ich die CPU- und GPU-Nutzung? Früher habe ich mich auf die Framerate verlassen, aber ich denke, dass sie nicht genau ist.
software-engineering
performance
gpu
debugging
user55489
quelle
quelle
Antworten:
Sie werden Profiler genannt. In Visual Studio sind sowohl CPU- als auch GPU-Profiler in neueren Versionen integriert. Ein Profiler gibt Ihnen eine Vorstellung davon, wie viel Zeit Ihre App benötigt und wo diese Zeit verbracht wird. Dies wird jedoch die Probleme der überspezifizierten Hardware nicht vollständig abwenden. Die App ist möglicherweise an eine geringere CPU gebunden, verwendet jedoch nur 60% Ihres Entwicklercomputers. Sie können Ihnen dabei helfen, Trends zu verfolgen, z. B. zu bemerken, dass das, was früher 0,5 ms dauerte, jetzt 2 ms dauert, was auf Änderungen hinweist, die die Leistung beeinträchtigten.
Die Bildrate war für die Leistungsmessung noch nie nützlich. Sie müssen die Dinge zeitlich festlegen. Sie können einen instrumentierten Profiler im Spiel erstellen, was eine große Hilfe sein kann (und Unternehmen wie RAD verkaufen einige instrumentierte Profiler von der Stange, die auf Spiele ausgerichtet sind), oder Sie können einen separaten Sampling-Profiler verwenden, der Statistiken aus einem laufenden Programm ohne sammelt muss es ändern.
Tools wie Very Sleep sind kostenlose Profiler, die Sie ausführen können, wenn Sie nicht in Visual Studio sind oder nicht für kompetentere Entwicklertools bezahlen möchten (die oft eine weitaus bessere Investition sind als neue Hardware, könnte ich bemerken). Für OSX, Linux, Konsolen und mobile Plattformen stehen ähnliche Tools zur Verfügung. Intels VTune ist der leistungsfähigste Sampling-Profiler, den ich kenne, aber er ist teuer und funktioniert natürlich nur auf Intel-CPUs (obwohl er Nicht-Windows-Betriebssysteme unterstützt).
Für die GPU können Sie eigenständige Tools wie NVIDIAs NSight oder AMDs PerfStudio oder Intels GPA verwenden . Auch hier gibt es einige Tools für andere Plattformen als Windows. Die für Konsolen sind in der Regel erstklassig, während die für Linux derzeit nur Junk sind und ich persönlich nicht mit den Angeboten auf anderen Plattformen vertraut bin.
Letztendlich müssen Sie jedoch auf der Zielhardware testen. Finden Sie heraus, was Ihre Low-End-Zielhardware ist, und kaufen Sie dann eine davon (oder suchen Sie einen Tester mit einer). Testen Sie das. Es gibt absolut keinen anderen guten Weg, um sicherzustellen, dass Ihr Spiel auf dieser Hardware gut läuft, als es nur mit dieser speziellen Hardware zu testen. Dies gilt für PCs, mobile Geräte usw. (und dies ist einer der Gründe, warum viele Entwickler Zielkonsolen oder geschlossene Ökosysteme wie Apples Produkte bevorzugen. Dadurch wird die Anzahl der zu testenden Hardwarekonfigurationen erheblich reduziert.)
Spieleentwicklungsstudios verfügen häufig über ganze Labore mit unterschiedlichen Konfigurationen (unterschiedliche Leistungsstufen, Hardware verschiedener Hersteller, unterschiedliche Versionen des Zielbetriebssystems usw.), um ihre Tests durchzuführen. Kleinere Indie-Entwickler haben möglicherweise ein paar Computer zum Testen, wie einen primären Desktop, einen Backup-Desktop und einen Laptop (und müssen sich dann viel mehr auf freiwillige Tests verlassen).
quelle