4 Replies Latest reply on Apr 2, 2013 3:11 PM by Michael J.A. Smith

    How to show frames dropped between a selected range?

    thx1138 Level 1

      I'm guessing there isn't this view but is there a way to show the number of frames dropped between a selected range of frames? Or show how much time was spent in overhead between a range?

       

      For example, if I'm showing an animation for 1 second (1000ms) I would like to see if everything was on schedule. If I see 5 frames out of 500 dropped or 900 of 1000 in a process it makes more sense than calculating them up by hand especially if it is over a long range of frames.

       

      So it might look like this when a range is selected:

       

      Total Frames Selected:      600

      Actual Played:                   300

      Dropped:                           300

       

      Total Time Selected:        10,000ms

      Actual Time:                     5,000ms

      Overhead:                         5,000ms

        • 1. Re: How to show frames dropped between a selected range?
          Michael J.A. Smith Adobe Employee

          I don't know what you mean by frames dropped. Flash Player never drops frames, but some might take longer than you'd like, because you give it too much work to do. See the article here:

           

          http://www.adobe.com/devnet/scout/articles/understanding-flashplayer-with-scout.html

           

          I think the metric you're looking for is the framerate - you can see this in the Summary panel if you select a range of frames (and a comparison to the target framerate you set).

           

          We don't currently show a measure of "jitter" (variance of the framerate), but that might be a useful piece of data we could present.

          1 person found this helpful
          • 2. Re: How to show frames dropped between a selected range?
            Gavin Peacock Adobe Employee

            If you are syncrhonizing to sound or playing video, there are times when flash player will execute the actionscript in  frame but not actually render it. These frames are effectivly dropped even though the code will think they ran. You can identify when this happens by watching the event track and seeing which frames do not have rendering passes. It is also possible to have multiple rendering passes in a single ActionScript frame when timers or video are playing. We could add total rendering pass counter to the displayList rendering frame or perhaps to the summary view.

            1 person found this helpful
            • 3. Re: How to show frames dropped between a selected range?
              thx1138 Level 1

              Thanks Michael and Gavin. This is such an amazing tool! I am still digging deep into it and will apply what you've suggested.

               

              I couldn't remember why I wanted to see that information until I went back to a project (I have multiple going). This is a mobile project that contained a list of items. When I scrolled that list I wanted to see how many frames were dropped from the target framerate. I could then go into Scout and get a percentage of frames dropped over that scroll. If there were a 1000 frames and 800 were rendered then I knew that I was 80% of my target framerate.

               

              Then I could go back to the project, fine tune it the List, run it  and test the scroll again. Then I might see 800 frames (from start of scroll until end) and 700 were rendered. Then I would see I was hitting 87% of my target framerate.

               

              I would keep doing this until I found out what worked best. There is probably a much better way. Does this make sense?

              • 4. Re: How to show frames dropped between a selected range?
                Michael J.A. Smith Adobe Employee

                I think I understand - you're not really looking for dropped frames, but frames where there was no rendering. There's a difference in Flash between the "framerate" and the "render rate" - you can have multiple renders in a frame (e.g. in Flex app, you can set the framerate to something really low, and only re-render on interactions, using updateAfterEvent), or, as in your case, you might only render in some of the frames.

                 

                What you really want is (a) the "render rate" (i.e. number of renders per second), and (b) the average number of renders per frame, which are things we don't currently show in the Summary panel in Scout, but would be a great idea to add in the future!