如何得知stretchrect完成?

Supper_Jerry Supper_Jerry 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我是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内存的拷贝
总之性能是我最优先考虑的。
...全文
评论 5
收藏 已收藏
分享
返回顶部
Supper_Jerry
游戏开发 8,324 成员 23,685 内容