使用CoreGraphics而不是SpriteKit的原因?

时间:2017-01-13 12:19:24

标签: ios cocoa cocoa-touch sprite-kit core-graphics

SpriteKit在GPU上高效运行。

CoreGraphics在CPU上运行。

我想不出CoreGraphics可以做的SpriteKit不能做的任何绘图。

考虑到这一点,您能否说出为什么有人可能仍然希望CoreGraphics而不是SpriteKit用于新应用的原因?

1 个答案:

答案 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)两者的混合

相关问题