<?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>blog.betabong.com &#187; Flash Player</title>
	<atom:link href="http://blog.betabong.com/tag/flash-player/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.betabong.com</link>
	<description></description>
	<lastBuildDate>Thu, 13 May 2010 09:49:40 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Switch Flash Browser Plugin on Mac OS X</title>
		<link>http://blog.betabong.com/2009/04/27/switch-flash-browser-plugin-mac/</link>
		<comments>http://blog.betabong.com/2009/04/27/switch-flash-browser-plugin-mac/#comments</comments>
		<pubDate>Mon, 27 Apr 2009 13:12:35 +0000</pubDate>
		<dc:creator>betabong</dc:creator>
				<category><![CDATA[Flash & more]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[Debug]]></category>
		<category><![CDATA[Flash Player]]></category>
		<category><![CDATA[speed]]></category>

		<guid isPermaLink="false">http://blog.betabong.com/?p=273</guid>
		<description><![CDATA[Sometimes you need to test your Flash stuff with different plugin versions. Even if you just want to run some performance tests, it is very useful to switch to the release player (see below for another example).
For windows there is a neat Firefox Plugin that makes switching quite a snap. On Mac there is one [...]


Related posts:<ol><li><a href='http://blog.betabong.com/2009/04/05/flash-debug-speed/' rel='bookmark' title='Permanent Link: Flash Debug Speed'>Flash Debug Speed</a></li><li><a href='http://blog.betabong.com/2008/12/06/test-flex-throttled-simulate-download/' rel='bookmark' title='Permanent Link: Test Flex/Flash throttled (aka Simulate Download)'>Test Flex/Flash throttled (aka Simulate Download)</a></li><li><a href='http://blog.betabong.com/2008/08/22/flash-player-10-i-love-speed/' rel='bookmark' title='Permanent Link: Flash Player 10 – I love speed'>Flash Player 10 – I love speed</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p>Sometimes you need to test your Flash stuff with different plugin versions. Even if you just want to run some <a href="/2009/04/05/flash-debug-speed/">performance tests</a>, it is very useful to switch to the release player (see below for another example).</p>
<p>For <a href="http://www.sephiroth.it/weblog/archives/2006/10/flash_switcher_for_firefox.php">windows there is a neat Firefox Plugin</a> that makes switching quite a snap. <a href="http://sephiroth.it/firefox/flash_switcher/">On Mac there is one too</a> – I haven&#8217;t tested it, but it&#8217;s supposed to work (though I&#8217;m not too sure about that when I read <a href="http://www.sephiroth.it/weblog/archives/2006/11/flash_switcher_for_osx.php#comments">these comments here</a>). Still I prefer to work with Safari and I kind of dislike the thought of starting Firefox to just switch Plugins.</p>
<p><a href="http://code.google.com/p/wspluginswitcher/" style="float: left; display: block; margin-right: 10pt; margin-bottom: 10pt;"><img src="http://blog.betabong.com/wp-content/uploads/2009/04/wspluginswitcher-icon.jpg" alt="wspluginswitcher-icon" title="wspluginswitcher-icon" width="128" height="128" class="alignleft size-full wp-image-274" /></a>Fortunately I&#8217;ve found another solution: <a href="http://code.google.com/p/wspluginswitcher/">WSPluginSwitcher</a>. This one comes as a Cocoa app and once configured (you really should <a href="http://code.google.com/p/wspluginswitcher/wiki/Setup">read this wiki page</a>), it works real well for me. Also they have <a href="http://code.google.com/p/wspluginswitcher/downloads/list">prepared plugin versions for you to download</a> (though the <a href="http://www.adobe.com/support/flashplayer/downloads.html">most recents</a> are missing, but no big deal really).</p>
<p>As for the speed tests, let me just give you another example (impressing enough for me to wanna switch players for real world testing).</p>
<p>In Debug Player:</p>
<pre>
method...................................................ttl ms...avg ms
tare [2]                                                      0     0.00
CSSFastParser                                               603   120.60
CSSRegExpParserFast                                         987   197.40
CSSRegExpParserFastAdvanced                                1457   291.40
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
</pre>
<p>In Release Player:</p>
<pre>
method...................................................ttl ms...avg ms
tare [2]                                                      0     0.00
CSSFastParser                                               354    70.80
CSSRegExpParserFast                                         972   194.40
CSSRegExpParserFastAdvanced                                1469   293.80
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
</pre>
<p>Both 10.0.22.87, and exported as release swf. Oh, and by the way tested with another useful tool from Grant Skinner: <a href="http://www.gskinner.com/blog/archives/2009/04/as3_performance.html">AS3 Performance Testing Harness</a>.</p>


<p>Related posts:<ol><li><a href='http://blog.betabong.com/2009/04/05/flash-debug-speed/' rel='bookmark' title='Permanent Link: Flash Debug Speed'>Flash Debug Speed</a></li><li><a href='http://blog.betabong.com/2008/12/06/test-flex-throttled-simulate-download/' rel='bookmark' title='Permanent Link: Test Flex/Flash throttled (aka Simulate Download)'>Test Flex/Flash throttled (aka Simulate Download)</a></li><li><a href='http://blog.betabong.com/2008/08/22/flash-player-10-i-love-speed/' rel='bookmark' title='Permanent Link: Flash Player 10 – I love speed'>Flash Player 10 – I love speed</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.betabong.com/2009/04/27/switch-flash-browser-plugin-mac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash Debug Speed</title>
		<link>http://blog.betabong.com/2009/04/05/flash-debug-speed/</link>
		<comments>http://blog.betabong.com/2009/04/05/flash-debug-speed/#comments</comments>
		<pubDate>Sun, 05 Apr 2009 00:49:46 +0000</pubDate>
		<dc:creator>betabong</dc:creator>
				<category><![CDATA[Flash & more]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Debug]]></category>
		<category><![CDATA[Flash Player]]></category>
		<category><![CDATA[speed]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://blog.betabong.com/?p=225</guid>
		<description><![CDATA[I did some speed tests today, comparing two string parsing methods. And I&#8217;ve made some very interesting discoveries: The execution speed between SWF compiled for debugging and those compiled without differs.
Ha! Okay, that&#8217;s not that much of news (even for me). But what astonishes me is how much this speed gap can be, especially when [...]


Related posts:<ol><li><a href='http://blog.betabong.com/2009/04/27/switch-flash-browser-plugin-mac/' rel='bookmark' title='Permanent Link: Switch Flash Browser Plugin on Mac OS X'>Switch Flash Browser Plugin on Mac OS X</a></li><li><a href='http://blog.betabong.com/2008/08/22/flash-player-10-i-love-speed/' rel='bookmark' title='Permanent Link: Flash Player 10 – I love speed'>Flash Player 10 – I love speed</a></li><li><a href='http://blog.betabong.com/2008/12/06/test-flex-throttled-simulate-download/' rel='bookmark' title='Permanent Link: Test Flex/Flash throttled (aka Simulate Download)'>Test Flex/Flash throttled (aka Simulate Download)</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p>I did some speed tests today, comparing two string parsing methods. And I&#8217;ve made some very interesting discoveries: The execution speed between SWF compiled for debugging and those compiled without differs.</p>
<p>Ha! Okay, that&#8217;s not that much of news (even for me). But what astonishes me is how much this speed gap can be, especially when it comes to massive data calculations. I somehow always had a somewhat 20 percent speed decrease in mind (I was just presuming, me dumb). But for a 3d particle test we&#8217;re talking factor 8!!</p>
<p>Now this made me curious&#8230; so I&#8217;ve tested with Debug and Release Player both debug and release SWFs:</p>
<p><strong>Debug Player running Debug SWF</strong></p>
<p><strong><a href="http://blog.betabong.com/wp-content/uploads/2009/04/picture-11.png" rel="lightbox[225]"><img class="alignnone size-full wp-image-226" title="Flash Debug in Debug" src="http://blog.betabong.com/wp-content/uploads/2009/04/picture-11.png" alt="Flash Debug in Debug" width="428" height="185" /></a></strong></p>
<p><strong>Debug Player running Release SWF</strong></p>
<p><strong><a href="http://blog.betabong.com/wp-content/uploads/2009/04/picture-9.png" rel="lightbox[225]"><img class="alignnone size-full wp-image-227" title="Release in Debug" src="http://blog.betabong.com/wp-content/uploads/2009/04/picture-9.png" alt="Release in Debug" width="428" height="185" /></a></strong></p>
<p><strong>Release Player running Debug SWF</strong></p>
<p><strong><a href="http://blog.betabong.com/wp-content/uploads/2009/04/picture-12.png" rel="lightbox[225]"><img class="alignnone size-full wp-image-228" title="Debug in Release" src="http://blog.betabong.com/wp-content/uploads/2009/04/picture-12.png" alt="Debug in Release" width="427" height="181" /></a></strong></p>
<p><strong>Release Player running Release SWF</strong></p>
<p><strong><a href="http://blog.betabong.com/wp-content/uploads/2009/04/picture-13.png" rel="lightbox[225]"><img class="alignnone size-full wp-image-229" title="Release in Release" src="http://blog.betabong.com/wp-content/uploads/2009/04/picture-13.png" alt="Release in Release" width="427" height="185" /></a></strong></p>
<p><strong>A few conclusions:</strong></p>
<ul>
<li><strong>Never release a SWF file with debug code</strong> (or otherwise said: put only stuff online from bin-release, never bin-debug). Though common users won&#8217;t notice the speed decrease, your friendly flash developers may, at least if you&#8217;re app is somewhat cpu intensive. And of course: debug SWF are much bigger in size (just in case you give a fuck about flash devs ;-)</li>
<li><strong>Speed tests should be played in the release player.</strong> Why? After all, I wouldn&#8217;t care if the relation would stay the same. Usually you just need to know how much faster one thing is compared to the other one, so that would do it. But unfortunately the ratio won&#8217;t always be the same. In the above example the ration is 3.66 for debug and 2.92 for release. And it can differ muuuuch more.</li>
</ul>
<p>The last one bugs me quite a bit. It&#8217;s just a pain in the ass to export a release build each time you wanna compare performance. And it also means you can&#8217;t do quick&#8217;n'dirty trace outputs for the time result (not a biggy if you&#8217;re testing within a Flex project though).</p>
<p>So here we go with <strong>two wishes for Adobe</strong>:</p>
<ul>
<li>Let us quickly test release builds within Flex Builder (a simple command would do it – I thought it might be «Run Testapp» (instead of «Debug Testapp»), but that just doesn&#8217;t bring up the Debugger (and same speed)</li>
<li>An option to turn off debugging mode in Debug Player!!! That would solve almost all problems, and we could also use our Plugin for normal browsing without performance penalties (is this why Youtube eats so much cpu here?</li>
</ul>


<p>Related posts:<ol><li><a href='http://blog.betabong.com/2009/04/27/switch-flash-browser-plugin-mac/' rel='bookmark' title='Permanent Link: Switch Flash Browser Plugin on Mac OS X'>Switch Flash Browser Plugin on Mac OS X</a></li><li><a href='http://blog.betabong.com/2008/08/22/flash-player-10-i-love-speed/' rel='bookmark' title='Permanent Link: Flash Player 10 – I love speed'>Flash Player 10 – I love speed</a></li><li><a href='http://blog.betabong.com/2008/12/06/test-flex-throttled-simulate-download/' rel='bookmark' title='Permanent Link: Test Flex/Flash throttled (aka Simulate Download)'>Test Flex/Flash throttled (aka Simulate Download)</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.betabong.com/2009/04/05/flash-debug-speed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bug Hunting: Shadowed 3D and ScrollRect</title>
		<link>http://blog.betabong.com/2009/04/01/bug-hunting-shadowed-3d-and-scrollrect/</link>
		<comments>http://blog.betabong.com/2009/04/01/bug-hunting-shadowed-3d-and-scrollrect/#comments</comments>
		<pubDate>Wed, 01 Apr 2009 16:02:05 +0000</pubDate>
		<dc:creator>betabong</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Bug]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[Flash Player]]></category>

		<guid isPermaLink="false">http://blog.betabong.com/?p=217</guid>
		<description><![CDATA[I don&#8217;t discover as many bugs nowadays as I&#8217;ve used to in the old days when I was beta testing for Macromedia. But it happened today, and I&#8217;ve just installed the newest Flash Player 10.0.22.87 to be sure.
It happens to DisplayObjects A inside DisplayObjectContainers B inside DisplayObjectContainer C, when

A was not initially visible (not inside [...]


Related posts:<ol><li><a href='http://blog.betabong.com/2009/04/17/metatunnel-with-pixel-bender/' rel='bookmark' title='Permanent Link: MetaTunnel with Pixel Bender'>MetaTunnel with Pixel Bender</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t discover as many bugs nowadays as I&#8217;ve used to in the old days when I was beta testing for Macromedia. But it happened today, and I&#8217;ve just installed the newest Flash Player 10.0.22.87 to be sure.</p>
<p>It happens to DisplayObjects A inside DisplayObjectContainers B inside DisplayObjectContainer C, when</p>
<ul>
<li>A was not initially visible (not inside initial scroll rect of C)</li>
<li>A is in 3D mode (I just change rotationY for that)</li>
<li>B is in «cached as Bitmap» (cacheAsBitmap would do, I go with DropShadowFilter in the example)</li>
<li>C&#8217;s scrollrect property is set, so A is shows up (well, it doesn&#8217;t – that&#8217;s the bug after all ;)</li>
</ul>
<p>Here the example:</p>
<div style="padding: 10px; background-color: #eee;"><object width="500" height="200" data="/wp-content/uploads/2009/04/bug-3d-shadow.swf" type="application/x-shockwave-flash"><param name="id" value="Bug-3D-Shadow" /><param name="align" value="middle" /><param name="allowScriptAccess" value="sameDomain" /><param name="allowFullScreen" value="false" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><param name="src" value="/wp-content/uploads/2009/04/bug-3d-shadow.swf" /><param name="name" value="Bug-3D-Shadow" /><param name="allowfullscreen" value="false" /></object></div>
<p><a href="http://blog.betabong.com/wp-content/uploads/2009/04/bug-3d-shadow.swf">bug-3d-shadow.swf</a><br />
<span id="more-217"></span><br />
And here the code:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">/* Flash Bug - Flash Player 10.0.22.87
	disappearance when 3d's parent has shadow
	more info: betabong@gmail.com
*/</span>
&nbsp;
<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">stage</span>.<span style="color: #0066CC;">scaleMode</span> = StageScaleMode.<span style="color: #006600;">NO_SCALE</span>;
<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">stage</span>.<span style="color: #0066CC;">align</span> = StageAlign.<span style="color: #006600;">TOP_LEFT</span>;
&nbsp;
&nbsp;
<span style="color: #000000; font-weight: bold;">var</span> scroller:Sprite = <span style="color: #000000; font-weight: bold;">new</span> Sprite<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
addChild<span style="color: #66cc66;">&#40;</span> scroller <span style="color: #66cc66;">&#41;</span>;
scroller = <span style="color: #0066CC;">this</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">var</span> filter:DropShadowFilter = <span style="color: #000000; font-weight: bold;">new</span> DropShadowFilter<span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">2</span> , <span style="color: #cc66cc;">90</span> , <span style="color: #cc66cc;">0</span> , <span style="color: #cc66cc;">0.5</span> , <span style="color: #cc66cc;">8</span> , <span style="color: #cc66cc;">8</span> , <span style="color: #cc66cc;">1</span> , <span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">var</span> r:Sprite,rect:Sprite;
&nbsp;
<span style="color: #b1b100;">for</span> <span style="color: #66cc66;">&#40;</span> <span style="color: #000000; font-weight: bold;">var</span> mode:<span style="color: #0066CC;">int</span> = <span style="color: #cc66cc;">0</span> ; mode<span style="color: #66cc66;">&lt;</span>=<span style="color: #cc66cc;">1</span> ; mode++ <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
	<span style="color: #b1b100;">for</span> <span style="color: #66cc66;">&#40;</span> <span style="color: #000000; font-weight: bold;">var</span> i:<span style="color: #0066CC;">int</span>=<span style="color: #cc66cc;">0</span> ; i<span style="color: #66cc66;">&lt;</span><span style="color: #cc66cc;">3000</span> ; i+=<span style="color: #cc66cc;">100</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
		r = <span style="color: #000000; font-weight: bold;">new</span> Sprite<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
		r.<span style="color: #006600;">addChild</span><span style="color: #66cc66;">&#40;</span> rect = <span style="color: #000000; font-weight: bold;">new</span> Sprite<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span>;
		rect.<span style="color: #006600;">graphics</span>.<span style="color: #0066CC;">beginFill</span><span style="color: #66cc66;">&#40;</span> 0xff0000 <span style="color: #66cc66;">&#41;</span>;
		rect.<span style="color: #006600;">graphics</span>.<span style="color: #006600;">drawRect</span><span style="color: #66cc66;">&#40;</span> -<span style="color: #cc66cc;">40</span> , -<span style="color: #cc66cc;">40</span> , <span style="color: #cc66cc;">80</span> , <span style="color: #cc66cc;">80</span> <span style="color: #66cc66;">&#41;</span>;
		rect.<span style="color: #006600;">graphics</span>.<span style="color: #0066CC;">endFill</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
		rect.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span> MouseEvent.<span style="color: #006600;">MOUSE_MOVE</span> , rotate <span style="color: #66cc66;">&#41;</span>;
		<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">!</span>mode <span style="color: #66cc66;">&#41;</span> r.<span style="color: #006600;">cacheAsBitmap</span> = <span style="color: #000000; font-weight: bold;">true</span>; <span style="color: #808080; font-style: italic;">//r.filters = [ filter ];</span>
		r.<span style="color: #006600;">y</span> = i + <span style="color: #cc66cc;">100</span>;
		r.<span style="color: #006600;">x</span> = mode <span style="color: #66cc66;">*</span> <span style="color: #cc66cc;">150</span> + <span style="color: #cc66cc;">100</span>;
		addChild<span style="color: #66cc66;">&#40;</span> r <span style="color: #66cc66;">&#41;</span>;
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #0066CC;">stage</span>.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span> Event.<span style="color: #006600;">ENTER_FRAME</span> , move <span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #0066CC;">scroll</span>:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">0</span>;
<span style="color: #000000; font-weight: bold;">function</span> move<span style="color: #66cc66;">&#40;</span> event:Event <span style="color: #66cc66;">&#41;</span> : <span style="color: #0066CC;">void</span> <span style="color: #66cc66;">&#123;</span>
	<span style="color: #0066CC;">scroll</span> += <span style="color: #66cc66;">&#40;</span> <span style="color: #0066CC;">stage</span>.<span style="color: #006600;">mouseY</span> - <span style="color: #cc66cc;">100</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">/</span> <span style="color: #cc66cc;">50</span>;
	scroller.<span style="color: #006600;">scrollRect</span> = <span style="color: #000000; font-weight: bold;">new</span> Rectangle<span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">0</span> , <span style="color: #0066CC;">scroll</span> , <span style="color: #cc66cc;">500</span> , <span style="color: #cc66cc;">200</span> <span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> rotate<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>:<span style="color: #66cc66;">*</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
	<span style="color: #0066CC;">e</span>.<span style="color: #0066CC;">target</span>.<span style="color: #006600;">rotationY</span>++;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p><strong>Update:</strong> Now that: it took me about 20 min to file a bug in the Adobe Bug System (which is slow as hell anyway). And when I want to submit it, I get a message saying they&#8217;d be in maintenance. Well, buggy bug systems piss me off quite a bit.</p>


<p>Related posts:<ol><li><a href='http://blog.betabong.com/2009/04/17/metatunnel-with-pixel-bender/' rel='bookmark' title='Permanent Link: MetaTunnel with Pixel Bender'>MetaTunnel with Pixel Bender</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.betabong.com/2009/04/01/bug-hunting-shadowed-3d-and-scrollrect/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
