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