+ -
当前位置:首页 → 问答吧 → 请教个D3D的问题

请教个D3D的问题

时间:2011-09-26

来源:互联网

现在我有一个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不熟,麻烦大家给些建议

作者: rageliu   发布时间: 2011-09-26

SDK 中关于 StretchRect 的说明部分最下面的那个图表很明确的回答了你这个问题

作者: P_hantom   发布时间: 2011-09-27

热门下载

更多