Beim Profiling meiner App mit Pix habe ich festgestellt, dass die GPU im DX10-Modus die meiste Zeit im Leerlauf läuft und auf eine nicht verfügbare Ressource wartet. (und befindet sich immer in einer Reihe mit der CPU (wenn beispielsweise die CPU Frame X verarbeitet, verarbeitet die GPU auch Frame X) für dieses Problem)
Einige Anmerkung:
1) Die App ist GPU-begrenzt (die CPU ist im Prinzip im Leerlauf (20% der CPU-Auslastung in der schwersten Szene))
Meine Fragen sind:
1) Wie muss ich diese Ergebnisse interpretieren? In Pix jeden Frame auf der GPU-Seite sehe ich 2-3 kleine rote Balken (soweit ich weiß Ressourcen bedeutet nicht verfügbar) und nach ihnen eine mittlere / große graue Leiste (das heißt GPU Leerlauf). Die CPU auf einer anderen Seite hat einige Operationen, eine große leere Leiste und dann einige andere Operationen (wartet auf etwas?)
Eine weitere Anmerkung: Wenn die GPU im Leerlauf ist, arbeitet die CPU im Allgemeinen. (Das Gegenteil ist offensichtlich nicht gültig)
2) Welche Anrufe können dazu führen, dass die Ressource nicht mehr verfügbar ist?
Ein MAP mit DISCARD gilt als blockierender Anruf?
Eine Abfrage, um die DESC eines Objekts zu erhalten?
Das Teilen eines Shader-Effekts wird als Konflikt angesehen?
Was für andere?
Mein allgemeiner Rahmen ist:
41 DrawPrimitives / DrawIndexedPrimitives (die meisten Objekte sind instanziert)
7/8 Verriegelt auf einem Vertex-Puffer mit verwerfen |
9 Änderung des Pixel-Shaders / Vertex-Shaders
1 sentrendertarget
Danke!
P.S. Screenshot von Bildern
Wenn ich einen einzelnen Draw-Aufruf verwende (mit der gleichen GPU-Ladung (zum Beispiel eine Partikel-Engine mit x Partikeln oder einem instanziierten Objekt)) bekomme ich statt des vollen Spiels einen vollen blauen Balken und die GPU korrekt 2-3 Frames hinter der CPU ...
EDIT: Ich konzentriere mich mehr und mehr auf das Effect Framework, das wahrscheinlich der Grund für dieses Problem ist. Ich teile einen Effekt zwischen mehr Objekten, um Speicher und Zeit zu sparen, um sie zu erstellen. Ist das ohne Zweifel sicher anzunehmen?
Was Ihnen bei den bereitgestellten Informationen einfällt: