7

我正在制作一个使用基本核心图形功能的应用程序。该应用程序在 Ipad2 上运行得相当好,但由于视网膜显示,Ipad3 上的性能受到影响,这导致绘制的像素数是之前的 4 倍。我尝试了一些技巧来提高性能,但由于在我的代码中绘制是在手势上进行的,我想我将不得不切换到其他替代方案。我想问一下 Core Image 是否提供了可以使用 Core Graphics 执行的所有功能,以便我可以使用 GPU 处理功能。如果不是,那么最好的选择是什么,以便我可以使用具有更好处理能力的相同功能。

4

2 回答 2

11

核心图像和核心图形非常不同。Core Image 是一种图像处理技术。您可以应用预制过滤器,如棕褐色、黑白和颜色反转,也可以创建自定义过滤器。Core Graphics 是一个使用 Quartz 2D 技术的渲染 API,允许进行复杂的绘图。

Brad Larson 的 GPUImage 是 Core Image 的绝佳替代品/补充品。你可以在这里找到它。

如果你想提高性能,你可以尝试像 OpenGL 这样的低级 API。这很难学习,但这里有一些链接可以帮助您入门:

于 2012-06-21T20:48:22.357 回答
1

我知道晚了一年,但是看看 WWDC 2010 Sessions on Core Animation:424 和 425。两者都很重要,但是在大约 11:00 标记的 425 中有一些关于性能调整的很好的细节。

简短的概要是,存在三个潜在的瓶颈,您需要识别、优化并不断迭代,直到获得平稳的 60 FPS。潜在的瓶颈是:

  • 读取带宽
  • 写带宽
  • 处理/渲染通道。

425 会话(实践中的核心动画,第 2 部分)涵盖了处理上述问题的技术。

https://developer.apple.com/videos/wwdc/2010/

于 2014-03-31T21:46:13.583 回答