Pregunta

¿Alguien por ahí creó una versión de GDI32.dll que se aprovecha de la aceleración de hardware disponible en la máquina? gdiplus.dll?

A partir de Windows Vista, GDI es de hardware ya no se aceleró. (GDI + nunca fue acelerada por hardware). Sin fijación de Microsoft GDI (y GDI +) para poder correr bien en el equipo:. Aplicaciones nativas (C ++ MFC, Delphi, etc), y aplicaciones Windows Forms administradas, continuará funcionando mal para siempre

Mientras i podría utilizar Direct2D para aplicaciones de negocios, no puedo controlar el hecho de que el entorno de desarrollo sigue creando controles, con décadas de código de soporte de la biblioteca, que asume la presencia de GDI.


compatibilidad de aplicaciones: Dispositivo de Interfaz gráfica (GDI) :

  

GDI primitivas tales como LineTo y   Rectángulo ahora se representa en el software   en lugar de hardware de vídeo, que   simplificar en gran medida los controladores de pantalla.

de Windows y memoria de vídeo

  

En XP GDI es acelerado por la GPU a   diversos grados, dependiendo de cómo el   OS está configurado o el controlador de dispositivo   (Para más detalles véase el El enganchar Versus   Batea ).   En Vista, GDI no es acelerado por la GPU

Comparando Direct2D y GDI

  

Como resultado de ello, en Windows Vista, el GDI   controlador de pantalla DDI fue cambiado para ser   Sólo se implementa mediante una Microsoft   controlador suministrado, la pantalla de Canonical   Driver (CDD). GDI rindió a un sistema de   mapa de bits de memoria. Se utilizaron las regiones sucias   para actualizar la textura memoria de vídeo   el cual el gestor de ventanas a usos   compuesto del escritorio.

¿Fue útil?

Solución

Parece que Vista era un caso especial en la historia de rendimiento GDI. Ambos artículos siguientes muestran que el futuro parece brillante para la GDI de nuevo.

http://msdn.microsoft.com /en-us/library/ff729480%28VS.85%29.aspx

  

GDI es acelerado por hardware en Windows   XP, y se aceleró en Windows 7 cuando   el Administrador de ventanas de escritorio se está ejecutando   y un controlador WDDM 1.1 está en uso.   Direct2D es acelerado por hardware en   WDDM casi cualquier conductor y sin tener en cuenta   de si DWM está en uso. En Vista,   GDI siempre va a hacer en la CPU.

http://blogs.msdn.com/b/e7/archive/2009/04/25/engineering-windows-7-for-graphics-performance.aspx

  

Sobre la base de la aplicación en el mundo real   estadísticas, ... trabajamos con nuestra   IHV gráficos asociados a ofrecer   apoyar en sus controladores para acelerar   el más comúnmente utilizado operaciones GDI.

Otros consejos

Bueno, sí, GDI es la "funciona en cualquier momento en cualquier lugar" API para la representación de gráficos. Se impone exigencias muy bajos en el controlador de vídeo. Todo el mundo tiene ese derecho hace mucho tiempo. Que tardó un poco, tengo una memoria distinta de una tarjeta de vídeo ATI Mach que me dio un sinfín de problemas. Se me ha impedido la compra de productos de ATI durante bastante tiempo.

Todo el mundo tiene derecho DirectX hace en menor tiempo demasiado largo. Es estar aprovechando en el modelo de prestación de WPF, que depende por completo de DirectX para hacer el trabajo. Milcore es el nombre de cuña. No lo conseguirá hasta que comprar en el modelo de programación de WPF.

¿Qué entiende usted por la aceleración de hardware? Es decir, GDI no hace mucho que no sea blits trama, pero los que fueron acelerados por hardware. Y, dado que Vista y Windows 7 ar no terriblemente lento con las aplicaciones de escritorio, todavía lo son.

GDI todavía recibe los controladores de vídeo para hacer todo el trabajo pesado, por lo que si GDI no es acelerado por hardware, entonces es el conductor proveedores de culpa, no de GDI.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top