stephan mantler More »

Home | Contact | Photography | Explot

Posted
27 December 2006 @ 6pm

No Translations

Introducing SPARE : Shader Performance Analysis and Runtime Evaluation

52503 [lang_de]Das SPARE (”Shader Performance Analysis and Runtime Evaluation”) Framework soll dem Entwickler helfen, das Laufzeitverhalten von komplexen Shadern zu verstehen.In diesem Screenshot ist ein sehr früher Prototyp dieses Systems zu sehen. Auf der rechten Seite wird ein typischer Displacement Mapping Shader gerendert, während der Polar Plot auf der linken Seite das ‘worst case’ Verhalten des Shaders für alle Blickrichtungen der Hemisphäre darstellt. Wie man sieht zeigt der Shader bei flachen Blickwinkeln (aussen) ein leicht anisotropes Verhalten, und für die allermeisten Blickrichtungen werden grosse Teile des Objets im worst case gerechnet. Das verwendete Beschleunigungsverfahren ist also nicht besonders gut.

Dieser Prototyp wurde mit C# und XNA entwickelt und demonstriert hauptsächlich die funktionierende Kommunikation zwischen dem Shader und dem restlichen System. Das fertige Werkzeug wird dem Entwickler noch deutlich mehr Information zur Verfügung stellen (wird aber noch eine Weile dauern). Ziel ist es, diese Features mit minimalen Änderungen für bestehende Shader verwenden zu können. Dies soll nach Möglichkeit durch vollautomatisches Umschreiben von existierendem HLSL Code geschehen.[/lang_de][lang_en]The SPARE (”Shader Performance Analysis and Runtime Evaluation”) Framework was designed to assess the runtime behaviour of current shaders.
In this screenshot, a typical displacement shader can be seen in the render window on the right. The polar plot on the left displays the shader’s worst case behaviour for all view angles in the upper hemisphere. It is clearly visible that there is a certain amount of anisotropy at lower elevations, and that for most view directions at least some pixels had to be rendered with worst case characteristics.
This screenshot only displays a very early prototype written in C# / XNA, which was designed to test the communication between the framework and the shaders. The final tool will provide the developer with much more detailed information. The ultimate goal is to provide these features with minimal changes for existing shaders, possibly through automated HLSL rewriting.[/lang_en]


No comments yet.


No comments yet.

Leave a Comment

Grandioser Kommentar im Standard [lang_de]nullsieben[/lang_de][lang_en]zero seven[/lang_en]