Compartir a través de


D3DLOCK

Combinación de cero o más opciones de bloqueo que describen el tipo de bloqueo que se va a realizar.

#define Descripción
D3DLOCK_DISCARD La aplicación descarta toda la memoria dentro de la región bloqueada. En el caso de los búferes de vértices e índices, se descartará todo el búfer. Esta opción solo es válida cuando se crea el recurso con uso dinámico (consulte D3DUSAGE).
D3DLOCK_DONOTWAIT Permite a una aplicación recuperar ciclos de CPU si el controlador no puede bloquear la superficie inmediatamente. Si se establece esta marca y el controlador no puede bloquear la superficie inmediatamente, la llamada de bloqueo devolverá D3DERR_WASSTILLDRAWING. Esta marca solo se puede usar al bloquear una superficie creada mediante CreateOffscreenPlainSurface, CreateRenderTarget o CreateDepthStencilSurface. Esta marca también se puede usar con un búfer de reserva.
D3DLOCK_NO_DIRTY_UPDATE De forma predeterminada, un bloqueo en un recurso agrega una región desfasada a ese recurso. Esta opción evita cualquier cambio en el estado desfasado del recurso. Las aplicaciones deben usar esta opción cuando tengan información adicional sobre el conjunto de regiones modificadas durante la operación de bloqueo.
D3DLOCK_NOOVERWRITE Indica que la memoria a la que se hizo referencia en una llamada de dibujo desde el último bloqueo sin esta marca no se modificará durante el bloqueo. Esto puede habilitar las optimizaciones cuando la aplicación anexa datos a un recurso. Al especificar esta marca, el controlador puede devolver inmediatamente si el recurso está en uso; de lo contrario, el controlador debe terminar de usar el recurso antes de volver del bloqueo.
D3DLOCK_NOSYSLOCK El comportamiento predeterminado de un bloqueo de memoria de vídeo es reservar una sección crítica para todo el sistema, lo que garantiza que no se producirán cambios en el modo de visualización durante la duración del bloqueo. Esta opción hace que la sección crítica para todo el sistema no se mantenga durante el bloqueo.
La operación de bloqueo consume mucho tiempo, pero puede permitir que el sistema realice otras tareas, como mover el cursor del mouse. Esta opción es útil para bloqueos de larga duración, como el bloqueo del búfer de reserva para la representación de software que afectaría negativamente a la capacidad de respuesta del sistema.
D3DLOCK_READONLY La aplicación no escribirá en el búfer. Esto permite que los recursos almacenados en formatos no nativos guarden el paso de recompresión al desbloquear.

 

Información constante

Requisito Value
Encabezado d3d9types.h
Sistema operativo mínimo Windows 98

 

Constantes de Direct3D

LockRect

Lock

LockRect

LockRect

Lock

Caja

Caja

LockIndexBuffer

LockVertexBuffer

LockVertexBuffer

LockAttributeBuffer

LockAttributeBuffer

LockIndexBuffer

LockVertexBuffer