gpt4 book ai didi

WPF-DirectX 互操作问题(D3DImage)

转载 作者:行者123 更新时间:2023-12-04 21:07:52 24 4
gpt4 key购买 nike

我正在使用 D3DImage 编写视频应用程序。帧来自内存并使用 DirectX9 在 native 代码中呈现为纹理,最终由 D3DImage 暴露给 WPF GUI。我在上面有一些叠加层,是用 WPF 的绘画框架(文本、形状等)创建的。到目前为止,它就像一个魅力。
现在,我想从我的底层 native C++ 代码中对合成图像进行编码。视频为 640x480 BGR、25 FPS,必须并行渲染和编码,在 Windows 版本低至 XP/SP3 的旧硬件上也是如此。

问题是,我找不到任何描述 WPF 和 D3DImage 之间合成过程的文档。它们在某种意义上是“混合”的,但这是什么意思?是否有可能在我的 native C++ 代码中获得 WPF 部分绘图甚至合成图像的句柄?

ps:我也对托管解决方案持开放态度,但到目前为止还没有发现太多的性能。

最佳答案

有一个名为“CompositionTarget.Rendering”的全局静态方法。向其中添加一个事件,每次 WPF 呈现该方法时,都会在 WPF 呈现之前调用该方法(尽管 FPS 可能会有所不同)。因此,只需相应地更新您的 renderTarget。
可能有更好的方法,但我不知道。

注意:对于 WindowsXP 上的 D3DImage,您使用带有可锁定渲染目标的 D3D9 设备,而在 Vista/7 上,您使用带有不可锁定渲染目标的 D3D9Ex 设备。只是一个注释。

关于WPF-DirectX 互操作问题(D3DImage),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4838705/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com