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.

Windows et mémoire vidéo

  

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

comparaison Direct2D et GDI

  

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.

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top