Jump to content


profiling app with loaderMax - RTMP consuming 50% of time

Moderator Tag

Recommended Posts

Hi Jack,


This is more of a grasping at straws question. I am profiling an application that I have using loaderMax for all of the load and display of images and videos. We are having issues with the framerate dropping into the single digits and are trying to track down the issue. The profiler (flex) claims that >50% of the cumulative time spent is in a method cryptically named "[tincan]". Googling around dug up the following:

The tincan method is the time processing RTMP messages. It includes FMS video/audio traffic, rtmp data services, and remote shared object synchronization. Tincan used to be the code name of Flash Communication Server 1.0, now known as Flash Media Server.

Information on this is pretty sparse so I am not sure how much I trust it to not be a dozen guys all quoting each other but I have not found another explanation and it's at least consistent with the profiler doc on bracketed methods (http://help.adobe.com/en_US/flashbuilder/using/WS6f97d7caa66ef6eb1e63e3d11b6c4d0d21-7edf.html).


The reason I brought this to your door is that I was lead to believe that the loaderMax library would not use the RTMP methods. So either they were incorrect or I am doing something I shouldn't be in my code. Either way, I am at an impasse. I'd like to figure out where half my time is going. Am I using your library incorrectly? Does tincan include the base netstream and video objects?


Any hints you could provide, or directions you could set me off in would be useful. Thanks!

Link to comment
Share on other sites

You're correct in assuming LoaderMax (and VideoLoader) is built for progressive loads, NOT RTMP. There's nothing inside VideoLoader that is intended to use anything related to RTMP whatsoever, but things get a little murky just because Adobe's NetStream class is used for both progressive downloads and RTMP stuff. VideoLoader, of course, uses NetStream (there's really no other option). But again, it doesn't make RTMP-specific calls or requests. Many, many people have been using VideoLoader with great success and I've never heard of a complaint like yours, so I'm as baffled as you are. I wonder if it's either something you're doing in your app (your code) or maybe it's a profiler issue. I know that with all the extra hooks that must be present in the profiler to do its job, sometimes they actually get in the way and cause other issues. Does the app work well when you're NOT using the profiler?


Also keep in mind that loading video and images isn't exactly a cake walk for the processor - it can eat up CPU cycles in Flash for sure, especially when you're loading a lot. Maybe some of this is just normal slowdown related to loading tasks (which is unrelated to LoaderMax/VideoLoader). Not sure - just guessing.

Link to comment
Share on other sites

Thanks for the info Jack, I'm not complaining, just trying to understand where my time is going. It does look like the profiler must include the netstream in their [tincan]. I profile my app without videos and the [tincan] method goes away. I have gone through a bunch of optimization and have managed to increase the [tincan]s consumed time to around 80%. In some cases the app is trying to play 3+ videos simultaneously maintaining some sync so it's no big surprise that load for decompression would be high.


BTW, I am highly disappointed in the lack of low level hooks that the netstream gives for operating between iframes. I would have expected a step operation there. Another glaring hole seems to be a settable FPS. Everything my research has turned up thus far in these areas looks like these *might* be possible if I am willing to invest in a FMS and only handle content that I serve from there.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.