Welcome!

Adobe Flex Authors: Maureen O'Gara, Liz McMillan, RealWire News Distribution, Yakov Fain, Keith Swenson

Related Topics: Adobe Flex, Java, ColdFusion

Adobe Flex: Article

Adobe Flex 2 - Experimenting With Frame Rates

Is increasing Flash Player frame rates better?

From Farata Systems Blog

Flex compiler builds an swf file, with a default frame rate of 24 frames per second, unless another value is specified during the compilation. For example,

mxmlc -default-frame-rate=50 HelloWorld.mxml

This command will build the swf file with the frame rate of fifty frames per second. Display list rendering and the ActionScript execution take turns, hence the frame rate can affect your application performance.

Setting the frame rate to fifty does not mean that each frame will be displayed in exactly 20 milliseconds, as there is some OS/browser overhead. Besides, some browsers may impose restrictions on plugins to lower CPU utilization on the user’s machine.

To see how the compile time setting of the default-frame-rate option affects execution of the program let's write a small application that  performs a simple calculation of the actual frame rate on each enterFrame event.

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal"
enterFrame="enterFrameHandler()">
  <mx:Script>
    var lastTime:int;
    function enterFrameHandler():void {

     trace(int(1000/(getTimer()-lastTime)));
     lastTime=getTimer();
   }
</mx:Script>

  <mx:Button label="Button"/>
  <mx:TextInput/>
</mx:Application>

I ran this program on a Windows XP laptop with a single 1.8Ghz CPU in the Internet Explorer and FireFox browsers. Tables 1 and 2 show the difference between requested and actual frame rates and how hard the CPU works based on the frame rate settings.

default-frame-rate 10          24               50         100
Actual frame rate 9-10     18-26       35-52     50-110 
CPU utilization    15-17% 15-20% 18-20% 26-28%

Table 1 Frame rates with Internet Explorer 6

default-frame-rate 10         24               50          100
Actual frame rate  9-10     16-22       41-50      70-100
CPU utilization 16-20%    18-20%    22-25%    30-33%

Table 2 Frame rates with FireFox 1.5

While results slightly vary, they are self explanatory - lower frame rates translate into lower CPU utilization. You should experiment with the frame rate in your application to find the right balance between the GUI performance and CPU usage.

Remember,  your users may be running several programs at the same time, and you do not want to put their CPU on its knees just because you’ve enjoyed the super smooth graphics rendering. If you are not creating a movie, keep the frame rate as low as you can.

More Stories By Yakov Fain

Yakov Fain is a Managing Director of Farata Systems, consulting, training and product company. He has authored several Java books, dozens of technical articles. SYS-CON Books released his latest co-authored book , Rich Internet Applications with Adobe Flex and Java: Secrets of the Masters in Spring 2007. Sun Microsystems has nominated and awarded Yakov with the title Java Champion. He leads the Princeton Java Users Group. He is an Adobe Certified Flex Instructor. Currently Yakov works on the book for O'Reilly "Enterprise Application Development with Flex". He twits at twitter.com/yfain.

Comments (2) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
CFDJ News Desk 11/21/06 10:03:01 AM EST

This command will build the swf file with the frame rate of fifty frames per second. Display list rendering and the ActionScript execution take turns, hence the frame rate can affect your application performance. Setting the frame rate to fifty does not mean that each frame will be displayed in exactly 20 milliseconds, as there is some OS/browser overhead. Besides, some browsers may impose restrictions on plugins to lower CPU utilization on the user?s machine.

JDJ News Desk 11/21/06 09:02:05 AM EST

This command will build the swf file with the frame rate of fifty frames per second. Display list rendering and the ActionScript execution take turns, hence the frame rate can affect your application performance. Setting the frame rate to fifty does not mean that each frame will be displayed in exactly 20 milliseconds, as there is some OS/browser overhead. Besides, some browsers may impose restrictions on plugins to lower CPU utilization on the user?s machine.