Поделиться через


D3DLOCK

Сочетание параметров нулевой или более блокировки, описывающих тип выполняемой блокировки.

#define Описание
D3DLOCK_DISCARD Приложение удаляет всю память в заблокированном регионе. Для буферов вершин и индексов весь буфер будет удален. Этот параметр действителен только при создании ресурса с динамическим использованием (см. раздел D3DUSAGE).
D3DLOCK_DONOTWAIT Позволяет приложению восстановить циклы ЦП, если драйвер не может немедленно заблокировать поверхность. Если этот флаг установлен и драйвер не может немедленно заблокировать поверхность, вызов блокировки вернет D3DERR_WASSTILLDRAWING. Этот флаг можно использовать только при блокировке поверхности, созданной с помощью CreateOffscreenPlainSurface, CreateRenderTarget или CreateDepthStencilSurface. Этот флаг также можно использовать с задним буфером.
D3DLOCK_NO_DIRTY_UPDATE По умолчанию блокировка ресурса добавляет к ресурсу грязное регион. Этот параметр предотвращает любые изменения грязное состояния ресурса. Приложения должны использовать этот параметр, если у них есть дополнительные сведения о наборе регионов, измененных во время операции блокировки.
D3DLOCK_NOOVERWRITE Указывает, что память, которая была указана в вызове рисования с момента последней блокировки без этого флага, не будет изменена во время блокировки. Это может обеспечить оптимизацию, когда приложение добавляет данные к ресурсу. Указание этого флага позволяет драйверу немедленно возвращать данные, если ресурс используется. В противном случае драйвер должен завершить использование ресурса, прежде чем вернуться из блокировки.
D3DLOCK_NOSYSLOCK По умолчанию блокировка видеопамяти резервирует критически важный раздел для всей системы, гарантируя, что в течение блокировки не будут происходить изменения режима отображения. Этот параметр приводит к тому, что критический раздел на уровне системы не будет удерживаться в течение блокировки.
Операция блокировки занимает много времени, но может позволить системе выполнять другие задачи, такие как перемещение курсора мыши. Этот параметр полезен для длительных блокировок, таких как блокировка заднего буфера для программной отрисовки, которая в противном случае негативно повлияла бы на скорость отклика системы.
D3DLOCK_READONLY Приложение не будет выполнять запись в буфер. Это позволяет ресурсам, хранящимся в собственных форматах, сохранять шаг повторной сжатия при разблокировке.

 

Константная информация

Требование Значение
Заголовок d3d9types.h
Минимальная операционная система Windows 98

 

Константы Direct3D

LockRect

Lock

LockRect

LockRect

Lock

Защищенное хранилище

Защищенное хранилище

LockIndexBuffer

LockVertexBuffer

LockVertexBuffer

LockAttributeBuffer

LockAttributeBuffer

LockIndexBuffer

LockVertexBuffer