中文第一计算机图形学社区OpenGPU 版权所有2007-2018

 找回密码
 注册

扫一扫,访问微社区

搜索
查看: 3069|回复: 7

为什么用D3DUSAGE_WRITEONLY创建的顶点缓存可以进行读操作?

[复制链接]
发表于 2013-9-11 16:56:17 | 显示全部楼层 |阅读模式
m_pD3DDevice->CreateVertexBuffer(32, D3DUSAGE_WRITEONLY, SVertex::FVF, D3DPOOL_MANAGED, &m_pVertexBuffer, 0);

SVertex* pVertexBuffer = NULL;
m_pVertexBuffer->Lock(0, 0, (void**)&pVertexBuffer, 0);
SVertex v = pVertexBuffer[0];
m_pVertexBuffer->Unlock();

为什么读起来没事呢??

发表于 2013-9-11 17:03:39 | 显示全部楼层
读起来没事 不代表没问题!
你把 D3D DEBUG 开启  你就知道 有没有事了
 楼主| 发表于 2013-9-11 17:04:52 | 显示全部楼层
32220937 发表于 2013-9-11 17:03
读起来没事 不代表没问题!
你把 D3D DEBUG 开启  你就知道 有没有事了

什么叫D3D DEBUG?  怎么做?
发表于 2013-9-11 18:57:38 | 显示全部楼层
你这个应该不是读操作只是把一个指针指向缓存,没有解操作
你可以试试把缓存里面的内容读到其他内存里面试试
 楼主| 发表于 2013-9-11 20:40:44 | 显示全部楼层
brightcm 发表于 2013-9-11 18:57
你这个应该不是读操作只是把一个指针指向缓存,没有解操作
你可以试试把缓存里面的内容读到其他内存里面试 ...

什么其它内存?? 比如?
发表于 2013-9-12 19:55:40 | 显示全部楼层
对不起我看错你的程序了,误导了
不过我翻了下SDK文档里面有一句话
D3DUSAGE_WRITEONLY only affects the performance of D3DPOOL_DEFAULT buffers.
 楼主| 发表于 2013-9-12 20:57:50 | 显示全部楼层
brightcm 发表于 2013-9-12 19:55
对不起我看错你的程序了,误导了
不过我翻了下SDK文档里面有一句话
D3DUSAGE_WRITEONLY only affects the p ...

原来如此,多谢
发表于 2018-10-17 17:36:00 | 显示全部楼层
680就是个低功耗版本的过渡产品,当然不是想当然的那样越来越好。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|关于我们|小黑屋|Archiver|手机版|中文第一计算机图形学社区OpenGPU

GMT+8, 2019-1-23 16:29 , Processed in 0.067837 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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