请教个D3D的问题

rageliu 2011-09-26 10:24:56
现在我有一个IDirect3DSurface9的指针pA,里面有数据,但是它是分配在显存里面的.如果我要处理它的数据,速度就会比较慢.
所以我用CreateOffscreenPlainSurface创建了一个D3DPOOL_SYSTEMMEM属性的表面pB.
我用StretchRect把pA拷贝到pB,然后做处理,然后pB拷贝回pA.

我遇到的问题是:要么pA->pB能成功,但是pB->pB就失败了.
然后我修改下属性,比如D3DPOOL_SYSTEMMEM改成D3DPOOL_DEFAULT,就出现pA->pB的拷贝失败,但是pB->pA又可以成功.

请问StretchRect的相互拷贝,对表面有什么要求吗?

我就是为了处理数据速度快,所以不能在显存里处理.有什么好方法能更快的处理到数据吗?

d3d不熟,麻烦大家给些建议
...全文
134 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
rageliu 2011-10-11
  • 打赏
  • 举报
回复
http://www.aacsla.com/specifications/AACS_Spec_BD_Recordable_Final_0.951.pdf
记录下
hot305 2011-10-03
  • 打赏
  • 举报
回复
新鲜,帮顶下
nand库路泽 2011-09-30
  • 打赏
  • 举报
回复
这个我也想知道,帮顶了!!
ryfdizuo 2011-09-27
  • 打赏
  • 举报
回复
帮顶一下。
rageliu 2011-09-27
  • 打赏
  • 举报
回复
感谢,基本看明白了.

我没注意后面那个表
IONPhantom 2011-09-27
  • 打赏
  • 举报
回复
SDK 中关于 StretchRect 的说明部分最下面的那个图表很明确的回答了你这个问题

8,304

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧