Software performance analysis

30
Jun/09
5

Author: nostromo

About: Software Architect at ArKaos
Web: http://nostromo.noisepages.com/

When your frame rate goes down, and the video starts lagging, it is important to be able to analyse where it can come from. Today we’re going to look at some information we can use to troubleshoot this.

Roughly, the way our application works is the following: at each pass, we read  a video frame from the disk if needed, decode it and then send it to the GPU (the Graphic card’s CPU) together with all blending and effect operations. Then we ask the graphic card to flush all operations (that is actually processing all pending graphical instructions) and present it to the display.

If you look at the bottom of the user interface window in either NuVJ, GrandVJ or MediaMaster, you will notice that there are two numbers constantly updated.

Something like:

Graph: 400.00 Total: 60.00

These numbers indicate the speed at which the engine does its rendering.

The numbers next to ”Total” represents an average of the actual frame rate of the display. If you start the application’s fullscreen without any visuals, the total should give you the monitor’s frequency, which is the maximum frame rate you can ever achieve.

The numbers next to ”Graph” will give you an indication of what the framerate would be if we only decoded the movie and send the graphic instruction to the graphic card without asking it to actually flush the instructions and update the display.

So unless you use a lot of heavy effects (like the rotozoom for example), the graph value is a rough reading on how heavy it is to decompress your loops.

From these indications you can conclude the following:

  • If your framerate drops and but the “Graph” reading stays high, it’s most likely resolving the graphical output that is the bottleneck. Probably you run at a resolution that is too high for your graphical card or your card doesn’t cope well with downloading the textures back to central memory for preview display.
  • On the other hand, if both the graph and the total value go down, it’s most likely the movie decompression that is the bottleneck. Either you use a codec that isn’t effective (make sure all you videos are decoded through our FFMPEGplayer – preferably photoJPEG, mpeg2, H.264), or you are decoding to many movies for what your harddrive can cope with.

Share and Enjoy:

  • email
  • Print
  • Digg
  • Facebook
  • del.icio.us
  • Twitter
  • MySpace
  • FriendFeed
  • MisterWong
  • blogmarks
  • Reddit
  • Mixx
  • Google Bookmarks
  • LinkedIn
  • Slashdot
  • Live
  • MSN Reporter
  • Netvibes
  • NewsVine
  • StumbleUpon
  • Tumblr
  • Technorati
  • Yahoo! Bookmarks
  • Posterous
  • Scoopeo
  • Wikio
  • Yahoo! Buzz
  • RSS

If you enjoyed this article please consider subscribing to our rss feed!


Possibly Related Posts:

  1. Why software genlock at 60 FPS does matter!
  2. MediaMaster latency test on the A10 Media Server

Comment policy:
We love to hear from you. So feel free to comment, but keep in mind the basics of blog etiquette — no spam, no profanity, no slander, etc. All comments are moderated.

Please do not ask for technical support here: for a better service use our Support Center instead.

Comments (3) Trackbacks (2)
  1. Kevin Hackett
    16:40 on July 2nd, 2009

    Thanks for this explanation, the numbers make more sense to me now.

  2. Vito Varsano
    17:05 on July 2nd, 2009

    //////. Either you use a codec that isn’t effective (make sure all you videos are decoded through our FFMPEGplayer – preferably photoJPEG, mpeg2, H.264), or you are decoding to many movies for what your harddrive can cope with.\\\\\

    what is …our ffmpeg plater?? is it the engine inside arkaos or separate decoding soft?

  3. nostromo
    17:37 on July 2nd, 2009

    The FFMPEG player is an internal library (called FFMPEG) we use to decode a lot of file types. We support a lot of different mechanism so others could be played back through Quicktime/Flash/DirectShow etc… The FFMPEG player is the most effective way to decode videos tho. If you hover on video loaded inside GrandVJ or Mediamaster, the tooltip will tell you which player is used.

Leave a comment

Copyright © 2010 ArKaos s.a. · Blog powered by Wordpress · Original theme Lightword by Andrei Luca