我目前使用3x3或5x5 Boxfilter,并考虑分两步分离滤镜。首先是x,第二个是y。这样可以节省一些计算时间。 为了实现这一点,我需要渲染另一个帧缓冲附加纹理的第一步,并绘制另一个全屏四边形以获得完整模糊(包括x,y模糊)。
从性能的角度来看,在两个步骤中将滤镜分开,而在一个步骤中将模糊x和y分开是否有任何明显的改进?
答案 0 :(得分:1)
通常,当你有NxN模糊滤镜时,你需要在着色器中读取 N ^ 2 纹理。
当您使用单独的过滤器时,您将移至 N + N 读取+ some_const
some_const - 表示渲染两次,更改缓冲区,驱动程序等的成本。
对于3x3模糊,我认为没有区别,对于5x5可能,但对于较大的内核,应该有明显的差异。测量两种方法的性能会很好。