【问题标题】:Is StackBlur really slower than GPUImage lib?StackBlur 真的比 GPUImage lib 慢吗?
【发布时间】:2013-03-11 23:31:49
【问题描述】:

我认为 StackBlur 是一个很棒的库,尤其是它能够按照你想要的方式模糊图像。我没有使用过 GPUImage 库,但同事说 StackBlur 比 GPUImage 慢。我在网上找不到任何信息。有人对此有见识吗?谢谢!

【问题讨论】:

  • 在你的位置上,我不敢质疑 GPUImage 的绝对优势。它是由 Stack Overflow 版主编写的,你很快就会发现自己被禁止,因为他遇到了最轻微的批评。
  • 我自己没有尝试过,但是如果您查看StackBluriOSGPUImageFastBlurFilter,您会发现第一个是受CPU 限制的,而第二个是在GPU 上运行片段着色器。鉴于 GPU 在对大块数据(在本例中为图像模糊)执行类似操作时速度更快,我预计它会更快。最好的了解方法是尝试一下并确定结果的时间。
  • @H2CO3 哈哈,我不知道谁开发了 GPUImage,但很高兴知道! :) 作为一个小土豆,我认为他们对我的问题有足够的容忍度;)
  • @nanshi 首先,通过谷歌搜索此类问题的答案。其次,在这里和 Meta 上有一定的声誉。第三,由社区选举——选举刚刚举行,一年后重试。
  • 与 CPU 端过滤器相比,我在其他图像处理操作上确实有一些相对基准:stackoverflow.com/a/6628208/19679。不过,StackBlur 是一个有趣的案例,因为他们使用积分图像来生成模糊效果。随着模糊半径的增加,这可能导致滤波操作的时间恒定,而普通高斯模糊随着模糊半径的增大而变得更加昂贵。我不能在我的模糊中使用积分图像,所以这里实际上可能存在性能交叉点。

标签: ios


【解决方案1】:

我们使用 GPUImage 为我们的图像应用模糊效果,并决定尝试使用 stackblur 看看是否可以从中获得更好的性能。

在实施之后,我们首先进行了模拟器测试,stackblur 确实有更好的性能,尤其是对于较大的图像。但是当我们在实际设备上尝试时,性能比 GPUImage 差很多

【讨论】:

  • 很高兴知道!非常感谢,Efesus! :)
  • 这可能与模拟器对某些 OpenGL ES 着色器功能进​​行软件仿真有关。即使在我的 Core i7 MacBook Pro 上,某些着色器在模拟器中的运行速度也比在最新的 iOS 设备上慢得多。同样,iOS 设备中的 ARM 处理器远没有当前桌面 CPU 强大,因此在模拟器中 CPU 端的实现会快得多。
  • @BradLarson 也感谢布拉德的意见!我想我问了一个有趣的问题! ;)
猜你喜欢
  • 2011-07-16
  • 1970-01-01
  • 2017-01-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-23
  • 2023-03-04
  • 2017-02-17
相关资源
最近更新 更多