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