2012-02-19 23 views
6

Non riesco a ottenere una risposta definitiva tramite ricerca. Le accelerazioni Win32 accelerano l'hardware (GDI, non GDI +). Non so come queste funzioni si interfacciano con il driver grafico. Esiste una chiamata di funzione per verificare questa funzionalità, ad esempio? GetCaps? per un dispositivo grafico specifico (dispositivo grafico win32) per vedere se queste funzioni ricevono l'accelerazione hardware?Le funzioni GDI accelerano l'hardware BitBlt e StretchBlt in Win32?

risposta

3

Secondo this, GDI è solo hardware accelerato su Windows 7 in poi. This elenca come specificare quali operazioni devono essere accelerate dall'hardware. incluso nella lista è BitBlt e StretchBlt, quindi sì, sono accelerati hardware, ma è necessario disporre di un sistema che lo supporta, e devi abilitarlo.

+3

Principalmente giusto. GDI è stato accelerato hardware per un tempo molto lungo. Windows Vista era solo un momento oscuro per GDI; ha perso la sua accelerazione hardware e gli utenti si sono lamentati incessantemente. Di conseguenza (o forse era il piano da sempre), Windows 7 ha riportato l'accelerazione hardware a GDI e tutto andava bene con l'universo. –

+0

Aero, non Vista. –

2

Se le operazioni GDI sono hardware accelerate dipende dal driver ma tutte le versioni di Windows tranne Vista * lo supportano.

  • Vista ha aggiunto un nuovo modello di driver denominato Windows Display Driver Model (WDDM)
  • WDDM v1.1 è stato aggiunto in Windows 7, questo incluso il ritorno di GDI hardware acceleration.

*: È possibile utilizzare un driver XP su Vista, cosa succede a GDI in quella configurazione che non conosco. (Forse è possibile rilevare questo verificando per D3DCAPS2_CANSHARERESOURCE?) Modifica: Secondo this, funziona con XPDM.

Ci sono alcuni kernel caps che è possibile controllare su Win7 ma non so se è possibile controllare in usermode.

+0

Nota: una cosa che sembra impedire l'accelerazione su Win7 in base ai miei test è l'utilizzo di SetStretchBltMode (dc, HALFTONE) per abilitare il filtro lineare durante lo stiramento (non sono sicuro che sia stato accelerato su XP). – Suma

+0

@Suma Sì, e mi chiedo perché l'hardware funziona molto bene. In effetti è lì dove il guadagno sarebbe significativo. –