Partilhar via


D3DLOCK

Uma combinação de zero ou mais opções de bloqueio que descrevem o tipo de bloqueio a ser executado.

#define Descrição
D3DLOCK_DISCARD O aplicativo descarta toda a memória dentro da região bloqueada. Para buffers de vértice e índice, todo o buffer será descartado. Esta opção só é válida quando o recurso é criado com uso dinâmico (consulte D3DUSAGE).
D3DLOCK_DONOTWAIT Permite que um aplicativo recupere os ciclos da CPU se o driver não puder bloquear a superfície imediatamente. Se esse sinalizador estiver definido e o motorista não puder bloquear a superfície imediatamente, a chamada de bloqueio retornará D3DERR_WASSTILLDRAWING. Esse sinalizador só pode ser usado ao bloquear uma superfície criada usando CreateOffscreenPlainSurface, CreateRenderTargetou CreateDepthStencilSurface. Esse sinalizador também pode ser usado com um buffer traseiro.
D3DLOCK_NO_DIRTY_UPDATE Por padrão, um bloqueio em um recurso adiciona uma região suja a esse recurso. Esta opção impede quaisquer alterações no estado sujo do recurso. Os aplicativos devem usar essa opção quando tiverem informações adicionais sobre o conjunto de regiões alteradas durante a operação de bloqueio.
D3DLOCK_NOOVERWRITE Indica que a memória que foi referida em uma chamada de desenho desde o último bloqueio sem esse sinalizador não será modificada durante o bloqueio. Isso pode habilitar otimizações quando o aplicativo está anexando dados a um recurso. Especificar esse sinalizador permite que o driver retorne imediatamente se o recurso estiver em uso, caso contrário, o driver deve terminar de usar o recurso antes de retornar do bloqueio.
D3DLOCK_NOSYSLOCK O comportamento padrão de um bloqueio de memória de vídeo é reservar uma seção crítica em todo o sistema, garantindo que nenhuma alteração no modo de exibição ocorra durante o bloqueio. Essa opção faz com que a seção crítica em todo o sistema não seja mantida durante o bloqueio.
A operação de bloqueio é demorada, mas pode permitir que o sistema execute outras tarefas, como mover o cursor do mouse. Essa opção é útil para bloqueios de longa duração, como o bloqueio do buffer traseiro para renderização de software que, de outra forma, afetaria negativamente a capacidade de resposta do sistema.
D3DLOCK_READONLY O aplicativo não gravará no buffer. Isso permite que os recursos armazenados em formatos não nativos salvem a etapa de recompactação durante o desbloqueio.

 

Informação Constante

Exigência Valor
Cabeçalho d3d9types.h
Sistema operativo mínimo Janelas 98

 

constantes Direct3D

LockRect

Lock

LockRect

LockRect

Lock

LockBox

LockBox

LockIndexBuffer

LockVertexBuffer

LockVertexBuffer

LockAttributeBuffer

LockAttributeBuffer

LockIndexBuffer

LockVertexBuffer