<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>JacksonDunstan.com &#187; AS3</title>
	<atom:link href="http://jacksondunstan.com/articles/category/as3/feed" rel="self" type="application/rss+xml" />
	<link>http://jacksondunstan.com</link>
	<description>Mastering AS3</description>
	<lastBuildDate>Mon, 21 May 2012 09:00:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Speed Up Alpha Textures With Stage3D By 4x</title>
		<link>http://jacksondunstan.com/articles/1864</link>
		<comments>http://jacksondunstan.com/articles/1864#comments</comments>
		<pubDate>Mon, 21 May 2012 09:00:26 +0000</pubDate>
		<dc:creator>jackson</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[alpha]]></category>
		<category><![CDATA[culling]]></category>
		<category><![CDATA[frustum]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[stage3d]]></category>
		<category><![CDATA[view]]></category>

		<guid isPermaLink="false">http://jacksondunstan.com/?p=1864</guid>
		<description><![CDATA[Now that we know how to use textures with an alpha channel in rendering Stage3D scenes, let&#8217;s see if we can cut the performance cost so we can use them more often. Today&#8217;s article will show some tricks to optimize your rendering loop. The following test app started with the test app from last time [...]]]></description>
		<wfw:commentRss>http://jacksondunstan.com/articles/1864/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Alpha Textures With Stage3D</title>
		<link>http://jacksondunstan.com/articles/1854</link>
		<comments>http://jacksondunstan.com/articles/1854#comments</comments>
		<pubDate>Mon, 14 May 2012 09:00:13 +0000</pubDate>
		<dc:creator>jackson</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[alpha]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[sorting]]></category>
		<category><![CDATA[stage3d]]></category>
		<category><![CDATA[texture]]></category>
		<category><![CDATA[transparent]]></category>

		<guid isPermaLink="false">http://jacksondunstan.com/?p=1854</guid>
		<description><![CDATA[Stage3D makes a lot of common tasks more complicated. One such task is using a texture/image that has alpha on it. With classic 2D Flash, this is done automatically for us. With Stage3D, we must resort to some obscure tricks. Today I&#8217;ll show you those tricks so you can use alpha textures in your Stage3D-accelerated [...]]]></description>
		<wfw:commentRss>http://jacksondunstan.com/articles/1854/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Sorted Array</title>
		<link>http://jacksondunstan.com/articles/1848</link>
		<comments>http://jacksondunstan.com/articles/1848#comments</comments>
		<pubDate>Mon, 07 May 2012 09:00:12 +0000</pubDate>
		<dc:creator>jackson</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[array]]></category>
		<category><![CDATA[binary sort]]></category>
		<category><![CDATA[index]]></category>
		<category><![CDATA[insert]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[sort]]></category>

		<guid isPermaLink="false">http://jacksondunstan.com/?p=1848</guid>
		<description><![CDATA[AS3 gives you arrays and a way to sort them, but no easy way to keep them sorted as you add elements to them. Today&#8217;s article discusses an easy way to do just that: build a sorted array and keep it sorted. As a bonus, the array provides very fast searching for the elements it [...]]]></description>
		<wfw:commentRss>http://jacksondunstan.com/articles/1848/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Better Ways To Check Class Inheritance</title>
		<link>http://jacksondunstan.com/articles/1836</link>
		<comments>http://jacksondunstan.com/articles/1836#comments</comments>
		<pubDate>Mon, 30 Apr 2012 09:00:24 +0000</pubDate>
		<dc:creator>jackson</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[inheritance]]></category>
		<category><![CDATA[interface]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://jacksondunstan.com/?p=1836</guid>
		<description><![CDATA[If you want to check if one class inherits another without actually having instances of those classes, you may have read my article on Checking Class Inheritance. However, as the many comments quickly pointed out, the methods of checking this may have some flaws. There were also additional methods posted in the comments that should [...]]]></description>
		<wfw:commentRss>http://jacksondunstan.com/articles/1836/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Function Performance Update</title>
		<link>http://jacksondunstan.com/articles/1820</link>
		<comments>http://jacksondunstan.com/articles/1820#comments</comments>
		<pubDate>Mon, 23 Apr 2012 09:00:51 +0000</pubDate>
		<dc:creator>jackson</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[call]]></category>
		<category><![CDATA[dynamic]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[interface]]></category>
		<category><![CDATA[method]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[plain]]></category>
		<category><![CDATA[static]]></category>
		<category><![CDATA[variable]]></category>

		<guid isPermaLink="false">http://jacksondunstan.com/?p=1820</guid>
		<description><![CDATA[Above all others, there is one article I refer back to most: 2009&#8242;s Function Performance. It was updated for Flash Player 10.1 and 10.2, but not 10.3, 11.0, 11.1, or 11.2. Today I&#8217;m updating this article for Flash Player 11.2, adding some missing function types, and including a set of graphs to make for the [...]]]></description>
		<wfw:commentRss>http://jacksondunstan.com/articles/1820/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Faster Stage3D Rendering With View Frustum Culling</title>
		<link>http://jacksondunstan.com/articles/1811</link>
		<comments>http://jacksondunstan.com/articles/1811#comments</comments>
		<pubDate>Mon, 16 Apr 2012 09:00:14 +0000</pubDate>
		<dc:creator>jackson</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[camera]]></category>
		<category><![CDATA[culling]]></category>
		<category><![CDATA[hidden surface determination]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[stage3d]]></category>
		<category><![CDATA[view frustum culling]]></category>

		<guid isPermaLink="false">http://jacksondunstan.com/?p=1811</guid>
		<description><![CDATA[While my three part series on draw calls in Stage3D urged you to reduce them as low as possible, it didn&#8217;t give you much in the way of techniques for avoiding them. Sure, it had some good ideas for combining 2D sprite draws into a single draw, but how about 3D? Today&#8217;s article tackles the [...]]]></description>
		<wfw:commentRss>http://jacksondunstan.com/articles/1811/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Double the Performance of Stage3D Apps</title>
		<link>http://jacksondunstan.com/articles/1797</link>
		<comments>http://jacksondunstan.com/articles/1797#comments</comments>
		<pubDate>Mon, 09 Apr 2012 09:00:35 +0000</pubDate>
		<dc:creator>jackson</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[index buffer]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[shader]]></category>
		<category><![CDATA[shader program]]></category>
		<category><![CDATA[stage3d]]></category>
		<category><![CDATA[state]]></category>
		<category><![CDATA[texture]]></category>
		<category><![CDATA[vertex buffer]]></category>

		<guid isPermaLink="false">http://jacksondunstan.com/?p=1797</guid>
		<description><![CDATA[To draw with Flash Player 11&#8242;s Stage3D API, you must set up the state of various GPU resources before finally calling drawTriangles. Inevitably, you&#8217;ll end up calling drawTriangles multiple times during a single frame to draw your characters, terrain, sky, and so forth. In between these calls you will change the GPU&#8217;s state by calling [...]]]></description>
		<wfw:commentRss>http://jacksondunstan.com/articles/1797/feed</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Building Strings</title>
		<link>http://jacksondunstan.com/articles/1790</link>
		<comments>http://jacksondunstan.com/articles/1790#comments</comments>
		<pubDate>Mon, 02 Apr 2012 09:00:50 +0000</pubDate>
		<dc:creator>jackson</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[ascii]]></category>
		<category><![CDATA[build]]></category>
		<category><![CDATA[bytearray]]></category>
		<category><![CDATA[character]]></category>
		<category><![CDATA[concatenate]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[plus]]></category>
		<category><![CDATA[string]]></category>
		<category><![CDATA[utf]]></category>

		<guid isPermaLink="false">http://jacksondunstan.com/?p=1790</guid>
		<description><![CDATA[When a recent comment asked about string concatenation performance, I realized that there are a lot of ways to build strings in AS3 and I hadn&#8217;t tested any of them. Leaving aside the sillier ones like the XML class or joining Array objects, we have two serious contenders: the lowly + operator (i.e. str + [...]]]></description>
		<wfw:commentRss>http://jacksondunstan.com/articles/1790/feed</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Vector vs. ByteArray</title>
		<link>http://jacksondunstan.com/articles/1783</link>
		<comments>http://jacksondunstan.com/articles/1783#comments</comments>
		<pubDate>Mon, 26 Mar 2012 09:00:39 +0000</pubDate>
		<dc:creator>jackson</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[bytearray]]></category>
		<category><![CDATA[double]]></category>
		<category><![CDATA[float]]></category>
		<category><![CDATA[int]]></category>
		<category><![CDATA[number]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[vector]]></category>

		<guid isPermaLink="false">http://jacksondunstan.com/?p=1783</guid>
		<description><![CDATA[Which is the fastest way to store data: Vector or ByteArray? Given that you can upload both types to Stage3D in Flash Player 11, this question has never been more relevant. So which should you use to maximize your app&#8217;s speed? Read on for the performance testing. To test the two classes out, I made [...]]]></description>
		<wfw:commentRss>http://jacksondunstan.com/articles/1783/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Compile Time Only</title>
		<link>http://jacksondunstan.com/articles/1774</link>
		<comments>http://jacksondunstan.com/articles/1774#comments</comments>
		<pubDate>Mon, 19 Mar 2012 09:00:09 +0000</pubDate>
		<dc:creator>jackson</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[compile]]></category>
		<category><![CDATA[const]]></category>
		<category><![CDATA[final]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[runtime]]></category>
		<category><![CDATA[var]]></category>

		<guid isPermaLink="false">http://jacksondunstan.com/?p=1774</guid>
		<description><![CDATA[The const and final keywords only apply at compile time. Despite having written about const and final before, readers frequently ask me about these two keywords. Today&#8217;s article will answer the question and definitively show that these keywords only apply at compile time: not runtime. UPDATE: const is still just a variable as far as [...]]]></description>
		<wfw:commentRss>http://jacksondunstan.com/articles/1774/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
	</channel>
</rss>

