【发布时间】:2014-03-01 07:24:50
【问题描述】:
情况:
在一个既需要计算又需要渲染图像(图像预处理然后显示)的应用程序中,我想同时使用 AMP 和 WPF(AMP 对图像进行一些过滤,而 WPF 只做显示)缩放/旋转的图像和一些简单的叠加,都以大约 30fps 的速度运行,新图像将不断流入)。
问题:
有没有什么办法可以知道两者会如何相互影响?
我想知道我是否会在稍后的实际应用程序中看到我将在单独的 AMP 环境中看到的希望不错的加速。
附加信息:
我将能够并且将单独测量 AMP 性能,因为无论如何我都将在单独的项目中设置它是低级别的新功能。 WPF 渲染部分已经存在于复杂的应用程序中,因此很难将其隔离。
我不打算只为渲染进行过滤器等,因为中间级别也需要结果(其他算法,例如边缘检测、保存等)。
【问题讨论】:
-
您认为它们会以何种方式相互影响?毕竟,两者都只是由 cpu 执行的指令。
-
我强烈希望 WPF 渲染和 AMP 都在 GPU 上执行。所以他们会共享 GPU 资源。 (CPU 开销应该主要限于内存传输。)
-
GPU 就像一个专门的 CPU。我不确定它只能做 AMP 部分而不是 WPF 部分是有原因的。毕竟它能够显示你的屏幕并同时做 AMP,对吧?无论如何:找出答案的唯一正确方法就是尝试一下。例如。将您的 AMP 内容编译为 dll,编写一个使用它的小型 C++/CLI dll,并具有启动 AMP 处理的功能。从您的 WPF 应用程序调用该函数。
标签: c# c++ wpf rendering c++-amp