Grafikgerät-Schnittstelle

Graphics Device Interface (GDI) ist ein Microsoft Windows application, Schnittstelle und Kernbetriebssystembestandteil programmierend, der dafür verantwortlich ist, grafische Gegenstände zu vertreten und sie Produktionsgeräten wie Monitore und Drucker zu übersenden.

GDI ist für Aufgaben wie Zeichnung von Linien und Kurven, Übergabe von Schriftarten und das Berühren von Paletten verantwortlich. Es ist dafür nicht direkt verantwortlich, Fenster, Menüs usw. zu ziehen; diese Aufgabe wird für das Benutzersubsystem vorbestellt, das in user32.dll wohnt und oben auf GDI gebaut wird. Andere Systeme haben Bestandteile, die GDI, zum Beispiel QuickDraw des Macintoshes und der GDK/Xlib von GTK ähnlich sind.

Vielleicht ist die bedeutendste Fähigkeit zu GDI über direktere Methoden, auf die Hardware zuzugreifen, seine kletternden Fähigkeiten und seine abstrakte Darstellung von Zielgeräten. Mit GDI ist es sehr leicht, sich auf vielfache Geräte, wie ein Schirm und ein Drucker zu stützen, und richtige Fortpflanzung in jedem Fall zu erwarten. Diese Fähigkeit ist am Zentrum von allen, Was Sie Sehen, Ist, Was Sie Anwendungen für Windows von Microsoft Bekommen.

Einfache Spiele, die schnelle Grafikübergabe nicht verlangen, verwenden GDI. Jedoch ist GDI relativ hart, für den fortgeschrittenen Zeichentrickfilm zu verwenden, und hat an einem Begriff Mangel, um mit individuellen Videorahmen in der Videokarte gleichzeitig zu sein, hat an Hardware rasterization für den 3D usw. Mangel. Moderne Spiele verwenden gewöhnlich DirectX oder OpenGL statt dessen, die Programmierer die Eigenschaften der modernen Hardware ausnutzen lassen.

Technische Details

Device Context (DC) wird verwendet, um die Attribute des Textes und der Images zu definieren, die Produktion zum Schirm oder Drucker sind. Der wirkliche Zusammenhang wird durch GDI aufrechterhalten. Ein Griff zum Gerät-Zusammenhang (HDC) wird erhalten, bevor Produktion geschrieben und dann veröffentlicht wird, nachdem Elemente geschrieben worden sind.

Versionsgeschichte

Windows XP

Mit der Einführung von Windows XP wurde GDI für seinen Nachfolger, der C ++-based GDI + Subsystem missbilligt. GDI + fügt anti-aliased 2. Grafik hinzu, Punkt-Koordinaten, Anstieg-Schattierung, komplizierteres Pfad-Management, innere Unterstützung für moderne Grafikdatei-Formate wie JPEG und PNG, und Unterstützung für die Zusammensetzung von affine Transformationen in der 2. Ansicht-Rohrleitung schwimmen lassend. GDI + verwendet ARGB-Werte, um Farbe zu vertreten. Der Gebrauch dieser Eigenschaften ist in der Windows-XP'S-Benutzerschnittstelle und mehreren seiner Anwendungen wie Microsoft Paint, Windows-Bild und Fax-Zuschauer, Foto offenbar, das Zauberer und Meinen Bilderlichtbildervortrag screensaver Druckt, und ihre Anwesenheit in der grundlegenden Grafikschicht vereinfacht außerordentlich Durchführungen von mit dem Vektorengrafiksystemen wie Blitz oder SVG.

GDI + wird mit allen Versionen von Windows von Windows XP eingeschlossen. Der GDI + dynamische Bibliothek kann auch mit einer Anwendung verladen und unter älteren Versionen von Windows von Windows 98 und Windows NT 4.0 vorwärts verwendet werden.

Wegen der zusätzlichen Textverarbeitung und Entschlossenheitsunabhängigkeitsfähigkeiten in GDI + wird Textübergabe durch die Zentraleinheit durchgeführt, und es ist fast eine Größenordnung langsamer als in beschleunigtem GDI der Hardware. Chris Jackson hat einige Tests veröffentlicht, die anzeigen, dass ein Stück des Textes, der Code macht, den er geschrieben hatte, 99,000 glyphs pro Sekunde in GDI machen konnte, aber derselbe Code mit GDI + hat 16,600 glyphs pro Sekunde gemacht.

Das Microsoft.NET Klassenbibliothek stellt eine geführte Schnittstelle für GDI + über den namespace zur Verfügung.

GDI + ist (im Zweck und der Struktur) zu QuickDraw des Apfels GX Subsystem, und die offene Quelle libart und Kairoer Bibliotheken ähnlich.

Windows-Aussicht

In der Windows-Aussicht, allen Windows-Anwendungen einschließlich GDI und GDI + Anwendungen, die im neuen compositing Motor, der Tischfensterbetriebsleiter geführt sind, der oben auf dem Windows-Anzeigefahrer Model gebaut wird. Die GDI machen Pfad wird durch DWM umadressiert, und GDI wird vom Videokarte-Fahrer nicht mehr Hardware-beschleunigt. Jedoch, wegen der Natur der Tischzusammensetzung (inneres Management, bitmaps und Durchsichtigkeit und Antialiasing von GDI + zu bewegen, am DWM Kern behandelt werden), können Operationen wie Fensterbewegungen schneller oder mehr antwortend sein, weil zu Grunde liegender Inhalt durch die Anwendung nicht wiedergemacht zu werden braucht.

Windows 7

Windows 7 schließt GDI Hardware-Beschleunigung für blitting Operationen ein. Das verbessert GDI Leistung mit neuen Eigenschaften im Windows-Anzeigefahrer Model v1.1. Das erlaubt dem DWM Motor, lokales Videogedächtnis für compositing zu verwenden, dadurch Systemspeicherfußabdruck reduzierend und die Leistung von Grafikoperationen vergrößernd. Die meisten primitiven GDI Operationen werden verschieden von Direct2D noch immer nicht Hardware-beschleunigt. Bezüglich des Novembers 2009 haben sowohl ATI als auch Nvidia WDDM v1.1 vereinbare Videofahrer veröffentlicht.

GDI + setzt fort, sich auf die Softwareübergabe in Windows 7 zu verlassen.

GDI Drucker

Ein GDI Drucker oder Winprinter (analog Winmodem) sind ein Drucker, der entworfen ist, um Produktion von einem Gastgeber-Computer zu akzeptieren, der den GDI unter Windows führt. Der Gastgeber-Computer druckt wirklich alles Verarbeitung: Die GDI Software macht eine Seite als ein bitmap, der einem Softwaredrucker-Fahrer gesandt wird, der gewöhnlich vom Drucker-Hersteller versorgt ist, um für den besonderen Drucker, und dann dem Drucker in einer Prozession zu gehen. Die Kombination des GDI und des Fahrers ist bidirektional; sie erhalten Information vom Drucker solcher als, ob es bereit ist zu drucken, wenn es außer Papier oder Tinte und so weiter ist.

Non-GDI Drucker verlangen Hardware, firmware, und Gedächtnis für die Seitenübergabe; ein GDI Drucker verwendet den Gastgeber-Computer dafür, es preiswerter machend, zu verfertigen als ein ähnlicher, aber non-GDI Drucker. Einige Hersteller erzeugen im Wesentlichen denselben Drucker in einer Version, die mit einer Drucker-Betriebssprache wie PCL oder PostScript und ein preiswerterer GDI-nur Version vereinbar ist. In den meisten Fällen unterstützen nur die wirklichen Modelle der niedrigsten Kosten in der Reihe jedes gegebenen Herstellers nur GDI.

Ein Drucker mit seiner eigenen Betriebssprache kann Eingang von jedem Gerät mit einem passenden Fahrer akzeptieren; ein GDI Drucker verlangt PC-Laufen-Windows, und ist mit anderer Hardware und Betriebssystemen nicht vereinbar. In allgemeinen GDI Druckern sind mit Hardware-Druckservern nicht vereinbar, obwohl einige Server eingebaute in einer Prozession gehende Fähigkeit haben, die sie vereinbar mit angegebenen GDI Druckern macht. GDI Drucker können zu Computern in einem Netz bereitgestellt werden, wenn sie als geteilte Drucker auf einem Computer verbunden werden, der auf und laufendes Windows ist. Einige "allgemeine" GDI Treiber sind geschrieben worden, die einige GDI Drucker vereinbar mit Nichtmicrosoft Betriebssysteme wie Linux machen, aber es gibt keine Garantie, dass jeder besondere GDI Drucker unterstützt wird.

Beschränkungen

Jedes Mal, wenn ein Fenster geöffnet wird, verbraucht es GDI-Gegenstände. Als die Kompliziertheit des Fensters, mit zusätzlichen Eigenschaften wie Knöpfe und Images zunimmt, nimmt sein GDI-Gegenstand-Gebrauch auch zu. Wenn zu viele Gegenstände im Gebrauch sind, ist Windows unfähig, mehr GDI Gegenstände zu ziehen, zu sich schlecht benehmender Software und eingefrorener und unempfänglicher Programm-Operation führend. Die verfügbaren Gesamt-GDI-Gegenstände ändern sich von einer Version von Windows zum folgenden: Windows 95, 98, und Millennium hatte eine Grenze von 1,200 Gesamtgegenständen; Windows 2000 hat eine Grenze von 16,384 Gegenständen; und Windows XP, Aussicht und Windows 7 hat eine konfigurierbare Grenze (über die Registrierung) dass Verzug zu 10,000 Gegenständen pro Prozess (aber ein theoretisches Maximum 65,536 für die komplette Sitzung).

Frühere Versionen von Windows wie Windows 3.1 und Windows 98 haben ein Quellenmeter-Programm eingeschlossen, um dem Benutzer zu erlauben, zu kontrollieren, wie viel des Gesamtsystems GDI Mittel im Gebrauch waren. Dieser Quellenmeter hat sich ironisch verzehrt GDI wendet sich ein. Spätere Versionen wie Windows 2000 und Windows XP kann GDI-Gegenstand-Gebrauch wegen jedes Programms im Aufgabe-Betriebsleiter melden, aber sie können dem Benutzer die GDI verfügbare Gesamtkapazität nicht erzählen.

Das Überlaufen GDI Kapazität kann Windows selbst betreffen, neue Fenster davon abhaltend, sich, Menüs vom Anzeigen zu öffnen, und Kästen vom Erscheinen alarmieren. Die Situation kann schwierig sein sich zu klären und kann einen des Systems hart neu gefassten erzwungenen potenziell verlangen, da es Kernsystemprogramme davon abhält zu fungieren.

Zum Beispiel macht das Zwingen eines eingefrorenen Prozesses, das Verwenden des Aufgabe-Betriebsleiters zu beenden, normalerweise "Sind Sie sicheres" wachsames Fenster erscheint. Ohne freien GDI hupt Windows ein Fehler und die wachsame Wahl erscheinen nicht, so können die GDI-überfließenden Prozesse nicht begrenzt werden (wenn der Benutzer Taskkill-Befehl nicht verwendet).

Manchmal kann eine einzelne Anwendung das komplette freie Tischhaufen-Gedächtnis verbrauchen. Es gibt ein Werkzeug von Microsoft genannt der Tischhaufen-Monitor, der sich zeigen kann, welche Anwendung sich was Prozent des Tischhaufens verzehrt.

Nachfolger: Direct2D und DirectWrite

Direct2D und DirectWrite wurden entworfen, um GDI/GDI + und Uniscribe beziehungsweise für die bildschirmorientierte Übergabe zu ersetzen, und wurden mit Windows 7 und Windows-Server 2008 R2, sowie Windows-Aussicht und Windows-Server 2008 (mit der Plattform-Aktualisierung installiert) verladen.

Siehe auch

  • WinG
  • DirectX
  • XML Papierspezifizierung
  • Direct2D
  • DirectWrite
  • Uniscribe
  • Windows-Bibliotheksdateien von Microsoft

Zeichen und Verweisungen

Links


Lol Coxhill / Schweizerischer Wächter
Impressum & Datenschutz