Core Image 上的像素计算或 Mac OS X 上的 OpenGl

Pixel Computing on Core Image or maybe OpenGl on Mac OS X

我目前需要比较两个 NSImage(CIImage 等),并且需要获取同一位置的所有不同颜色和 return 这两张图像中 (x, y) 中的那些位置。

是的,我通过获取这两个图像的两个位图数据缓冲区来完成此操作,并在 CPU 中完成了该任务,但我需要 30 FPS 的实时处理,并且 CPU 变高(大约 27%),所以我的问题是我可以通过使用 Core Image 内核或 OpenGL 在 GPU 中完成这个任务,如果可以,我该怎么做。

顺便说一句,我通过编写自己的内核编写了一个自定义的 Core Image 过滤器,但是我需要 200 毫秒才能完成任务,我该如何改进它或者有更好的解决方案吗?

当然是 Mac OS X 10.10 或更高版本。 谢谢

[编辑]#1

我为我的512x512图像测试了一些内置的CIFilters,并测量了它所花费的时间,似乎时间都在20ms左右,我想知道使用CIFilters是否可以获得更好的性能?也许我想实时做 60 FPS(那是我每帧 16 毫秒)?

如果你需要它 "real time" 这对我来说意味着你想对将在屏幕上显示的实时流进行它。在那种情况下,您可能希望在 GPU 上尽您所能(不是 CPU,在这种情况下我建议使用 vDSP)。 Core Image 的 CIFilter 可能是正确的选择。