Win32: Y at-il un GDI32.dll de remplacement qui utilise l'accélération matérielle?
-
27-09-2019 - |
Question
Quelqu'un at-il créé une sur la version de GDI32.dll
qui profite de l'accélération matérielle disponible sur la machine? gdiplus.dll
?
À partir de Windows Vista, GDI n'est plus matériel accéléré. (GDI + n'a jamais été accéléré du matériel). Sans GDI de fixation Microsoft (et GDI +) pour pouvoir bien fonctionner sur l'ordinateur. Des applications natives (C ++ MFC, Delphi, etc.), et gérées applications WinForms, continuera à fonctionner mal pour toujours
Alors que je pourrait utiliser Direct2D pour les applications professionnelles, je ne peux pas contrôler le fait que l'environnement de développement crée encore des contrôles, avec des décennies de code de soutien aux bibliothèques, qui suppose la présence de GDI.
compatibilité des applications: Graphical Device Interface (GDI) :
primitives GDI telles que lineTo et Rectangle sont maintenant rendus dans le logiciel plutôt que du matériel vidéo, qui simplifier considérablement les pilotes d'affichage.
XP GDI est accélérée par le GPU pour des degrés divers en fonction de la façon dont la OS est configuré ou le pilote de périphérique (Pour plus de détails voir Accrocher Versus punting). Dans Vista, GDI n'est pas accélérée par le GPU
Par conséquent, dans Windows Vista, le GDI pilote d'affichage DDI a été modifié pour être uniquement mis en œuvre par Microsoft pilote fourni, le Canonical Display Driver (CDD). GDI rendu à un système bitmap de mémoire. régions sales ont été utilisés de mettre à jour la texture de la mémoire vidéo dont l'utilisation du gestionnaire de fenêtres à le bureau composite.
La solution
Il semble que Vista était un cas particulier dans l'histoire de la performance GDI. Les deux articles ci-dessous montrent que l'avenir de GDI regarde à nouveau brillant.
http://msdn.microsoft.com /en-us/library/ff729480%28VS.85%29.aspx
GDI est l'accélération matérielle sous Windows XP et accéléré sur Windows 7 lorsque la fenêtre Desktop Manager est en cours d'exécution et un pilote WDDM 1.1 est en cours d'utilisation. Direct2D est l'accélération matérielle sur presque tous les pilotes WDDM et quel que soit si DWM est en cours d'utilisation. Sur Vista, GDI sera toujours rendu sur la CPU.
http://blogs.msdn.com/b/e7/archive/2009/04/25/engineering-windows-7-for-graphics-performance.aspx
Sur la base de l'application dans le monde réel statistiques, ... nous avons travaillé avec notre graphiques partenaires IHV pour fournir soutenir dans leurs pilotes pour accélérer les plus couramment utilisés opérations GDI.
Autres conseils
Eh bien, oui, GDI est l'API « cela fonctionne de n'importe où à tout moment » pour le rendu graphique. Il met très faibles exigences du pilote vidéo. Tout le monde a ce droit depuis longtemps. Ce qui a pris un certain temps, je suis une mémoire distincte d'une carte vidéo ATI Mach qui m'a donné du fil à retordre. Il m'a arrêté d'acheter des produits ATI pour un certain temps.
Tout le monde a DirectX droit il y a moins de temps trop longtemps. Il est d'être en profitant de dans le modèle de rendu WPF, il repose entièrement sur DirectX pour faire le travail. Milcore est le nom de cale. Vous ne serez pas jusqu'à ce que vous achetez dans le modèle de programmation WPF.
Que voulez-vous dire par l'accélération matérielle? Je veux dire, GDI ne fait pas beaucoup autre que blits raster, mais ceux étaient le matériel accéléré. Et, étant donné que Vista et Windows 7 arn't terriblement lent avec des applications de bureau, sont encore.
GDI obtient toujours les pilotes vidéo pour faire tout le levage lourd, donc si GDI n'est pas l'accélération matérielle, alors son conducteur fournisseurs faute, pas de GDI.