有一个很好的经验法则可以帮助确定何时适合在iPhone / iPad应用程序中使用Quartz 2D v.Core Animation v.OpenGL?

时间:2010-10-06 22:57:04

标签: iphone ipad opengl-es core-animation

我正在寻找一种启发式方法,用于确定哪种iPhone / iPad开发的主要图形方法是针对特定问题的最合适的解决方案。

1 个答案:

答案 0 :(得分:5)

简单回答:

Quartz 2D

将Quartz 2D用于自定义界面元素,为您的应用程序提供风格化的外观。

核心动画

易于使用,虽然在性能不重要的地方使用。非常适合快速动画例程。更容易实现。与UIViews一起使用。可以用来创建简单的精美游戏。像乒乓球或纸牌游戏。

OpenGL ES

非常适合性能关键的游戏。有点复杂,但是一旦你可以了解可用的教程和提供的框架,你就可以创建高性能游戏。并且非常容易将它们移植到除iphone之外的其他设备上,这非常酷。

长答案:

Quartz 2D

Quartz 2D是iOS强大的2D图形API。它提供专业强度的2D图形功能,如Bézier曲线,变换和渐变。将Quartz 2D用于自定义界面元素,为应用程序提供风格化的外观。

核心动画

Core Animation可能是性能不重要的游戏的合适选择,例如simon所说的类型游戏,纸牌游戏和琐事游戏。有些人可能认为OpenGL ES更容易使用,而且很可能是你研究过说.. DirectX ..但核心动画(和Quartz 2D就此而言)更容易做简单的效果,并且可以使用与现有的UIViews 核心动画适用于性能不重要的游戏,对于新程序员来说可能很容易使用,其他任何东西都需要OpenGL。 Core Animation使用OpenGL ES,它是高级的,在我的测试中,在性能至关重要的情况下工作正常。

OpenGL ES

是您对性能关键游戏的选择。这基本上只是简单的静态游戏,如上面提到的那些,如第一人称射击游戏,飞行模拟器等。您还可以获得额外的好处,可以将您的游戏移植到iPhone以外的设备,并且OpenGL中有很多现有的游戏代码可以通过其他方式进行转换。 OpenGL ES是一种开放标准,用于由众多公司创建的越来越多的设备,并且因为CoreAnimation是在OpenGL ES上构建的更高级别的框架,所以它无法提供几乎相同的性能。

http://maniacdev.com/2009/07/iphone-game-programming-coreanimation-vs-opengl-es/ http://developer.apple.com/technologies/ios/graphics-and-animation.html

<强> PK