SpriteKit在GPU上高效运行。
CoreGraphics在CPU上运行。
我想不出CoreGraphics可以做的SpriteKit不能做的任何绘图。
考虑到这一点,您能否说出为什么有人可能仍然希望CoreGraphics而不是SpriteKit用于新应用的原因?
答案 0 :(得分:15)
这不是“问题”或“问题”,因为他们的能力存在差异。
核心图形可以制作非常复杂的图像,具有令人难以置信的复杂层次,具有不同的效果和内容。但最重要的是,它非常擅长以其他iOS框架不匹配的质量绘制形状和线条。正如Apple所说:
Core Graphics ...提供低级,轻量级2D渲染 无与伦比的输出保真度。您使用此框架来处理基于路径的 绘图,变换,色彩管理,离屏渲染, 图案,渐变和阴影,图像数据管理,图像 创建和图像屏蔽,以及PDF文档创建, 显示和解析。
https://developer.apple.com/reference/coregraphics
您不会在SpriteKit中找到PDF导出创建,图像创建(纹理创建,是的,但不是图像创建),复杂的渐变,颜色管理,复杂图案,变换和屏幕外渲染。
同样,你不会在SpriteKit的Core Graphics中找到那种抗锯齿。
如果你想将你的作品从图像制作整合到UIKit应用程序中,你最好使用核心图形,核心图像和核心动画的混合,甚至比尝试使用SpriteKit进行那种图像创建和动画更好一个应用程序。
将SpriteKit用于适当受益于专注于Sprites作为主要图形内容的游戏。
例如,您可以选择核心动画和核心图形,用于专注于更多动态内容的游戏,或者需要更高质量的程序化创建内容,而不仅仅是SpriteKit。或者你可以使用Core Graphics为精灵制作的内容质量高于你从SKShapeNode获得的质量。所以...马匹的课程。
课程基本上是:
A)精灵和简单的2D渲染和绘图
B)各种图形,动态绘图以及对质量和输出类型的更高要求
或
C)两者的混合