Get Updates By E-mail 

Article Written By:
Johann Dowa

iPhone Game Programming: CoreAnimation vs. OpenGL ES

  •  
  •  
  •  
  •  
  •  

I saw an interesting question being asked by an aspiring iPhone game developer, "Should I use CoreAnimation or OpenGL ES?".

Simple answer:

Core Animation is fine for games where performance is not critical, and for new programmers will likely be easy to use, OpenGL is needed for anything else.

Long Answer:

Core Animation utilizes OpenGL ES, it is high level, and in my testing works fine in situations where performance is critical. 

OpenGL ES is an open standard that is used on a growing number of devices created by a wide variety of companies, and because CoreAnimation is a higher level framework built atop OpenGL ES it cannot provide nearly the same performance.

My opinion is that Core Animation is likely the appropriate choice for games where performance is not critical such as simon says type games, card games, and trivia games.  Some might argue that OpenGL ES is easier to use, and it likely is if you’ve studied say.. DirectX.. but Core Animation (and Quartz 2D for that matter) is much easier to do simple effects in, and can be used with existing UIViews.  

OpenGL ES is your choice for performance critical games.  Which is essentially anything but simple mostly static games like the ones mentioned I above such as first person shooters, flight simulators and the like.  You also get the added benefit of potentially being able to port your games to a device other than the iPhone, and there is alot of existing game code in OpenGL that can be converted the other way.  That being said for simple, static games for a newcomer to graphics programming my choice would be Core Animation although if you can wrap your head around the tutorials and frameworks on my OpenGL ES resources page OpenGL ES may be for you.

I hope this provides answer for anyone trying to decide whether they should program in OpenGL ES, any opinions from those who have done more with Core Animation than I have would be greatly appreciated.


  •  
  •  
  •  
  •  
  •  

Submit A Resource

Have you created a useful tutorial, library or tool for iOS development that you would like to get in front of our 300,000+ monthly page views from iOS developers?

You can submit the url here.

The resources we feel will appeal to our readers the most will be posted on the front page.

Comments