D3DLOCK

Eine Kombination aus 0 oder mehr Sperroptionen, die den Typ der auszuführenden Sperre beschreiben.

#define BESCHREIBUNG
D3DLOCK_DISCARD Die Anwendung verwirft den gesamten Arbeitsspeicher innerhalb der gesperrten Region. Bei Vertex- und Indexpuffern wird der gesamte Puffer verworfen. Diese Option ist nur gültig, wenn die Ressource mit dynamischer Nutzung erstellt wird (siehe D3DUSAGE).
D3DLOCK_DONOTWAIT Ermöglicht es einer Anwendung, CPU-Zyklen zurückzugewinnen, wenn der Treiber die Oberfläche nicht sofort sperren kann. Wenn dieses Flag festgelegt ist und der Treiber die Oberfläche nicht sofort sperren kann, gibt der Sperraufruf D3DERR_WASSTILLDRAWING zurück. Dieses Flag kann nur verwendet werden, wenn eine Mit CreateOffscreenPlainSurface, CreateRenderTarget oder CreateDepthStencilSurface erstellte Oberfläche gesperrt wird. Dieses Flag kann auch mit einem Backpuffer verwendet werden.
D3DLOCK_NO_DIRTY_UPDATE Standardmäßig fügt eine Sperre für eine Ressource dieser Ressource eine modifiziert Region hinzu. Diese Option verhindert Änderungen am modifiziert Zustand der Ressource. Anwendungen sollten diese Option verwenden, wenn während des Sperrvorgangs zusätzliche Informationen zu den Regionen geändert wurden.
D3DLOCK_NOOVERWRITE Gibt an, dass arbeitsspeicher, auf den in einem Zeichnungsaufruf seit der letzten Sperre ohne dieses Flag verwiesen wurde, während der Sperre nicht geändert wird. Dadurch können Optimierungen aktiviert werden, wenn die Anwendung Daten an eine Ressource anhängt. Wenn Sie dieses Flag angeben, kann der Treiber sofort zurückgeben, wenn die Ressource verwendet wird. Andernfalls muss der Treiber die Verwendung der Ressource beenden, bevor er von der Sperrung zurückkehrt.
D3DLOCK_NOSYSLOCK Das Standardverhalten einer Videospeichersperre besteht darin, einen systemweiten kritischen Abschnitt zu reservieren, wodurch sichergestellt wird, dass für die Dauer der Sperre keine Änderungen im Anzeigemodus auftreten. Diese Option bewirkt, dass der systemweite kritische Abschnitt nicht für die Dauer der Sperre gehalten wird.
Der Sperrvorgang ist zeitaufwändig, kann aber das System in die Lage versetzen, andere Aufgaben auszuführen, z. B. das Bewegen des Mauscursors. Diese Option ist nützlich für Sperren mit langer Dauer, z. B. die Sperre des Rückpuffers für das Softwarerendering, die sich andernfalls negativ auf die Reaktionsfähigkeit des Systems auswirken würde.
D3DLOCK_READONLY Die Anwendung schreibt nicht in den Puffer. Dadurch können Ressourcen, die in nicht nativen Formaten gespeichert sind, den Schritt zur Erneutkomprimierung beim Entsperren speichern.

 

Konstante Informationen

Anforderung Wert
Header d3d9types.h
Mindestbetriebssystem Windows 98

 

Direct3D-Konstanten

LockRect

Sperre

LockRect

LockRect

Sperre

Lockbox

Lockbox

LockIndexBuffer

LockVertexBuffer

LockVertexBuffer

LockAttributeBuffer

LockAttributeBuffer

LockIndexBuffer

LockVertexBuffer