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.

RecursiveCall
quelle

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 .

pwny
quelle