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
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.
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
@Suma Sí, y me pregunto por qué el hardware lo hace muy bien. De hecho, es allí donde la ganancia sería significativa. –
- 1. ¿Qué funciones de OpenGL no son aceleradas por GPU?
- 2. Quiero saber qué funciones están disponibles desde un Win32.DLL
- 3. ¿Cómo cargaría una imagen PNG usando Win32/GDI (sin GDI + si es posible)?
- 4. ¿Las funciones LoadLibrary, FreeLibrary y GetModuleHandle Win32 son seguras?
- 5. ¿Las funciones nombradas están infravaloradas en JavaScript?
- 6. BitBlt en Qt4?
- 7. Dibujar rectángulo azul ligeramente transparente en Win32 GDI nativo
- 8. ¿Las aceleraciones 2D transforman el hardware en Mobile Safari?
- 9. ¿Cómo acelerar BitBlt para capturar pantalla con aero?
- 10. En C++, ¿en qué memoria están las funciones de clase?
- 11. ¿En qué idioma están escritas las funciones de PHP incorporadas?
- 12. las funciones sobrecargadas están ocultas en la clase derivada
- 13. Debug Break en Win32 Api funciones
- 14. QGL ¿Aceleración de hardware y hardware?
- 15. GDI + doble búfer en C++
- 16. ¿Las funciones de NPP no están completamente optimizadas?
- 17. ¿Cuál es la diferencia entre GDI y GDI +?
- 18. ¿Cómo capturo las funciones de Javascript que se están llamando?
- 19. ORA-30483: las funciones de ventana no están permitidas aquí
- 20. qué funciones están incluidas en una JVM
- 21. Cómo utilizar Marshal.ReleaseComObject con funciones nativas Win32
- 22. ¿Las funciones de alerta y confirmación están incorporadas en JavaScript, o son parte del DOM?
- 23. ¿Cómo aumentar el rendimiento sobre DrawImage de GDI (sin escala)?
- 24. * Sutil * ¿Diferencias entre las funciones VB y las funciones Convert.To *?
- 25. ¿Alguien puede explicar cuáles son las funciones de hardware TSO/LRO en TCP?
- 26. ¿Cuáles son las diferencias entre RedrawWindow y UpdateWindow en Win32?
- 27. Llamar a las funciones de Win32 para devolver cadenas con alien en Lua
- 28. Dibujando muchos rectángulos en GDI +
- 29. Velocidad de las funciones cos() y sin() en sombreadores GLSL?
- 30. ¿Las ventanas Win32 son seguras?
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. –
Aero, no Vista. –