Quantcast
Channel: Intel Developer Zone Articles
Viewing all articles
Browse latest Browse all 1201

Analyse und Optimierung von Windows* Spiel-Anwendungen mit Intel® INDE Grafikleistungs-Analyser (GPA)

$
0
0

Herunterladen:  Intel INDE Grafikleistung Analyzer.pdf

Intel® INDE Grafikleistungs-Analyser (GPA) sind leistungsstarke, agile Tools, die es Spiele-Entwicklern ermöglichen, das volle Leistungspotential ihrer Gaming-Plattform zu nutzen. GPA visualisiert Performance-Daten aus Ihrer Anwendung, so dass Sie Probleme auf Systemebene und einzelne Frame-Performance-Probleme verstehen, sowie die Möglichkeit, die "Was-wäre-wenn"-Experimente auszuführen, um potenziellen Performance-Gewinne von Optimierungen zu schätzen. GPA Werkzeuge sind als Teil der Intel® INDE Tool-Suite oder als eigenständige Programme hier verfügbar.

Dieser Artikel beschreibt die GPA-Tools und geht durch eine Beispiel-Spiel-Anwendung für Windows*, welche einzelne Frame-Performance-Probleme aufweist und die Optimierung mit dem Grafik Frame Analyser für DirectX *.

Grafikmonitor

Grafikmonitor wird verwendet, um Metriken im Spiel zu sehen, grafisch darzustellen und zu konfigurieren.  Sie können auch Aufnahmen der Verfolgung und Rahmen erfassen und Grafik-Pipeline-Übersteuerungen und Experimente in Echtzeit aktivieren.

Diein diesem Artikel verwendete Beispiel-Spiel-Anwendung (CitiRacer.exe) ist Teil der Installation und wird als Beispiel in diesem Artikel verwendet.

Sobald Sie GPA herunterladen und installieren (siehe Link oben), klicken Sie auf Anwendung Analysieren, wie unten dargestellt, und das Anwendung Analysieren Fenster wird geöffnet.


1. Grafikmonitor


2 Anwendung Analysieren Ffenster, um das Spiel zu starten

Klicken Sie auf die Schaltfläche Ausführen, und Sie können die Analyse der Anwendung beginnen. Die Anwendung lädt automatische und zeigt dann die FPS (Frames pro Sekunde), wie unten dargestellt. Drücken Sie STRG + F1 dreimal, um die unten dargestellten Screenshots mit verschiedenen angezeigten Einstellungen und Metriken zu sehen.


3. Spiel läuft mit Anzeige aller Messdaten

Jetzt werden wir eine Verfolgungs-Erfassung von einem bestimmte Frame machen und ihn mithilfe des Grafik Frame Analysers für DirectX-Tool, das mit dem Intel GPA Toolkit installiert ist, analysieren. Sie können die Verfolgungs-Erfassung durch Drücken von STRG + SHIFT + C oder mit dem System Analyzer-Tool, das unterhalb beschrieben wird, machen.

System Analyser

System Analyser ermöglicht den Zugriff auf systemweite Kennzahlen für Ihr Spiel, einschließlich CPU, GPU, API, und den Grafiktreiber. Die verfügbaren Metriken variieren je nach Plattform, aber Sie werden eine große Sammlung von nützlichen Metriken finden, um dabei zu helfen wesentliche Aspekte der Nutzung der Systemressourcen Ihrer Anwendung zu bewerten. Im System Analyser können Sie auch verschiedene "Was-wäre-wenn"-Experimente durchführen, um auf einem hohen Niveau zu diagnostizieren, wo sich die Leistungsengpässe Ihres Spiels konzentrieren.

Falls der System Analyser feststellt, dass Ihr Spiel CPU-gebunden ist, führen Sie eine zusätzliche Feinabstimmung Ihrer Anwendung mit dem Plattform Analyser durch.

Falls der System Analyzer feststellt, dass Ihr Spiel GPU-gebunden ist, verwenden Sie den Grafik Frame Analyser für DirectX*/OpenGL* innerhalb eines einzigen Grafik-Frame-Drilldown um bestimmte Wiedergabeprobleme, wie Textur-Bandbreite, Pixel-Shader-Leistung, Level-of-Detail Probleme oder andere Engpässe in der Rendering-Pipeline zu lokalisieren.

Open System Analyzer, als Teil der Intel INDE installiert.


4. Anschluss mithilfe des System Analysers

Falls die Anwendung, für die Sie die Analyse durchführen, auf der gleichen Maschine, auf der Intel INDE installiert ist ausgeführt wird, klicken Sie auf Verbinden oder wenn die Anwendung auf einem Remote-Computer ausgeführt wird, geben Sie die IP-Adresse von diesem Computer ein und klicken Sie auf Verbinden.

Sie werden die Anwendung im System Analyser sehen, wie unten dargestellt.


5. Klicken Sie auf die Anwendung, um den System Analyser zu öffnen

Sobald der nächste Bildschirm geöffnet wird, können Sie die Metriken, die Sie interessieren, Ziehen und Ablegen. In diesem Beispiel werden wir die aggregierte CPU Belastung, GPU Dauer GPU Beschäftigt und GPU Frequenz Metriken überwachen. Halten Sie die STRG-Taste gedrückt und ziehen Sie mehrere Metriken gleichzeitig. Klicken Sie auf den Kamerabutton, um einen Rahmen, der mehr GPU einnimmt und weniger FPS ausgibt, zu erfassen. Wir werden diesen Frame aufnehmen und mit dem Grafik Frame Analyser für DirectX analysieren.


6. Einen Frame mithilfe des System Analysers aufnehmen

Einen Frame mithilfe des Intel® INDE Grafik-Frame Analysers für DirectX* analysieren

Sobald Sie den Frame Analyser öffnen, werden die aufgenommenen Bilder automatisch geladen. Wählen Sie den letzen Frame, den Sie aufgenommen haben und analysieren möchten und klicken Sie auf Öffnen.


7. Den erfassten Frame mit dem Grafik Frame Analyser für DirectX* öffnen

Lassen Sie uns jetzt mit der Analyse dieses bestimmten Frame, den wir aufgenommen haben, beginnen.


8. Erfasster Frame, nachdem er mit dem Grafik Frame Analyser für DirectX* geöffnet wurde

Auf der linken Seite RT0, RT1, RT2, RT3 sind die Renderziele, die während dieses Frames erzeugt werden. Verschiedene Spiele können eine unterschiedliche Anzahl von Renderzielen verwenden, um den vollständigen Frame aufzubauen, und für diesen Frame haben wir vier Renderziele.

Was wir in der Grafik unterhalb sehen, sind die Draw-Aufrufe während dieses Frames. Sie heißen "ergs", was eine wissenschaftliche Einheit ist.


9. Grafische Ansicht der ergs mit GPU Dauer auf X- und Y-Achsen

Sie können die angezeigten Metriken filtern. X und Y-Achse zeigen GPU Dauer standardmäßig an. Sie können die X- und Y-Achsen Metriken in der Dropdown-Liste ändern. Dies ist ein nur kurzer Blick, der angibt, wie lange jedes erg auf der GPU dauert un kann uns schnell die Messwerte zeigen, die und die ergs angeben, die einige Optimierungen benötigen.

Rechtsklicken Sie auf RT1 und wählen Sie "Ergs in diesem Renderziel auswählen", was alle Ergs hervorhebt, die verwendet werden, um dieses Renderziel zu erzeugen. Sie können die Metrieken analysieren, um zu sehen, wie lange es dauerte das Renderziel zu erzeugen. Ein Beispiel eines Renderziels ist unten dargestellt.


10. Auswahl aller Ergs im Renderziel

Lassen Sie uns weiter in dieses Renderziel eintauchen. Klicken Sie auf das Erg mit der längsten GPU-Laufzeit um die Details von nur diesem Erg anzusehen. Wenn Sie auf die Registerkarte Geometrie klicken, können Sie sehen, welche Geometrie gerendert wird, wie unten dargestellt. Wenn wir auf die Registerkarte Shaders klicken, wird es die Vertex- und Fragment-Shader für dieses Erg zeigen.


11. Gerenderte Geometrie für das gewählte Erg

Lassen Sie uns die Registerkarten am unteren Rand des Bildschirms ansehen. "Ausgewählt" bezeichnet das von Ihnen ausgewählte Erg. Wenn wir "Markier" wählen, zeigt es das markierte Erg, das der Geometrie, die wir auf der rechten Seite sehen, entspricht.

"Andere" zeigt alle anderen Ergs des Renderziels. "Versteckte" auswählen, bedeutet, sie überhaupt nicht anzuzeigen. "Nur zum letzten ausgewählten Zeichnen" wird für diese Renderziel nur die Erg bis zum ausgewählten Erg zeichnen. Wenn wir es deaktivieren, werden alle Ergs für dieses Renderziel angezeigt.


12. Wie man das gewählte Erg markiert


13. Markiertes Erg in blauer Farbe dargestellt

Wenn Sie auf die Registerkarte Textur klicken, können Sie sehen, welche Texturen mit diesem Erg verbunden sind. Es ist möglich, dass nicht alle Texturen im demselben Erg verwendet werden—sie könnten von einem vorangegangenen Erg verwendet worden sein. Aber im Allgemeinen, zeigt die Registerkarte Textur welche Texturen verwendet werden und wie groß sie sind. Es ist ein guter Weg, um nicht komprimierte Bilder, die mehr GPU Dauer in Anspruch nehmen könnten zu finden, so dass wir zurückgehen und die betreffende Textur komprimieren können.


14. Mit diesem Erg verbundene Texturen

Experimente

Lassen Sie uns nun über die Registerkarte Experimente sprechen. Es ermöglicht Ihnen, das was die GPU tut zu übersteuern und sich Ihre Nettoergebnisse anzusehen. In diesem Beispiel läuft der gesamte Frame bei 27 ms oder 37 FPS, wie im Kasten in der oberen rechten Ecke (angezeigt durch den Pfeil) gezeigt. Sie können zwischen FPS und GPU Dauer umschalten, indem Sie auf diesen Kasten klicken.


15. Klicken Sie auf den Umschalten-Button oben rechts, um zwischen GPU Dauer und FPS Messungen umzuschalten

Wenn Sie nun auf dir Registerkarte Frame Übersicht klicken, werden Sie Statistiken für den gesamten Frame sehen. Die Registerkarte Details enthält die Statistiken nur für das von Ihnen ausgewählte Erg. In diesem Beispiel sehen Sie in der Registerkarte Frame Übersicht die verschiedenen Metriken, wie unten dargestellt, mit denen Sie experimentieren können.


16. Registerkarte Frame Übersicht, die die Statistiken für den gesamten Frame angibt

Lassen Sie uns auf die Registerkarte Experimente klicken und versuchen diese Erg vollständig zu deaktivieren, sodass dieses Erg nichtmal gerendert wird.


17. Registerkarte Experiment: Vor der Deaktivierung des Erg


18. Registerkarte Experiment: Nach der Deaktivierung des Ergs

Wenn Sie auf die Rahmen Übersicht gehen, können Sie den Unterschied in der GPU Dauer, Ausführungseinheiten, usw. sehen. Wir können die allgemeine Gesamtleistung ansehen, um festzustellen, wie viel Unterschied es zwischen den alten und neuen Werten gibt. In dem unten gezeigten Beispiel ist der Delta-Wert für die GPU Dauer -8 ms, der neue Wert der GPU Dauer beträgt etwa 18 ms und die prozentuale Abnahme der GPU Dauer beträgt etwa 35 %.


19. Frame Übersicht und Unterschiede in der GPU Dauer nach dem Deaktivieren des ausgewählten Ergs

Alles, was deutlich schlechter ist, ist rot markiert. Die meisten dieser Ergs sind Zeichen-Aufrufe. Wenn nichts markiert ist, wenn Sie ein Erg wählen, kann dies ein Hinweis auf einen leeren Aufruf sein. Manchmal können die leeren Aurufe unnötig sein. Falls alles im Renderziel ohne diesen leeren Aufruf gerendert wird, können Sie versuchen, ihn zu deaktivieren und zu sehen, ob es eine Verbesserung in der GPU Dauer gibt.

Die Registerkarte API Log zeigt die Zeichen-Aufrufe, die für das von Ihnen gewählte Erg, oder ob das Erg ein leerer Aufruf ist.

Sie können auch nach der primitiven Zahl filtern sehen, wie viele Grundelemente und wie viele Dreiecke gerendert werden. Sie können die X-Achse auf die GPU Dauer und die Y-Achse auf die primitive Zahl einstellen, wie unten dargestellt. Dann können Sie in die Registerkarte Geometrie sehen, um die Ergs mit mehr primitiven anzusehen.


20. Auswählen primitive Zahl auf der Y-Achse


21. Primitive Zahl für das ausgewählte Renderziel

Sie können auch nach Renderzielen sortieren, um zu sehen, wie lange jedes Renderziel braucht. Es lohnt sich, zu experimentieren, um zu sehen, was die Hardware tut und Dinge zu deaktivieren und zu ändern, um zu sehen, ob die Leistung sich erhöht oder verringert, indem Sie die Frame Übersicht und das Delta der Leistung ansehen.

Über den Autor

Praveen Kundurthy arbeitet für die Software & und Services Gruppe bei der Intel Corporation. Er hat einen Master-Abschluss in Computer Engineering. Seine Hauptinteressen sind mobile Technologien, Windows und die Spiele-Entwicklung.

Hinweise

Keine Lizenz (weder ausdrücklich noch stillschweigend, durch Hinderung oder auf andere Weise) an Rechten des geistigen Eigentums wird durch dieses Dokument gewährt.

Intel lehnt alle ausdrücklichen und stillschweigenden Garantien, einschließlich, ohne Einschränkung, die stillschweigende Gewährleistung der Marktgängigkeit, Eignung für einen bestimmten Zweck und Nichtverletzung von Rechten, sowie alle Garantien, die aus der Leistung, dem Verlauf des Handels oder der Nutzung im Handel entstehen ab.

Dieses Dokument enthält Informationen über Produkte, Dienstleistungen und/oder Prozesse in der Entwicklung. Alle hier angebotenen Informationen können ohne vorherige Ankündigung geändert werden. Kontaktieren Sie Ihren Intel-Vertreter, um die neuesten Prognosen, Zeitpläne, Spezifikationen und Roadmaps zu erhalten.

Die beschriebenen Produkte und Dienste können Defekte oder Fehler, bekannt als Errata, enthalten, die zu Abweichungen von den angegebenen Spezifikationen führen können. Aktuelle beschriebene Errata sind auf Anfrage erhältlich.

Kopien von Dokumenten, die eine Auftragsnummer haben und in diesem Dokument referentiert werden, können durch einen Anfruf unter 1-800-548-4725 oder durch Besuch von www.intel.com/design/literature.htm erhalten werden.

Intel und das Intel Logo sind Marken der Intel Corporation in den USA und/oder anderen Ländern.

*Andere Namen und Marken könnten das Eigentum Dritter sein

© 2015 Intel Corporation.


Viewing all articles
Browse latest Browse all 1201

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>