如何得知stretchrect完成?
我是dx的新手,最近碰到一个棘手的问题,特来求助,谢谢大家。
我从第三方得到一个d3d9的 surface, 这个surface无法共享,可是我需要共享,所以我先用这个surface得到device
用得到的device createsurface,这个surface是共享的,有sharedhandle
然后调用stretchrect把原始surface数据拷贝到新的surface中。
然后用得到的sharedhandle create一个新的surface(这个surface是用自己的device create的)
这个新的surface就可以用来做其他操作。
问题是stretchrect是异步的,我并不知道什么时候完成,所以我在代码中调用stretchrect的时候,紧接着调用
lockrect,确保数据拷贝完成,但是lockrect需要一个gpu内存到cpu内存的一个拷贝过程,速度很慢
所以我想问的问题是 有什么方法可以确保stretchrect完成吗?或者lockrect的时候我如何保证不发生gpu到cpu内存的拷贝
总之性能是我最优先考虑的。