Freigeben über


Angeben des Arbeitsspeichertyps für eine Ressource

Der Anzeigetreiber für den Benutzermodus empfängt Informationen zum Speichertyp, der verwendet werden soll, wenn er eine Anforderung zum Erstellen einer Ressource empfängt. Der Speichertyp wird entweder als System- oder Videospeicher über die D3DDDIPOOL_SYSTEMMEM bzw. D3DDDIPOOL_VIDEOMEMORY Enumeratoren des Poolelements der D3DDDIARG_CREATERESOURCE-Struktur angegeben. Darüber hinaus stellt die Microsoft Direct3D-Runtime dem Treiber Hinweise zum Typ des zu verwendenden Videospeichers bereit, indem einer der folgenden Enumeratoren im Poolmitglied angegeben wird:

  • D3DDDIPOOL_LOCALVIDMEM

    Die Runtime empfiehlt, dass der Treiber lokalen Videospeicher verwendet.

  • D3DDDIPOOL_NONLOCALVIDMEM

    Die Laufzeit empfiehlt, dass der Treiber nicht lokale Videospeicher verwendet (z. B. AGP-Speicher).

Die Runtime stellt Dem Benutzermodus-Anzeigetreiber Hinweise zur Verbesserung der Leistung bereit. Beispielsweise kann die Runtime D3DDDIPOOL_NONLOCALVIDMEM angeben, wenn die CPU auf die Oberfläche schreibt, was mit nicht lokalem Videospeicher schneller ausgeführt wird.

Der Benutzermodus-Anzeigetreiber übergibt die Hinweise auf herstellerspezifische Weise über die pPrivateDriverData-Member der D3DDDI_ALLOCATIONINFO - und DXGK_ALLOCATIONINFO strukturen an den Anzeigeminiporttreiber. Der Anzeige-Miniporttreiber gibt dem Videospeicher-Manager das entsprechende Zu verwendende Speichersegment an, indem er den Bezeichner des Segments im HintedSegmentId-Element der DXGK_ALLOCATIONINFO-Struktur aus einem Aufruf der DxgkDdiCreateAllocation-Funktion des Treibers zurückgibt.

Unabhängig vom Typ des Videospeichers, der zum Erstellen der Ressource verwendet wird, darf der Benutzermodusanzeigetreiber keine semantischen Unterschiede zur Laufzeit verfügbar machen. Das heißt, für jeden Videospeichertyp muss der Treiber Informationen identisch rendern und dieselben Rückgabewerte zurückgeben.