如何得知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内存的拷贝
总之性能是我最优先考虑的。
...全文
413 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开始才支持。
内容概要:文章深入探讨了智慧交通系统中多源数据关联性薄弱的问题,表现为时间戳异步、坐标系差异和语义理解分歧,根源在于技术标准碎片化、管理机制缺失和数据孤岛现象。该问题严重影响交通事件预测、设施预警和资源调度等核心场景的效能,导致决策延迟与效率下降。为破解这一瓶颈,文章提出构建“算法-规则-协同”三位一体的AI时空关联分析技术体系,融合时空图神经网络(ST-GNN)、知识图谱与联邦学习,实现多源异构数据的深度融合与价值挖掘。通过某特大城市落地案例验证,系统显著提升了时空对齐精度、事件响应效率和路网通行能力。未来需应对复杂环境干扰、动态关联难与语义鸿沟挑战,依托AI大模型、自进化引擎和6G通信技术推动数据关联范式升级,并建立统一标准与跨部门生态。; 适合人群:从事智慧交通、城市治理、AI算法研发及相关领域的技术人员、管理人员与政策制定者,具备一定数据分析或系统集成经验的专业人员; 使用场景及目标:①解决跨部门多源交通数据时空错位与语义不一致问题;②提升交通事件预测准确率、设施故障预警能力和运营调度效率;③指导AI驱动的交通数据中台建设与智能决策系统实施; 阅读建议:建议结合文中技术架构与实施路径,重点关注时空数据中台构建、AI模型选型适配与跨部门协同机制设计,在实际项目中分阶段推进试点验证,并参考《AI交通数据关联实施指南》建立数据质量监控体系。
【航空发动机寿命预测】基于SE-ResNet网络的发动机寿命预测,C-MAPSS航空发动机寿命预测研究(Matlab代码实现)内容概要:本文介绍了基于SE-ResNet网络的航空发动机寿命预测研究,依托C-MAPSS数据集,利用Matlab代码实现深度学习模型的构建与训练。该方法通过引入通道注意力机制(Squeeze-and-Excitation模块)增强ResNet对关键特征的提取能力,有效提升了发动机剩余使用寿命(RUL)预测的精度与鲁棒性。文中详细阐述了数据预处理、模型架构设计、训练流程及实验验证过程,展示了SE-ResNet在复杂工况下对发动机退化趋势的准确建模能力。; 适合人群:具备一定深度学习基础和Matlab编程经验,从事航空航天、故障诊断、预测性维护等相关领域的科研人员及工程技术人员,尤其适合研究生和中级以上研究人员。; 使用场景及目标:①应用于航空发动机健康管理(PHM)系统中的剩余寿命预测任务;②为工业设备的预测性维护提供高精度深度学习解决方案;③作为SE-ResNet在时间序列预测中应用的教学案例,推动注意力机制在网络设计中的实践。; 阅读建议:建议读者结合提供的Matlab代码进行实操演练,重点关注数据滑动窗口处理、SE模块的实现细节以及模型超参数调优策略,同时可尝试将该方法迁移至其他设备的寿命预测任务中以加深理解。

8,324

社区成员

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

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