Messen der GPU-Zeit anhand des verwalteten Codes


7

Um den CPU-Code zu messen, verwende ich eine Stoppuhr. Die Verwendung einer Stoppuhr in der Draw-Methode ist für die GPU-Seite bedeutungslos, da die CPU und die GPU asynchron ausgeführt werden.

Die Fragen sind einfach: Ist es möglich, die Gesamtzeit zu messen, die für einen Teil des HLSL-Codes aufgewendet wurde? Vielleicht so detailliert wie die Technik / der Pass.

Antworten:


3

Sie scheinen DirectX zu verwenden, daher können Sie wahrscheinlich die in diesem Artikel beschriebenen Techniken verwenden . Es wird erläutert, wie ID3D11Query- Objekte zum Profilieren von GPU-Code verwendet werden.

Da Sie sich in verwaltetem Code befinden, müssen Sie möglicherweise ein cleveres P / Invoke verwenden , um zu dieser API zu gelangen, wenn SharpDX die Funktionen selbst nicht verfügbar macht, obwohl dies anscheinend der Fall ist .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.