Win32: Gibt es einen Ersatz GDI32.dll dass Anwendungen Hardware-Beschleunigung?
-
27-09-2019 - |
Frage
Hat jemand da draußen eine Version von GDI32.dll
geschaffen, die Vorteile der Hardwarebeschleunigung auf der Maschine nimmt? gdiplus.dll
?
Beginnend mit Windows Vista, GDI ist nicht mehr Hardware beschleunigt. (GDI + war nie Hardware beschleunigt). Ohne Microsoft GDI Festsetzung (und GDI +) gut laufen zu können, auf dem Computer. Native Anwendungen (C ++ MFC, Delphi, etc.), und verwalten WinForms-Anwendungen, wird auch weiterhin schlecht für immer laufen
Während i konnte verwenden Direct2D für Business-Anwendungen, ich die Tatsache nicht steuern kann, dass die Entwicklungsumgebung noch Kontrollen schafft, mit Jahrzehnten der Bibliothek Support-Code, dass die Anwesenheit von GDI annimmt.
Application Compatibility: Graphical Device Interface (GDI) :
GDI Primitiven wie LineTo und Rectangle ist jetzt in der Software gerendert eher als Video-Hardware, die stark die Display-Treiber vereinfachen.
In XP GDI ist GPU beschleunigt verschiedene Grade je nachdem, wie die O ist so konfiguriert, oder der Gerätetreiber (Details siehe Anspannen Versus Stochern ). In Vista, GDI ist nicht GPU-beschleunigte
Als Ergebnis in Windows Vista, die GDI DDI-Display-Treiber wurde geändert werden nur von einem Microsoft implementiert mitgelieferten Treiber, die Canonical-Anzeige Driver (CDD). GDI gerendert auf ein System Speicher-Bitmap. Schmutzige Regionen wurden verwendet, den Videospeicher Textur zu aktualisieren die die Window-Manager Verwendungen Verbund des Desktop.
Lösung
Es scheint, dass Vista ein Sonderfall in der Geschichte der GDI Leistung war. Beide Artikel unten zeigen, dass die Zukunft für GDI sieht rosig wieder.
http://msdn.microsoft.com /en-us/library/ff729480%28VS.85%29.aspx
GDI ist hardwarebeschleunigte auf Windows XP und beschleunigt auf Windows 7, wenn der Desktop Window Manager ausgeführt wird und ein WDDM 1.1-Treiber ist im Einsatz. Direct2D ist hardwarebeschleunigte auf fast jeder WDDM-Treiber und unabhängig ob DWM in Gebrauch ist. Unter Vista GDI wird immer auf der CPU machen.
http://blogs.msdn.com/b/e7/archive/2009/04/25/engineering-windows-7-for-graphics-performance.aspx
Basierend auf reale Anwendung Statistiken, ... haben wir gemeinsam mit unseren Grafiken IHV-Partner zur Verfügung zu stellen Unterstützung in ihren Fahrern zu beschleunigen die am häufigsten verwendeten GDI-Operationen.
Andere Tipps
Nun ja, wird GDI das „es funktioniert überall und jederzeit“ API für Grafik-Rendering. Es setzt sehr geringe Anforderungen an den Grafiktreiber. Jeder hat dieses Recht vor langer Zeit. Was eine Weile dauerte, bekam ich eine deutliche Erinnerung an eine ATI Mach Grafikkarte, die mir kein Ende der Probleme gab. Es hielt mich vom Kauf ATI-Produkte für eine ganze Weile.
Jeder bekam DirectX Recht eine geringere lange Zeit zu Zeit vor. Es wird unter Ausnutzung der in der WPF-Rendering-Modell, es verlässt sich voll und ganz auf DirectX getan, um den Job zu bekommen. Milcore ist der Shim Namen. Sie werden es nicht bekommen, bis Sie in das WPF-Programmiermodell kaufen.
Was meinst du mit Hardware-Beschleunigung? Ich meine, GDI nicht viel anders als Raster blits tun, aber die waren Hardware beschleunigt. Und, da Vista und Windows 7 arn't schrecklich langsamer mit Desktop-Anwendungen, nach wie vor ist.
GDI bekommt immer noch die Videotreiber alle schweres Heben zu tun, also wenn GDI ist nicht Hardware beschleunigt, dann wird ihr der Fahrer-Anbieter Fehler, nicht GDI.