<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: iPhone Game Programming: CoreAnimation vs. OpenGL ES</title>
	<atom:link href="http://maniacdev.com/2009/07/iphone-game-programming-coreanimation-vs-opengl-es/feed/" rel="self" type="application/rss+xml" />
	<link>http://maniacdev.com/2009/07/iphone-game-programming-coreanimation-vs-opengl-es/</link>
	<description>ManiacDev.Com</description>
	<lastBuildDate>Fri, 30 Jul 2010 04:43:48 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
	<item>
		<title>By: maniacdev</title>
		<link>http://maniacdev.com/2009/07/iphone-game-programming-coreanimation-vs-opengl-es/comment-page-1/#comment-4148</link>
		<dc:creator>maniacdev</dc:creator>
		<pubDate>Tue, 28 Jul 2009 02:34:33 +0000</pubDate>
		<guid isPermaLink="false">http://maniacdev.com/?p=503#comment-4148</guid>
		<description>Thankyou for clearing that up Brad.  I was very impressed by the speed when using Core Animation, from reading about how you &quot;must use OpenGL ES&quot; I thought things would run at a crawl, but was very impressed by both the spead, and the ease of Core Animation.  I hadn&#039;t done any benchmarks so it is very good to know that 50 translucent layers were handled.</description>
		<content:encoded><![CDATA[<p>Thankyou for clearing that up Brad.  I was very impressed by the speed when using Core Animation, from reading about how you &#8220;must use OpenGL ES&#8221; I thought things would run at a crawl, but was very impressed by both the spead, and the ease of Core Animation.  I hadn&#39;t done any benchmarks so it is very good to know that 50 translucent layers were handled.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: maniacdev</title>
		<link>http://maniacdev.com/2009/07/iphone-game-programming-coreanimation-vs-opengl-es/comment-page-1/#comment-276</link>
		<dc:creator>maniacdev</dc:creator>
		<pubDate>Mon, 27 Jul 2009 19:34:33 +0000</pubDate>
		<guid isPermaLink="false">http://maniacdev.com/?p=503#comment-276</guid>
		<description>Thankyou for clearing that up Brad.  I was very impressed by the speed when using Core Animation, from reading about how you &quot;must use OpenGL ES&quot; I thought things would run at a crawl, but was very impressed by both the spead, and the ease of Core Animation.  I hadn&#039;t done any benchmarks so it is very good to know that 50 translucent layers were handled.</description>
		<content:encoded><![CDATA[<p>Thankyou for clearing that up Brad.  I was very impressed by the speed when using Core Animation, from reading about how you &#8220;must use OpenGL ES&#8221; I thought things would run at a crawl, but was very impressed by both the spead, and the ease of Core Animation.  I hadn&#39;t done any benchmarks so it is very good to know that 50 translucent layers were handled.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brad Larson</title>
		<link>http://maniacdev.com/2009/07/iphone-game-programming-coreanimation-vs-opengl-es/comment-page-1/#comment-263</link>
		<dc:creator>Brad Larson</dc:creator>
		<pubDate>Sun, 26 Jul 2009 16:02:13 +0000</pubDate>
		<guid isPermaLink="false">http://maniacdev.com/?p=503#comment-263</guid>
		<description>I&#039;m the author of the linked post on optimizing OpenGL ES via Core Animation.  The gist of that post simply is that Apple provides some very nice convenience methods for dealing with Core Animation, and because Core Animation is layered upon OpenGL ES you can use some of these functions for improving your interaction with OpenGL ES.  In this case, I was maintaining a copy of the OpenGL model view matrix as a CATransform3D, manipulating it in code, then pushing it back to OpenGL.  This cut out a number of expensive operations where you had to read the state of the OpenGL model view matrix to manipulate it, leading to a significant performance boost and cleaner code.&lt;br&gt;&lt;br&gt;Overall, it has been my suggestion to those doing 2-D work to look at Core Animation first, before going to OpenGL.  I&#039;ve worked with both, and greatly prefer Core Animation to OpenGL ES.  Apple has abstracted away a huge amount of the low-level procedural code within CALayer, CAAnimations, and the like.  As far as performance goes, on the original iPhone, I measured that you can animate up to 50 translucent layers at 60 FPS (100 at 30 FPS).  The biggest problem people have when they first come to Core Animation is they try to micromanage it and update positions of layers every animation frame.  You have to learn to trust the design of the framework, lay out animations ahead of time, and let the framework do the heavy lifting for you.  My latest application, Pi Cubed, has an interface entirely designed using Core Animation, something that would have been impractical to do using pure OpenGL.  The new open-source graphing framework, Core Plot, is also entirely constructed using Core Animation.&lt;br&gt;&lt;br&gt;That said, OpenGL ES is necessary if you want to do pure 3-D work, if you need to push beyond 50 moving objects at 60 FPS, or if you want to craft a cross-platform graphics rendering engine.  Just be warned that OpenGL code is nowhere near as easy to manage or maintain as its Core Animation equivalent would be.</description>
		<content:encoded><![CDATA[<p>I&#39;m the author of the linked post on optimizing OpenGL ES via Core Animation.  The gist of that post simply is that Apple provides some very nice convenience methods for dealing with Core Animation, and because Core Animation is layered upon OpenGL ES you can use some of these functions for improving your interaction with OpenGL ES.  In this case, I was maintaining a copy of the OpenGL model view matrix as a CATransform3D, manipulating it in code, then pushing it back to OpenGL.  This cut out a number of expensive operations where you had to read the state of the OpenGL model view matrix to manipulate it, leading to a significant performance boost and cleaner code.</p>
<p>Overall, it has been my suggestion to those doing 2-D work to look at Core Animation first, before going to OpenGL.  I&#39;ve worked with both, and greatly prefer Core Animation to OpenGL ES.  Apple has abstracted away a huge amount of the low-level procedural code within CALayer, CAAnimations, and the like.  As far as performance goes, on the original iPhone, I measured that you can animate up to 50 translucent layers at 60 FPS (100 at 30 FPS).  The biggest problem people have when they first come to Core Animation is they try to micromanage it and update positions of layers every animation frame.  You have to learn to trust the design of the framework, lay out animations ahead of time, and let the framework do the heavy lifting for you.  My latest application, Pi Cubed, has an interface entirely designed using Core Animation, something that would have been impractical to do using pure OpenGL.  The new open-source graphing framework, Core Plot, is also entirely constructed using Core Animation.</p>
<p>That said, OpenGL ES is necessary if you want to do pure 3-D work, if you need to push beyond 50 moving objects at 60 FPS, or if you want to craft a cross-platform graphics rendering engine.  Just be warned that OpenGL code is nowhere near as easy to manage or maintain as its Core Animation equivalent would be.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Wil Mak</title>
		<link>http://maniacdev.com/2009/07/iphone-game-programming-coreanimation-vs-opengl-es/comment-page-1/#comment-260</link>
		<dc:creator>Wil Mak</dc:creator>
		<pubDate>Sat, 25 Jul 2009 01:28:21 +0000</pubDate>
		<guid isPermaLink="false">http://maniacdev.com/?p=503#comment-260</guid>
		<description>nice post&lt;br&gt;&lt;br&gt;something i found was this:&lt;br&gt;&lt;a href=&quot;http://www.sunsetlakesoftware.com/2009/01/13/opengl-es-catransform3d&quot; rel=&quot;nofollow&quot;&gt;http://www.sunsetlakesoftware.com/2009/01/13/op...&lt;/a&gt;&lt;br&gt;&lt;br&gt;apparenlty the author was actually able to get better performance using coreanimation because it was easier to handle the user&#039;s touches</description>
		<content:encoded><![CDATA[<p>nice post</p>
<p>something i found was this:<br /><a href="http://www.sunsetlakesoftware.com/2009/01/13/opengl-es-catransform3d" rel="nofollow"></a><a href="http://www.sunsetlakesoftware.com/2009/01/13/op.." rel="nofollow">http://www.sunsetlakesoftware.com/2009/01/13/op..</a>.</p>
<p>apparenlty the author was actually able to get better performance using coreanimation because it was easier to handle the user&#39;s touches</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Karen</title>
		<link>http://maniacdev.com/2009/07/iphone-game-programming-coreanimation-vs-opengl-es/comment-page-1/#comment-246</link>
		<dc:creator>Karen</dc:creator>
		<pubDate>Thu, 23 Jul 2009 16:02:24 +0000</pubDate>
		<guid isPermaLink="false">http://maniacdev.com/?p=503#comment-246</guid>
		<description>I find OpenGL ES easier to learn than Core Animation</description>
		<content:encoded><![CDATA[<p>I find OpenGL ES easier to learn than Core Animation</p>
]]></content:encoded>
	</item>
</channel>
</rss>
