如何得知stretchrect完成?

Supper_Jerry 2010-12-11 05:52:16
我是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内存的拷贝
总之性能是我最优先考虑的。
...全文
418 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
butterflygogogo 2010-12-12
  • 打赏
  • 举报
回复
还真没感觉到是异步的。。
Supper_Jerry 2010-12-12
  • 打赏
  • 举报
回复
有人帮忙吗?
Supper_Jerry 2010-12-12
  • 打赏
  • 举报
回复
可能是我理解错了,很可能是因为共享造成的问题,
我再查看一下。
Supper_Jerry 2010-12-11
  • 打赏
  • 举报
回复
谢谢楼上,我用的是d3d9ex
我也不确信StretchRect是同步还是异步,在stretchrect之后如果我不调用lockrect的话
使用共享的handle建立的surface render出来什么都没有,
如果调用lockrect的话,就能render出结果,所以我推测stretchrect是异步的。
我的目的不是把数据拷贝到system memory,恰恰相反 我就是避免这种拷贝
尽量在gpu上完成需要的功能。
引力场变动源 2010-12-11
  • 打赏
  • 举报
回复
StretchRect是异步的吗?没听说它是异步的啊,只知道不能在BeginScene和EndScene之间调用……

另外如果来源surface是RenderTarget的话,还能使用GetRenderTargetData来复制数据。

另外d3d9是不支持surface共享的吧,从d3d9ex开始才支持。
【2026_MCM美赛】问题A:智能⼿机电池放电建模(思路、代码、论文持续更新中)内容概要:本文档围绕2026年MCM美赛问题A“智能手机电池放电建模”展开,提供思路、代码与论文的持续更新资源。文档隶属于一个综合性科研辅导平台,重点聚焦于智能优化算法、机器学习与深度学习、图像处理、路径规划、无人机技术、通信与信号处理、电力系统管理等多个前沿技术领域,涵盖大量基于Matlab/Simulink的仿真案例与SCI顶刊复现项目。其核心内容在于利用数学建模与智能算法解决实际工程问题,尤其强调在电池放电、能源调度、路径规划等场景下的模型构建与优化求解。; 适合人群:具备一定数学建模基础和编程能力(尤其是Matlab),正在准备数学建模竞赛(如MCM/ICM)或从事相关科研工作的本科生、研究生及青年科研人员。; 使用场景及目标:① 学习并掌握针对智能手机电池放电过程的建模方法与参数辨识技术;② 获取MCM竞赛问题的解题思路、代码实现与论文写作参考;③ 借助丰富的Matlab仿真案例,深入理解优化算法、深度学习模型在能源、交通、电力等领域的应用。; 其他说明:文档中包含多个百度网盘链接,用于获取完整资源(如代码、论文、数据),需关注指定公众号“荔枝科研社”进行下载。文中重复信息较多,旨在推广其科研辅导服务。
【顶级SCI复现】高比例可再生能源并网如何平衡灵活性与储能成本?虚拟电厂多时间尺度调度及衰减建模(Matlab代码实现)内容概要:本文围绕高比例可再生能源并网背景下虚拟电厂的多时间尺度调度与储能成本平衡问题展开研究,重点探讨了如何通过精细化调度模型提升系统灵活性并降低储能配置成本。文中提出了结合日前、日内及实时调度的多时间尺度优化框架,并引入储能衰减建模以更真实反映储能设备的寿命损耗与运行经济性。基于Matlab实现了完整的仿真代码,复现了顶级SCI论文中的核心算法与建模方法,涵盖不确定性处理、优化求解及系统协调控制等关键技术环节,旨在为能源系统优化提供可复现、可扩展的技术路径。; 适合人群:具备一定电力系统基础知识和Matlab编程能力,从事新能源、智能电网、综合能源系统等方向的研究生、科研人员及工程技术人员。; 使用场景及目标:①用于高比例可再生能源接入场景下的虚拟电厂运行优化研究;②支撑科研工作中对多时间尺度调度模型的构建与验证;③为储能系统经济性分析与衰减建模提供技术参考与代码实现基础; 阅读建议:建议结合提供的网盘资源下载完整代码与数据,按照文档结构逐步运行仿真程序,重点关注多时间尺度调度逻辑与储能衰减模型的耦合机制,并可根据实际研究需求进行参数调整与模型拓展。

8,324

社区成员

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

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