2012-02-19 6 views
6

Parece que no puedo obtener una respuesta definitiva a esto mediante la búsqueda. ¿El hardware de operaciones de blitting de Win32 está acelerado (GDI, no GDI +)? No sé cómo estas funciones interactúan con el controlador de gráficos. ¿Hay alguna llamada de función para verificar esta funcionalidad, como? GetCaps? para un dispositivo de gráficos específico (dispositivo de gráficos win32) para ver si estas funciones están recibiendo aceleración de hardware?¿Están aceleradas las funciones GDI BitBlt y hardware StretchBlt en Win32?

Respuesta

3

De acuerdo con this, GDI solo es hardware acelerado en Windows 7 en adelante. This enumera cómo especificar qué operaciones se acelerará el hardware. incluido en la lista es BitBlt y StretchBlt, así que sí son hardware acelerado, pero necesita tener un sistema que lo soporte, y debe habilitarlo.

+3

Principalmente a la derecha. GDI ha sido acelerado por hardware durante mucho tiempo. Windows Vista era solo un momento oscuro para GDI; perdió su aceleración de hardware y los usuarios se quejaron incesantemente. Como resultado (o tal vez fue el plan desde el principio), Windows 7 devolvió la aceleración de hardware a GDI y todo volvió a funcionar bien con el universo. –

+0

Aero, no Vista. –

2

Si las operaciones de GDI son hardware acelerado depende del controlador, pero todas las versiones de Windows excepto Vista * lo admiten.

  • Vista añadió un nuevo modelo de controlador llamado Windows Display Driver Model (WDDM) se añadió
  • WDDM v1.1 en Windows 7, esto incluía el retorno de GDI hardware acceleration.

*: Es posible usar un controlador XP en Vista, lo que le sucede a GDI en esa configuración no lo sé. (¿Quizás pueda detectar esto marcando D3DCAPS2_CANSHARERESOURCE?) Editar: Según this, funciona con XPDM.

Hay algunos núcleos caps que puede consultar en Win7 pero no sé si es posible verificar el modo de usuario.

+0

Nota: una cosa que parece prevenir la aceleración en Win7 basada en mi prueba es usar SetStretchBltMode (dc, HALFTONE) para habilitar el filtrado lineal durante Stretch (no estoy seguro si esto se aceleró en XP). – Suma

+0

@Suma Sí, y me pregunto por qué el hardware lo hace muy bien. De hecho, es allí donde la ganancia sería significativa. –

Cuestiones relacionadas