1
我有一种情况,每次旋转时都需要将一些算法应用于我的纹理。通过Texture2D执行图像处理算法的有效方法
我的问题是 - 在XNA中应用图像处理算法的最佳方法是什么?
现在纹理是一个RenderTarget2D,算法用它的像素执行一些操作并将它们设置回RenderTarget2D。这种方法导致我的应用程序终止,它的性能非常糟糕。
我通过stackoverflow搜索,但没有发现任何相关的主题。 我也读过这篇文章http://blogs.msdn.com/b/shawnhar/archive/2008/04/14/stalling-the-pipeline.aspx并了解我的方法有多糟糕。
这取决于算法是什么,应用它的频率以及何时需要应用它(编译时间,加载时间,运行时间?)。你能提供更多细节吗? – 2011-03-10 06:47:46
Andrew,这个算法被应用在运行时(每次纹理旋转时)。考虑到纹理可以在每次更新时旋转,这意味着算法应该在每次绘制之前应用。 – zavolokas 2011-03-10 08:14:10
真的这是一个性能问题。从渲染目标读取是一种选择。使用像素着色器通常是最快的方法 - 但有很多限制 - 然后用于克服这些限制的一系列技术。在我缩小范围之前,我需要了解更多有关该算法的信息。另外,你的意思是“旋转”?你在移动顶点吗?纹理坐标?或者更复杂的东西? – 2011-03-10 13:56:34