D3DLOCK

描述要执行的锁类型的零个或多个锁定选项的组合。

#define 描述
D3DLOCK_DISCARD 应用程序放弃锁定区域中的所有内存。 对于顶点和索引缓冲区,将丢弃整个缓冲区。 仅当使用动态使用情况创建资源时,此选项才有效(请参阅 D3DUSAGE)。
D3DLOCK_DONOTWAIT 如果驱动程序无法立即锁定图面,则允许应用程序获得回 CPU 周期。 如果设置了此标志,并且驱动程序无法立即锁定图面,则锁调用将返回D3DERR_WASSTILLDRAWING。 仅当锁定使用 CreateOffscreenPlainSurfaceCreateRenderTargetCreateDepthStencilSurface创建的图面时,才能使用此标志。 此标志还可用于后台缓冲区。
D3DLOCK_NO_DIRTY_UPDATE 默认情况下,资源上的锁会将脏区域添加到该资源。 此选项可防止对资源的脏状态进行任何更改。 当应用程序在锁定作期间更改了一组区域的其他信息时,应使用此选项。
D3DLOCK_NOOVERWRITE 指示自没有此标志的最后一个锁后在绘图调用中引用的内存将不会在锁定期间修改。 当应用程序将数据追加到资源时,这可以启用优化。 指定此标志可使驱动程序在资源正在使用时立即返回,否则驱动程序必须在从锁定返回之前使用完资源。
D3DLOCK_NOSYSLOCK 视频内存锁的默认行为是保留系统范围的关键部分,保证锁期间不会发生任何显示模式更改。 此选项会导致系统范围内的关键部分在锁定期间不保留。
锁定作非常耗时,但可以让系统执行其他任务,例如移动鼠标光标。 此选项对于长时间锁定非常有用,例如软件呈现的后台缓冲区的锁,否则会对系统响应能力产生不利影响。
D3DLOCK_READONLY 应用程序不会写入缓冲区。 这样,以非本机格式存储的资源可以在解锁时保存重新压缩步骤。

 

常量信息

要求 价值
页眉 d3d9types.h
最低作系统 Windows 98

 

Direct3D 常量

LockRect

锁定

LockRect

LockRect

锁定

LockBox

LockBox

LockIndexBuffer

LockVertexBuffer

LockVertexBuffer

LockAttributeBuffer

LockAttributeBuffer

LockIndexBuffer

LockVertexBuffer