<br />
<b>Warning</b>:  include() [<a href='function.include'>function.include</a>]: Unable to access /var/www/html/rogue-development/blog2/wp-content/advanced-cache.php in <b>/var/www/html/rogue-development/blog2/wp-settings.php</b> on line <b>62</b><br />
<br />
<b>Warning</b>:  include(/var/www/html/rogue-development/blog2/wp-content/advanced-cache.php) [<a href='function.include'>function.include</a>]: failed to open stream: No such file or directory in <b>/var/www/html/rogue-development/blog2/wp-settings.php</b> on line <b>62</b><br />
<br />
<b>Warning</b>:  include() [<a href='function.include'>function.include</a>]: Failed opening '/var/www/html/rogue-development/blog2/wp-content/advanced-cache.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php') in <b>/var/www/html/rogue-development/blog2/wp-settings.php</b> on line <b>62</b><br />
<br />
<b>Notice</b>:  add_option was called with an argument that is <strong>deprecated</strong> since version 2.3 with no alternative available. in <b>/var/www/html/rogue-development/blog2/wp-includes/functions.php</b> on line <b>3468</b><br />
<br />
<b>Notice</b>:  register_sidebar_widget is <strong>deprecated</strong> since version 2.8! Use wp_register_sidebar_widget() instead. in <b>/var/www/html/rogue-development/blog2/wp-includes/functions.php</b> on line <b>3382</b><br />
<br />
<b>Notice</b>:  register_widget_control is <strong>deprecated</strong> since version 2.8! Use wp_register_widget_control() instead. in <b>/var/www/html/rogue-development/blog2/wp-includes/functions.php</b> on line <b>3382</b><br />
<?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: OSX Flex app is slow&#8230;</title>
	<atom:link href="http://www.rogue-development.com/blog2/2007/07/osx-flex-app-is-slow/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.rogue-development.com/blog2/2007/07/osx-flex-app-is-slow/</link>
	<description>Comments and thoughts on technology from Marc Hughes</description>
	<lastBuildDate>Sun, 30 Jan 2011 18:36:22 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Marc</title>
		<link>http://www.rogue-development.com/blog2/2007/07/osx-flex-app-is-slow/comment-page-1/#comment-45</link>
		<dc:creator>Marc</dc:creator>
		<pubDate>Thu, 26 Jul 2007 17:06:00 +0000</pubDate>
		<guid isPermaLink="false">http://rogue-development.com/blog2/?p=38#comment-45</guid>
		<description>I removed all mention of timers and did the calculation in a single pass.&lt;br/&gt;&lt;br/&gt;OSX is still about 10x slower than the PC version.&lt;br/&gt;&lt;br/&gt;I will run it through the FB3 profiler at some point and try to figure out why.</description>
		<content:encoded><![CDATA[<p>I removed all mention of timers and did the calculation in a single pass.</p>
<p>OSX is still about 10x slower than the PC version.</p>
<p>I will run it through the FB3 profiler at some point and try to figure out why.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ted Patrick</title>
		<link>http://www.rogue-development.com/blog2/2007/07/osx-flex-app-is-slow/comment-page-1/#comment-44</link>
		<dc:creator>Ted Patrick</dc:creator>
		<pubDate>Thu, 26 Jul 2007 15:09:00 +0000</pubDate>
		<guid isPermaLink="false">http://rogue-development.com/blog2/?p=38#comment-44</guid>
		<description>Marc,&lt;br/&gt;&lt;br/&gt;This code will execute indefinitely as you pass a 0 as the &quot;repeatCount&quot;. A better strategy would be to create  Timer objects and have them dynamically created.&lt;br/&gt;&lt;br/&gt;The slowdown in OSX is because you are executing something 1000 per second with this: &lt;br/&gt;&lt;br/&gt;timer = new Timer(1,0);&lt;br/&gt;timer.addEventListener( TIMER, myFunction);&lt;br/&gt;&lt;br/&gt;vs 1 time per second like this:&lt;br/&gt;&lt;br/&gt;timer = new Timer(1000,0);&lt;br/&gt;timer.addEventListener( TIMER, myFunction);&lt;br/&gt;&lt;br/&gt;The key is that you have a bunch of work you need complete. You need to define storage to hold the results of all this calcuation and the state where you left off.&lt;br/&gt;&lt;br/&gt;1. Create a timer like so:&lt;br/&gt;&lt;br/&gt;timer = new Timer(1,1);&lt;br/&gt;timer.addEventListener( TIMER, myFunction);&lt;br/&gt;&lt;br/&gt;this will only run 1 time. Within the myFunction create a new Timer intance as &#039;timer&#039; if you need to do more work. You can reuse the base function. When the work is done a new Timer will not be created.&lt;br/&gt;&lt;br/&gt;They way I am seeing the code you posted, this will run forever and at 1000 per seconds, the player is completely overloaded. The key is to do incremental work within each Timer over time.&lt;br/&gt;&lt;br/&gt;Making timer calls 1000 times per second is abusive to the player and is most likely degrading performance more than the work you are doing.&lt;br/&gt;&lt;br/&gt;Again if you could post the code you are running in the myFunction it would help too. I can image there are optimization there too.&lt;br/&gt;&lt;br/&gt;Feel free to take this offline with me at ted@adobe.com.&lt;br/&gt;&lt;br/&gt;Happy to help!&lt;br/&gt;&lt;br/&gt;Ted :)</description>
		<content:encoded><![CDATA[<p>Marc,</p>
<p>This code will execute indefinitely as you pass a 0 as the &#8220;repeatCount&#8221;. A better strategy would be to create  Timer objects and have them dynamically created.</p>
<p>The slowdown in OSX is because you are executing something 1000 per second with this: </p>
<p>timer = new Timer(1,0);<br />timer.addEventListener( TIMER, myFunction);</p>
<p>vs 1 time per second like this:</p>
<p>timer = new Timer(1000,0);<br />timer.addEventListener( TIMER, myFunction);</p>
<p>The key is that you have a bunch of work you need complete. You need to define storage to hold the results of all this calcuation and the state where you left off.</p>
<p>1. Create a timer like so:</p>
<p>timer = new Timer(1,1);<br />timer.addEventListener( TIMER, myFunction);</p>
<p>this will only run 1 time. Within the myFunction create a new Timer intance as &#8216;timer&#8217; if you need to do more work. You can reuse the base function. When the work is done a new Timer will not be created.</p>
<p>They way I am seeing the code you posted, this will run forever and at 1000 per seconds, the player is completely overloaded. The key is to do incremental work within each Timer over time.</p>
<p>Making timer calls 1000 times per second is abusive to the player and is most likely degrading performance more than the work you are doing.</p>
<p>Again if you could post the code you are running in the myFunction it would help too. I can image there are optimization there too.</p>
<p>Feel free to take this offline with me at <a href="mailto:ted@adobe.com">ted@adobe.com</a>.</p>
<p>Happy to help!</p>
<p>Ted <img src='http://www.rogue-development.com/blog2/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marc</title>
		<link>http://www.rogue-development.com/blog2/2007/07/osx-flex-app-is-slow/comment-page-1/#comment-43</link>
		<dc:creator>Marc</dc:creator>
		<pubDate>Thu, 26 Jul 2007 12:34:00 +0000</pubDate>
		<guid isPermaLink="false">http://rogue-development.com/blog2/?p=38#comment-43</guid>
		<description>The timer is in there so I can do chunks of work at a time.  Is there a better way to do a chunk of work, let the flash player handle any events, then do another chunk?&lt;br/&gt;&lt;br/&gt;I&#039;ve tried various timings, all the way up to a second, the processing of the work is always at least 9x slower on OSX than Win.</description>
		<content:encoded><![CDATA[<p>The timer is in there so I can do chunks of work at a time.  Is there a better way to do a chunk of work, let the flash player handle any events, then do another chunk?</p>
<p>I&#8217;ve tried various timings, all the way up to a second, the processing of the work is always at least 9x slower on OSX than Win.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ted Patrick</title>
		<link>http://www.rogue-development.com/blog2/2007/07/osx-flex-app-is-slow/comment-page-1/#comment-42</link>
		<dc:creator>Ted Patrick</dc:creator>
		<pubDate>Thu, 26 Jul 2007 05:08:00 +0000</pubDate>
		<guid isPermaLink="false">http://rogue-development.com/blog2/?p=38#comment-42</guid>
		<description>Ok, I found it. This line of code says it all:&lt;br/&gt;&lt;br/&gt;timer = new Timer(1,0);&lt;br/&gt;&lt;br/&gt;This will execute your function every millisecond, some 1000 times per second and 60000 times per minute. This is asking the player to do a ton of work, actually 60000 tons per minute.&lt;br/&gt;&lt;br/&gt;If you want a chunk to run every second do this:&lt;br/&gt;&lt;br/&gt;timer = new Timer(1000,0);&lt;br/&gt;&lt;br/&gt;So how do I know this, I have done the same thing myself. It is a pretty common mistake with the new Timer class.&lt;br/&gt;&lt;br/&gt;The player will attempt to do all the work you ask it to, the key is asking it to do just enough to get your work done.&lt;br/&gt;&lt;br/&gt;Don&#039;t abuse Flash Player with the Timer class. :)&lt;br/&gt;&lt;br/&gt;Regards,&lt;br/&gt;&lt;br/&gt;Ted Patrick</description>
		<content:encoded><![CDATA[<p>Ok, I found it. This line of code says it all:</p>
<p>timer = new Timer(1,0);</p>
<p>This will execute your function every millisecond, some 1000 times per second and 60000 times per minute. This is asking the player to do a ton of work, actually 60000 tons per minute.</p>
<p>If you want a chunk to run every second do this:</p>
<p>timer = new Timer(1000,0);</p>
<p>So how do I know this, I have done the same thing myself. It is a pretty common mistake with the new Timer class.</p>
<p>The player will attempt to do all the work you ask it to, the key is asking it to do just enough to get your work done.</p>
<p>Don&#8217;t abuse Flash Player with the Timer class. <img src='http://www.rogue-development.com/blog2/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Regards,</p>
<p>Ted Patrick</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://www.rogue-development.com/blog2/2007/07/osx-flex-app-is-slow/comment-page-1/#comment-41</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Thu, 26 Jul 2007 02:49:00 +0000</pubDate>
		<guid isPermaLink="false">http://rogue-development.com/blog2/?p=38#comment-41</guid>
		<description>I&#039;ve had much the same problem with a nested set of Flex containers. Just moving between one screen and another is soooo sssslllllooooowwww. I wonder if Adobe is aware on of how slow flash is on the mac?</description>
		<content:encoded><![CDATA[<p>I&#8217;ve had much the same problem with a nested set of Flex containers. Just moving between one screen and another is soooo sssslllllooooowwww. I wonder if Adobe is aware on of how slow flash is on the mac?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John Dowdell</title>
		<link>http://www.rogue-development.com/blog2/2007/07/osx-flex-app-is-slow/comment-page-1/#comment-39</link>
		<dc:creator>John Dowdell</dc:creator>
		<pubDate>Wed, 25 Jul 2007 22:38:00 +0000</pubDate>
		<guid isPermaLink="false">http://rogue-development.com/blog2/?p=38#comment-39</guid>
		<description>What Ted said. The clearest path I&#039;ve seen to determining actual performance on a given machine is to do a fresh start and just open a Projector, no browser. &lt;br/&gt;&lt;br/&gt;I&#039;m not sure of the easiest way to create a standalone from Flex, and haven&#039;t yet seen performance benchmarking for beta AIR (did you see a difference?). Getting the Mac browsers out of the equation is a needed first step.&lt;br/&gt;&lt;br/&gt;jd/adobe</description>
		<content:encoded><![CDATA[<p>What Ted said. The clearest path I&#8217;ve seen to determining actual performance on a given machine is to do a fresh start and just open a Projector, no browser. </p>
<p>I&#8217;m not sure of the easiest way to create a standalone from Flex, and haven&#8217;t yet seen performance benchmarking for beta AIR (did you see a difference?). Getting the Mac browsers out of the equation is a needed first step.</p>
<p>jd/adobe</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marc</title>
		<link>http://www.rogue-development.com/blog2/2007/07/osx-flex-app-is-slow/comment-page-1/#comment-38</link>
		<dc:creator>Marc</dc:creator>
		<pubDate>Wed, 25 Jul 2007 21:55:00 +0000</pubDate>
		<guid isPermaLink="false">http://rogue-development.com/blog2/?p=38#comment-38</guid>
		<description>I tried it in safari, firefox and an AIR application.&lt;br/&gt;&lt;br/&gt;The code is roughly...&lt;br/&gt;&lt;br/&gt;timer = new Timer(1,0);&lt;br/&gt;timer.addEventListener( TIMER, myFunction);&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;private function myFunction()&lt;br/&gt;{&lt;br/&gt;This does a chunk of work consisting of a loop through a few arrays, and doing a bunch of numeric and date calculations.&lt;br/&gt;}&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;I&#039;ve tried several timer intervals thinking that might affect it, no go.</description>
		<content:encoded><![CDATA[<p>I tried it in safari, firefox and an AIR application.</p>
<p>The code is roughly&#8230;</p>
<p>timer = new Timer(1,0);<br />timer.addEventListener( TIMER, myFunction);</p>
<p>private function myFunction()<br />{<br />This does a chunk of work consisting of a loop through a few arrays, and doing a bunch of numeric and date calculations.<br />}</p>
<p>I&#8217;ve tried several timer intervals thinking that might affect it, no go.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ted Patrick</title>
		<link>http://www.rogue-development.com/blog2/2007/07/osx-flex-app-is-slow/comment-page-1/#comment-37</link>
		<dc:creator>Ted Patrick</dc:creator>
		<pubDate>Wed, 25 Jul 2007 20:01:00 +0000</pubDate>
		<guid isPermaLink="false">http://rogue-development.com/blog2/?p=38#comment-37</guid>
		<description>Actually it is also dependent on what browser you are running the Flash Player under. Each browser allocates memory and system resources differently.&lt;br/&gt;&lt;br/&gt;1. Do you defer any AS3 execution/work across frames or are you doing all the work in 1 loop?&lt;br/&gt;&lt;br/&gt;2. What does it do that is so burdensome?&lt;br/&gt;&lt;br/&gt;3. Can you post some code?&lt;br/&gt;&lt;br/&gt;I have seen apps vary in performance more due to the browser in use than platform per say. Using IE is much faster than FireFox in terms of memory allocation and OSX/Safari is even more stingy.&lt;br/&gt;&lt;br/&gt;Post some code, I am sure there is a gap here.&lt;br/&gt;&lt;br/&gt;Cheers,&lt;br/&gt;&lt;br/&gt;Ted :)</description>
		<content:encoded><![CDATA[<p>Actually it is also dependent on what browser you are running the Flash Player under. Each browser allocates memory and system resources differently.</p>
<p>1. Do you defer any AS3 execution/work across frames or are you doing all the work in 1 loop?</p>
<p>2. What does it do that is so burdensome?</p>
<p>3. Can you post some code?</p>
<p>I have seen apps vary in performance more due to the browser in use than platform per say. Using IE is much faster than FireFox in terms of memory allocation and OSX/Safari is even more stingy.</p>
<p>Post some code, I am sure there is a gap here.</p>
<p>Cheers,</p>
<p>Ted <img src='http://www.rogue-development.com/blog2/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
</channel>
</rss>

