可分离的过滤器与渲染时间

时间:2013-07-04 13:43:55

标签: c++ opengl

我目前使用3x3或5x5 Boxfilter,并考虑分两步分离滤镜。首先是x,第二个是y。这样可以节省一些计算时间。 为了实现这一点,我需要渲染另一个帧缓冲附加纹理的第一步,并绘制另一个全屏四边形以获得完整模糊(包括x,y模糊)。

从性能的角度来看,在两个步骤中将滤镜分开,而在一个步骤中将模糊x和y分开是否有任何明显的改进?

1 个答案:

答案 0 :(得分:1)

通常,当你有NxN模糊滤镜时,你需要在着色器中读取 N ^ 2 纹理。

当您使用单独的过滤器时,您将移至 N + N 读取+ some_const

some_const - 表示渲染两次,更改缓冲区,驱动程序等的成本。

对于3x3模糊,我认为没有区别,对于5x5可能,但对于较大的内核,应该有明显的差异。测量两种方法的性能会很好。

相关问题