Perché DirectDraw consente agli sviluppatori di scrivere direttamente su VRAM GPU?

1

Sto invertendo un vecchio gioco DirectX 7 e ho notato che a volte usa Blt e BltFast ma altre volte blocca la superficie di directdraw e scrive direttamente in VRAM GPU. Perché gli sviluppatori hanno adottato quest'ultimo approccio? Non solo è più lento (poiché tutto il rendering viene eseguito nella CPU) ma è anche molto più difficile. Secondo VINO , questa pratica era abbastanza comune. Gli sviluppatori di giochi userebbero una combinazione di lock, blitting e GetDC / ReleaseDC.

    
posta user16797 26.07.2016 - 04:46
fonte

1 risposta

4

Le funzionalità di rendering dell'hardware potrebbero non essere sempre adatte alle tue esigenze, quindi a volte devi solo dipingere i pixel da solo.

Quindi, la tua domanda si riduce a "perché consentire l'accesso diretto alla VRAM quando puoi sempre dipingere i pixel nella RAM e poi averli Blt ed dalla RAM alla VRAM?"

La risposta è che negli anni Novanta non avevamo la grande quantità di RAM che abbiamo a disposizione oggi, quindi allocare una porzione di RAM grande quanto la VRAM non era sempre possibile, o non era sempre la migliore opzione. (L'allocazione della memoria può avere un costo enorme, soprattutto se è necessario scambiare altra memoria su disco perché ciò accada.)

    
risposta data 26.07.2016 - 09:36
fonte

Leggi altre domande sui tag