【问题标题】:What is different between CoreGraphics and CoreAnimation?CoreGraphics 和 CoreAnimation 有什么不同?
【发布时间】:2011-05-22 12:44:50
【问题描述】:
我正在使用 coregraphics 开发 iphone 游戏。但是速度很慢。我不能玩我的游戏。所以,我用谷歌搜索了很多。在谷歌搜索过程中,我发现了以下内容。
CoreGraphics、CoreAnimation、OpenGL ES、CALayer、Quartz 2D
我很困惑他们。有人告诉我 coregraphics 没有使用 GPU。有人告诉我它正在使用 GPU。 coregraphics 最好或 openGL 最好,calayer 更好。 ^^;;;;它们之间有什么不同,哪个使用GPU?哪一个最适合制作游戏。我有很多图像要画。
请告诉我.....提前致谢。
【问题讨论】:
标签:
iphone
opengl-es
core-animation
core-graphics
【解决方案1】:
iOS 图形 API 是分层的。尽管最终渲染的某些部分可能会通过 GPU,但大多数 CoreGraphics 绘图函数不会。
CoreAnimation 确实使用 GPU,但其 API 中的图形操作类型(主要是现有图像数据的转换)是有限的。
OpenGL ES 使用 GPU,但据报道(重新)编译对渲染管道的任何更改会占用大量 CPU。
任何将新的位图、图像或纹理上传到显示管道的东西似乎都是 CPU 和 GPU 密集型的。
【解决方案2】:
如果您正在编写游戏,您可能希望查看 SpriteKit(如果是 2D)和 metal(如果是 3D)。核心图形用于渲染高质量的静止内容,但并非旨在用作具有大量 FPS 的游戏界面,除非您的游戏比典型游戏更类似于常见的应用 UI。