Zum Inhalt springen

„Graphics Device Interface“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
KLBot2 (Diskussion | Beiträge)
K Bot: 17 Interwiki-Link(s) nach Wikidata (d:Q1046656) migriert
K typografische Anführungszeichen
 
(14 dazwischenliegende Versionen von 11 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Das '''Graphics Device Interface (GDI)''' ist eine Komponente des [[Betriebssystem]]s [[Microsoft Windows]]. Es dient als [[Programmierschnittstelle]] zu den logischen Grafikgeräten ([[Grafikkarte]], [[Drucker (Peripheriegerät)|Drucker]]) und kapselt die [[Komplexität]] der [[Hardware]] ab. GDI ist zuständig für Aufgaben wie das Zeichnen von Linien und Kurven, Darstellung von Schriftzeichen und [[Bitmap]]s und Verwaltung von [[Farbpalette]]n. Die Komponenten DIB-Engine ([[Windows_Bitmap|Device-Independent Bitmap]]) und das [[Image Color Matching|ICM]]-Farb-Subsystem erlauben eine geräteunabhängige Verarbeitung von [[Windows Bitmap|Bitmap]]s bzw. Farben. Benötigt ein Programm Informationen über gerätespezifische Eigenschaften ([[Bildschirmauflösung]], [[Bildschirmtyp]]) kann es sie vom [[Device Context]] beziehen.
Das '''Graphics Device Interface (GDI)''' ist eine Komponente des [[Betriebssystem]]s [[Windows]]. Es dient als [[Programmierschnittstelle]] zu ''logischen Grafikgeräten'' und kapselt die [[Komplexität]] der [[Hardware]] ab ([[Hardwareabstraktionsschicht|Hardwareabstraktion]]). Diese logischen Grafikgeräte werden in GDI als Gerätekontext (engl. ''Device Context'') bezeichnet, in einigen Programmiersprachen ist dafür die Bezeichnung ''Canvas'' (zu dt. Leinwand) gebräuchlich. Neben der Ausgabe über physische Geräte ([[Grafikkarte]] oder [[Drucker (Gerät)|Drucker]]) kann auch die Ausgabe als Rastergrafik im Speicher oder als eine Art Schrittprotokolldatei ([[Windows Metafile|WMF]]/[[Windows Enhanced Metafile|EMF]], unter Windows als [[Vektorgrafik]]format genutzt) erfolgen.


GDI ist zuständig für Aufgaben wie das Zeichnen von Linien und Kurven (Vektorgrafik), Darstellung von Schriftzeichen und [[Rastergrafik|Bitmaps]] und Verwaltung von [[Farbwähler|Farbpalette]]n. Die Komponenten DIB-Engine ([[Windows Bitmap|Device-Independent Bitmap]]) und das [[Image Color Matching|ICM]]-Farb-Subsystem erlauben eine geräteunabhängige Verarbeitung von [[Windows Bitmap|Bitmaps]] bzw. Farben. Benötigt ein Programm Informationen über gerätespezifische Eigenschaften ([[Bildschirmauflösung]], [[Bildschirmtyp]]), kann es sie vom Device Context beziehen. Die GDI-Aufrufe sind aber weitestgehend unabhängig davon, um was für einen Device Context es sich handelt. Ein Programm, das eine Grafik beispielsweise auf dem Bildschirm ausgibt, könnte sie mit minimalen Anpassungen auf einem Drucker ausgeben. Vektorgrafik- und Schriftbefehle werden bei direkter Ausgabe auf einem Drucker-Gerätekontext nicht von GDI [[Rasterung|gerastert]], sodass ein beliebiger physischer Drucker sie in seiner optimalen Auflösung ausgibt<ref>[https://docs.microsoft.com/de-de/windows/desktop/printdocs/about-the-gdi-print-api About the GDI Print API], MSDN, abgerufen am 7. Juni 2019 (englisch).</ref> und bei durch einen virtuellen Drucker erstellten Dokumenten (z.&nbsp;B. [[PDF]] oder [[XML Paper Specification|XPS]]) eine Entnahme von Grafiken und Text möglich ist.
Da die meisten [[Routine (Programmierung) | Routinen]] zum Zeichnen auf dem [[Prozessor]] arbeiten und nicht auf der Grafikkarte, ist die Grafikausgabe von GDI relativ langsam. Unter [[Windows Vista]] wird die Grafikausgabe von GDI komplett von der [[CPU]] übernommen, wodurch diese noch langsamer als in früheren Windows Betriebssystemen ist. Seit [[Windows 7]] werden mit dem Windows "Display Driver Model v1.1" wieder wenige Zeichenoperationen von der Grafikkarte beschleunigt.
{{Belege}}
Da die meisten [[Routine (Programmierung)|Routinen]] zum Zeichnen auf dem [[Prozessor]] arbeiten und nicht auf der Grafikkarte, ist die Grafikausgabe von GDI relativ langsam. Unter [[Windows Vista]] wird die Grafikausgabe von GDI komplett von der [[CPU]] übernommen, wodurch diese noch langsamer als in früheren Windows-Betriebssystemen ist.<ref name=gdihw1/> Seit [[Windows 7]] werden mit dem Windows „Display Driver Model v1.1“ wieder wenige Zeichenoperationen von der Grafikkarte beschleunigt.<ref name=gdihw2/>
Für Anwendungen, die eine schnellere 3D-Grafikschnittstelle benötigen, vor allem für Spiele und [[CAx]]-Applikationen, wurden [[DirectX]] und [[OpenGL]] geschaffen.
Für Anwendungen, die eine schnellere 3D-Grafikschnittstelle benötigen, vor allem für Spiele und [[CAx]]-Applikationen, wurden [[DirectX]] und [[OpenGL]] geschaffen.


Zeile 9: Zeile 11:
== Weblinks ==
== Weblinks ==


* [[Microsoft Developer Network]] (MSDN): [http://msdn.microsoft.com/en-us/library/windows/desktop/ff686799%28v=vs.85%29.aspx GDI Print API]
* [[Microsoft Developer Network]] (MSDN): [https://docs.microsoft.com/en-us/windows/win32/printdocs/gdi-printing GDI Print API]


== Einzelnachweise ==
[[Kategorie:Microsoft]]
<references>
[[Kategorie:Programmierschnittstelle]]
<ref name=gdihw1>{{internetquelle |autor= |hrsg= |url=https://docs.microsoft.com/en-us/windows/win32/direct2d/comparing-direct2d-and-gdi |sprache= en |titel= Comparing Direct2D and GDI Hardware Acceleration - Availability of Hardware Acceleration|werk= |seiten= |datum= |zugriff=2014-04-03}}</ref>
<ref name=gdihw2>{{internetquelle |autor= |hrsg= |url=https://docs.microsoft.com/en-us/windows-hardware/drivers/display/gdi-hardware-acceleration |sprache= en |titel= GDI Hardware Acceleration|werk= |seiten= |datum= |zugriff=2014-04-03}}</ref>
</references>

[[Kategorie:Windows-Programmierschnittstelle]]
[[Kategorie:Grafikbibliothek]]
[[Kategorie:Drucksystem]]
[[Kategorie:Drucksystem]]

Aktuelle Version vom 16. Dezember 2022, 01:10 Uhr

Das Graphics Device Interface (GDI) ist eine Komponente des Betriebssystems Windows. Es dient als Programmierschnittstelle zu logischen Grafikgeräten und kapselt die Komplexität der Hardware ab (Hardwareabstraktion). Diese logischen Grafikgeräte werden in GDI als Gerätekontext (engl. Device Context) bezeichnet, in einigen Programmiersprachen ist dafür die Bezeichnung Canvas (zu dt. Leinwand) gebräuchlich. Neben der Ausgabe über physische Geräte (Grafikkarte oder Drucker) kann auch die Ausgabe als Rastergrafik im Speicher oder als eine Art Schrittprotokolldatei (WMF/EMF, unter Windows als Vektorgrafikformat genutzt) erfolgen.

GDI ist zuständig für Aufgaben wie das Zeichnen von Linien und Kurven (Vektorgrafik), Darstellung von Schriftzeichen und Bitmaps und Verwaltung von Farbpaletten. Die Komponenten DIB-Engine (Device-Independent Bitmap) und das ICM-Farb-Subsystem erlauben eine geräteunabhängige Verarbeitung von Bitmaps bzw. Farben. Benötigt ein Programm Informationen über gerätespezifische Eigenschaften (Bildschirmauflösung, Bildschirmtyp), kann es sie vom Device Context beziehen. Die GDI-Aufrufe sind aber weitestgehend unabhängig davon, um was für einen Device Context es sich handelt. Ein Programm, das eine Grafik beispielsweise auf dem Bildschirm ausgibt, könnte sie mit minimalen Anpassungen auf einem Drucker ausgeben. Vektorgrafik- und Schriftbefehle werden bei direkter Ausgabe auf einem Drucker-Gerätekontext nicht von GDI gerastert, sodass ein beliebiger physischer Drucker sie in seiner optimalen Auflösung ausgibt[1] und bei durch einen virtuellen Drucker erstellten Dokumenten (z. B. PDF oder XPS) eine Entnahme von Grafiken und Text möglich ist.

Da die meisten Routinen zum Zeichnen auf dem Prozessor arbeiten und nicht auf der Grafikkarte, ist die Grafikausgabe von GDI relativ langsam. Unter Windows Vista wird die Grafikausgabe von GDI komplett von der CPU übernommen, wodurch diese noch langsamer als in früheren Windows-Betriebssystemen ist.[2] Seit Windows 7 werden mit dem Windows „Display Driver Model v1.1“ wieder wenige Zeichenoperationen von der Grafikkarte beschleunigt.[3] Für Anwendungen, die eine schnellere 3D-Grafikschnittstelle benötigen, vor allem für Spiele und CAx-Applikationen, wurden DirectX und OpenGL geschaffen.

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. About the GDI Print API, MSDN, abgerufen am 7. Juni 2019 (englisch).
  2. Comparing Direct2D and GDI Hardware Acceleration - Availability of Hardware Acceleration. Abgerufen am 3. April 2014 (englisch).
  3. GDI Hardware Acceleration. Abgerufen am 3. April 2014 (englisch).