【问题标题】:Fast rotation of an image (bitmap) on an iPhone for an arbitrary degree在 iPhone 上快速旋转图像(位图)任意角度
【发布时间】:2013-06-08 10:33:54
【问题描述】:

我需要在 iPhone(4s 及以上)上以任意角度尽可能快地旋转一张全尺寸照片(约 8MB)。使用 CoreImage 执行此操作的代码很简单,但速度并不快。 4s大约需要1.5秒。请注意,此旋转的目的是为了在内存中进一步处理图像,而不是为了在屏幕上显示。

是否有任何希望我们可以将其降低到亚秒级,也许是 DSP(使用 Accelerate 框架)或 OpenGL(请记住,我们必须将位复制进出任何东西我们使用的缓冲区。如果这没有希望,那么我们还有其他(但更复杂)的方法来处理这项工作。我以前没有编写过 OpenGL 代码,并希望在我花费大量时间之前确保它确实可以工作!

谢谢你, 肯

【问题讨论】:

    标签: iphone image rotation uiimage gpu


    【解决方案1】:

    由于它在没有硬件加速的情况下以 1.5 秒的速度运行,我认为可以安全地假设您可以使用 OpenGL 在一秒钟内完成它。

    【讨论】:

    • 谢谢,你知道CoreImage是否使用GPU吗?
    • 这篇文章表明核心显卡确实使用了硬件,在这种情况下,去 GL 不会给我买任何东西。 stackoverflow.com/questions/7558636/…
    • 抱歉延迟回复。我希望你明白这一点。我对 CoreImage 没有任何经验。我只是有很多 GPU 经验,所以我只能确定如果你之前没有使用 GPU,而你切换到它,你会得到相当大的提升。只需在 Wikipedia 上阅读一点,CoreImage 似乎确实依赖于 OpenGL,并且确实影响了图形硬件。这并不意味着使用原始 GL 不能加快速度。谁知道 Apple 在该库中使用 GL 的效果如何。再说一次,它附带在他们的图像编辑软件中,所以它可能并不可怕。抱歉,我帮不上忙。
    • 我刚刚成功地在 OpenGL 中进行了旋转,并且速度快了一点,所以要么 coreimage 不使用硬件,要么没有有效地使用它。但是,它对我来说仍然不够快。我用 OpenGL 代码提出了一个问题。 stackoverflow.com/questions/17799250/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-20
    • 1970-01-01
    • 1970-01-01
    • 2021-04-12
    • 1970-01-01
    相关资源
    最近更新 更多