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

Tim*_*Tim 1 iphone core-animation opengl-es ipad

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

Pav*_*van 5

简单回答:

石英2D

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

核心动画

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

OpenGL ES

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

答案很长:

石英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