19.01.2015 Aufrufe

Projektgruppe Visual Analytics - Medieninformatik und Multimedia ...

Projektgruppe Visual Analytics - Medieninformatik und Multimedia ...

Projektgruppe Visual Analytics - Medieninformatik und Multimedia ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

74 Kapitel 4 Programmoberflächenentwicklung für Multitouch-Technologien<br />

4.2.1 WPF Architektur<br />

PresentationFramework<br />

PresentationCore<br />

Controls<br />

Layout<br />

Dokumente<br />

Data Binding ...<br />

WindowsBase<br />

Eigenschaftssystem<br />

...<br />

Common Language Runtime (CLR)<br />

MilCore<br />

Verantwortlich für Darstellung von:<br />

2D Bilder Video ...<br />

3D Effekte Animationen<br />

User 32<br />

DirectX<br />

Kernel<br />

Abbildung 4.1: Die WPF-Architektur [Hub08]<br />

Um die im Kapitel 4.2 beschriebenen Probleme zu lösen, wurde im Jahr 2007 die<br />

WPF entwickelt. Wie Abbildung 4.1 zeigt, baut WPF nicht auf der Windows-API auf,<br />

sondern auf DirectX. Für die Anwendung bedeutet das, dass mit WPF nicht nur 3Dsondern<br />

auch 2D-Oberflächen von der Grafikkartenleistung profitieren können. Des<br />

Weiteren können Transparenz-Effekte eingesetzt werden, denn WPF-Controls sind nicht<br />

nur einem bestimmten Bildschirmausschnitt zugeordnet <strong>und</strong> können daher auf anderen<br />

Controls gezeichnet werden. Außerdem übernimmt WPF die Zeichnen-Aufgabe, was<br />

die Programmierung deutlich einfacher macht. Dies geschieht durch eine Verwaltung<br />

der verschiedenen Bäume.<br />

Die nativ implementierte MilCore verwaltet einen Composition Tree. Diese besteht aus<br />

einfachen grafischen Elementen, wie Linien oder Rechtecken. MilCore konvertiert die<br />

Veränderungen im Baum in DirectX-Befehle. Der <strong>Visual</strong> Tree, der vom PresentationCore<br />

verwaltet wird, besteht ebenfalls aus einfachen Elementen, allerdings sind diese<br />

Elemente Common Language Runtime (CLR)-Objekte. PresentationCore <strong>und</strong> MilCore<br />

halten beide Bäume synchron <strong>und</strong> können große Objekte, wie Bitmaps, sogar<br />

gemeinsam verwenden. Diese Architektur ist leistungsfähiger als ältere Windows

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!