游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2027|回复: 0

关于Direct3D的顶点缓存里的lock函数参数问题

[复制链接]

1

主题

2

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2012-5-18 11:35:00 | 显示全部楼层 |阅读模式
D3DLOCK_DISCARD和D3DLOCK_NOOVERWRITE这两个标记的区别是什么?


书上说
“D3DLOCK_DISCARD指示硬件将缓存内容丢弃,并返回一直指向重新分配的缓存的指针,这允许我们访问新分配的内存时,硬件能够继续使用被丢弃的缓存中的数据进行绘制,这样硬件的绘制就不会中止。”
它说的丢弃是什么意思,为什么还能继续使用已经被丢弃的数据呢?

D3DLOCK_NOOVERWRITE则说
“只能以追加方式写入缓存。即你不能覆盖当前用于绘制的存储区中的任何内容。它可以保证在您往缓存中增加数据时,硬件仍可继续进行绘制。”
意思是说缓存的空间会一直增加吗?那样内存不会“爆”吗?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-2-28 12:40

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表