我在一个 Windows Phone 7 应用程序上实现了一个图像处理过程,它采用灰度图像(或更好的字节数组)并使用掩码进行一些“getPixel/putPixel”操作。因此,假设该算法是有史以来最有效的,但是由于对该字节数组进行了大量读/写操作,我陷入了速度优化问题。
因此,我正在考虑将工作负载从 CPU 转移到手机的 GPU。首先,它会给我一些性能提升吗?为了更好地理解,想想我正在实现一个中值过滤器,它访问每个像素及其邻居,并为中心像素设置一个新值。从 GPU 运行这个 2D 过滤器是明智之举还是浪费时间?是否会在读/写内存访问方面有所改变?
其次,该应用程序是一个带有 C# 代码的经典 XAML 表单。我应该为此使用 XNA 吗?如何从非游戏场景调用其 API?