Join Anastasia McCune for an in-depth discussion in this video Enabling advanced telemetry data within Flash for Scout, part of Flash CC 2013 New Features.
Adobe Scout is the newest profiling tool for Flash content running on both the desktop through Flash Player and on mobile devices using Adobe AIR. In this movie, I'll give a brief overview of what Scout does, and offer some resources if you haven't tried it. If you have used Scout before, that won't be new to you, but I will show you the new feature in Flash, that allows you to easily enable advanced telemetry. So, Scout, itself, isn't new, it was known as Project Monocle for some time in Adobe Labs, and was released as Scout in late 2012 as part of the Creative Cloud game developer tools.
Scout relies on a feature called telemetry, that was introduced in Flash Player 11.4 and Adobe AIR 3.4. This feature gathers detailed information about the internals of the Flash run time and the action script code that it executes. Then, it sends all that out to Scout. Scout presents this data graphically, so that you can quickly diagnose performance problems with your content. Performance problems like potential dropped frames or memory leaks. All you need to use Scout is the software itself as well as the SWF.
And or webpage that your users will be running. You don't need a special debugger version of Flash Player. You simply launch your content, it can be inside a browser, through the stand-alone version of Flash Player, or through Adobe AIR, and then the related data simply appears in Scout. There's also, a slightly different workflow for mobile called Remote Profiling, where Scout and the test SWF run on two separate machines. For this movie, I'm just gonna demonstrate Scout and my test SWF on one machine.
I've got Scout downloaded and open and you can see all the different types of data that are available to us. You'll notice that the basic telemetry option is grayed out. That's the data collected by default. The rest of the choices are optional. So, I also have our Monster Match-Up game and I'll go ahead and hit Control > Enter to preview my SWF. I'll rearrange my screen here so we can see Scout in the background and the game in the front. As I start playing the game, you can see data starting to fill in in Scout. So I'll just play to the end of one easy round.
And so you can see the information that Scout tells us here. For instance, here in this area marked Framed Timeline, the red line represents the budget time that we have to keep below on each frame if we want to meet the frame rate we want to achieve. For our SWF running at 20 frames per second, we have a budget of 50 milliseconds per frame. If we spend more than 50 milliseconds per frame our game will start stuttering and skipping frames. And, we can see that, for the most part, our game stays below budget, and should play just fine.
The individual bars are also color coded depending on how much time is spent on what tasks. We can see in this key over here on the right, that time spent time dealing with Action Script is blue, Display List Rendering is green, and so on. So that's the basic default level of information that you get. Notice that while we selected all these different other types of information on the left, like Action Script Sampler and CPU Usage, that information hasn't come through. For instance, if I click in this area that displays details about Action Script, nothing shows up. To access all the data that's available, we need to Enable Advance Telemetry on the SWF.
And then have Scout collect the data again. The reason Adobe doesn't expose all this information by default is to prevent other people from using Scout to easily acquire these details about your content. Up to this point, Enabling Advanced Telemetry in Flash Builder 4.7 was a matter of clicks. In Flash it wasn't so straightforward. You had to go through a couple of steps involving an outside Python Script. Now, in this version of Flash, Enabling Advanced Telemetry for Scout is also a matter of just a few clicks. So, I'm gonna get rid of this data here.
Now, I'll move back to my FLA. Notice we're targeting Air 3.6 for iOS here. I've chosen that because there's two places you need to make changes for iOS. Everything else needs a change in just one spot. So that one spot that you need to modify for all outputs, is under the File Menu, then Publish Settings. Then in the Options for SWF, Open the Advanced area, and simply click Enable Detailed Telemetry. Notice you can also choose to provide a password. If you do this, you can access the Detailed Telemetry data for your Application in Scout. Only after you've provided that same password.
For now, I'm gonna Click Okay. For the second spot you need to change, if you're publishing for iOS devices, is in the Properties Panel. So I'm gonna Click the Wrench Icon next to the Target Dropdown. On the Air for iOS Settings Dialogue, I'm gonna switch to the Deployment Tab. Then, I'm gonna simply select the Enable Sampler Option down in the Telemetry Options section and then Click Okay. With that, I can test my movie again from Flash. And again, I'll rearrange my screens so we can see Scout collecting data in the background while I play the game. I'll do the same thing.
I'll just play one easy round of the game. So I'll close my SWF and go back to Scout. This time, since I Enabled the Advanced Telemetry Settings, now when I look and say the Action Script Panel below, I can see some information about the Action Script that executed during this particular section on the Frame Timeline. I'm not gonna go over all the different other types of data, but you get the idea that there is more information to help us profile the performance of our projects.
So now, you can turn on Advanced Telemetry for Scout, from within Flash. Again, Scout, isn't the new feature, it's the ability to turn on the Advanced Telemetry for Scout from within Flash. Also, a quick note, that as of the time of this recording, the full version of Scout is free for a limited time. It's part of the Creative Cloud game developer tools. That basically boils down to it's free for Creative Cloud subscribers. In the future, Scout will transition to a paid offering. But, it will still be available for free. With the Advanced Telemetry features disabled.
Finally, if you'd like more information on how to get started with Scout, or more on how to interpret the data that it shows you, check out these resources. The first is where to actually download Scout. This second page is a great getting started article. Here's some information about using Scout with Flash Builder. And finally, here's a more advanced article on how Scout and Flash Player work together.
Note: Adobe Creative Cloud is updated on a regular basis. We will add more tutorials as features are added or changed, so check back often.
- Distributing and swapping multiple symbols and bitmaps
- Managing properties for multiple layers at once
- Scaling content to predefined anchor points
- Exporting video and animation
- Working with the HTML5 Canvas document type
- Using Cross-File Find and Replace
- Testing and debugging on iOS
Skill Level Intermediate
Q: This course was updated on 12/05/2013. What changed?
A: We updated six movies and added two new ones on the new HTML5 Canvas document type and some updated publish settings for AIR 3.8 for Android.
Q: This course was updated on 6/18/2014. What changed?
A: We added nine new movies, covering changes to the Flash interface and features that were reintroduced to Flash CC, as well as HTML Canvas integration and the new Width and Motion Editor tools.