Jump to content
Search Community

Flash Player 11 Performance Issue

upressplay test
Moderator Tag

Recommended Posts

I'm having a performance problem that seem to be related to Flash Player 11. I noticed this mainly because Chrome auto-updates the flash player. So, it's now up to 11 in Chrome. During a sliding section transition, the flash player chokes and skips about 10-20 frames. In essence the content jumps, not a smooth transitions. You can see this at the following url. Using a browser with 10 plays as intended, a separate browser with 11 chokes and jumps ahead.

 

http://firstworldproblems-themovie.com/

 

I have security sensitive site, that is more elaborate, that I can't share here. But, the same issue is happening above.

 

I'm using LoaderMax to load assets. Adding it to the stage and then animating them in from the left or right of the stage, using Tweenmax. The one I can't show is a series of images, 1280x640 pixels, 10 in total.

 

I've spent the last couple weeks tweaking the transition. Removing items from the stage when they are not visible, so I can get the CPU usage back. On Flash Player 10, this is working as intended. On 11 it jumps. I don't think it's the removing assets from the stage that's choking the player, because the above link has the same issue. I feel like this is a Flash Player 11 performance issue.

 

Has anyone seen this Flash Player 11 issue? What things should I be avoiding?

Link to comment
Share on other sites

I'm not aware of a specific FP11 bug, but are you using the latest version of LoaderMax and TweenMax? I seem to remember one thing related to forcing garbage collection that seemed to take longer in FP11 but I'm not positive. I did tweak something in LoaderMax in the last few weeks to improve that performance in certain situations, so please do try getting the latest version(s) and letting us know if anything changes.

Link to comment
Share on other sites

Bummer. Well, it's pretty tough to troubleshoot blind. I'm not sure what to say other than please post a simple set of files that can be published on our end to see the problem happening. No need to post your production files - just the simplest possible .fla and support file(s) that you can whip together.

Link to comment
Share on other sites

You can see my source at the following:

 

[link removed because it contained members-only plugins]

 

src / com.site.main.Main

 

loadSection Function (Line 428)

Is where the section is being added to the stage.

 

TransitionSection Function (Line 484)

Is where the section is being transitioned in. This is called in the Preloader.as once the load completes. This is where it's skipping.

Link to comment
Share on other sites

[edited after initial overreaction to seeing 2300+ files:] Thanks for providing instructions and files for reproducing the issue. There's a LOT going on in there judging by the sheer number of files and classes - could you create a separate FLA file that only has the essential code to demonstrate the issue? The simpler the better. I'll peek at the files you sent shortly (maybe it'll be simple based on the 2 locations you called out above) but typically it is best to try to isolate things in a separate FLA anyway.

Link to comment
Share on other sites

Not looking at it in context, I don't think will help diagnose the issue. Just isolating the transition would probably take a full day. And won't really expose it. Considering the whole site is built dynamically, using Greensock products exclusively. I don't think it's my technique, something I've been using for a while now. It's a conflict between TweenMax and Flash 11. The area of interest in my code example is 10 lines of code really. TransitionSection The source is fully ready for publish, and works locally. fla/preloader.fla. It's the only file that needs to publish. You don't need any fonts, they are all external swf loads. You can view the published site in deploy/index.html. You can load it locally. Any help would be appreciated. Did you see the jump by comparing Flash 10 to 11?

Link to comment
Share on other sites

Yeah, I peeked and it didn't even publish for me without running into runtime errors about missing files, fonts, etc. After glancing at the 2 methods you mentioned, I didn't notice anything obvious. Have you tried removing the SWFAddress thing? I wonder if that's causing problems. I'd definitely recommend starting with a super simple FLA that just loads a few things and transitions them in - if it works, start building it up to make it more complex like the problematic one until you run into the glitch. That'll make it obvious exactly where things go wrong.

 

You said you think it's definitely a conflict between TweenMax and FP11 - help me understand why you think that. Have you tried using a different engine and it worked fine? I know that many, many people are using TweenMax in FP11 without any problem whatsoever, so I'm curious to know what makes you think there's a conflict there. Not that you're wrong - I've been around long enough to see some pretty weird bugs and conflicts that only show up in very specific scenarios in Flash. I definitely want to fix anything that's wrong with TweenMax/LoaderMax.

Link to comment
Share on other sites

The publish from flash will throw errors, but the file is fine. If you load deploy/index.html into a browser you will see the updated swf working in the site environment.

 

What leads me to believe there is a conflict, is that all assets are loaded with LoaderMax, all animations are with TweenMax, and this all works fine in Flash Player 10, but not 11. I'm not sure what else there is, minus a timing issue of adding stuff to the stage.

Link to comment
Share on other sites

What leads me to believe there is a conflict, is that all assets are loaded with LoaderMax, all animations are with TweenMax, and this all works fine in Flash Player 10, but not 11. I'm not sure what else there is, minus a timing issue of adding stuff to the stage.

You're also using SWFAddress, SoundChannel, SoundMixer, and a bunch of your own classes. Why would you conclude that the issue is caused by a conflict between FP11 and TweenMax? Why not FP11 and SWFAddress or FP11 and something you're doing in one of your classes? I'm not saying it is one of those thing - I'm just confused about the conclusion that TweenMax is to blame.

 

I tweaked a few things related to relative paths and got it onto my server and looked at it in FP10 and FP11. I didn't see any big delays with the initial screen sliding into place - is that where you were talking about the delay? I don't see it. I tried 3 different browsers including Chrome.

Link to comment
Share on other sites

Knowing I may get hammered by the OP here, but I tested my latest research piece in FP11, it to is built almost entirely with Greensock products. It's tons of LoaderMax and TweenMax and TimeLineMax, and it runs smooth as silk.

 

However, I have to compile it away from Flash CS5.5.

Link to comment
Share on other sites

I created a generic example of what is happening, and have isolated it to the Mac version. PC performance seems to be fine. I also disabled any sound elements running in the background and removed any reference to swfaddress. I don't think it's TweenMax specifically that's causing this issue, rather that 11 is not performing as intended during a TweenMax animation. Any advice would be most appreciated.

 

Mac OS X 10.6.6

Chrome 15.0.874.121

Flash Player 11.1.102.55

 

This also happens in Mac FF and Safari, with Flash Player 11.1.102.55.

 

Example:

http://firstworldproblems-themovie.com/ ... 1_example/

Link to comment
Share on other sites

it appears you are loading 10 images that are 1280x640.

that is approximately 8 million pixels that flash has to redraw on every frame of every tween.

 

if you are moving all the images as a giant strip I'm not the slightest bit surprised flash is choking.

I have no idea how your file is constructed, but I would strongly urge you to experiment with a BlitMask if in fact it is one container clip that you are tweening.

http://www.greensock.com/blitmask.

 

since it appears you only have "next / previous" navigation you could also just tween the current item off the stage and the requested item onto the stage. much less pixel-pushing involved.

Link to comment
Share on other sites

The section is set up to remove any image that is not in the viewable area. So, at any given time, it should only have 3 on the stage. I don't think it's the amount of images on the stage at one time. It works fine on slower machines, PC and Mac Flash Player 10. It's only choking in the newest Mac Flash Player 11.1.102.5 Plugin. I've also used this technique before, incorporating video assets along with images and sounds.

Link to comment
Share on other sites

I tried to use the blitmask. Never knew what that was before. Worked pretty good, but it killed a parallax thing we have going in a more advanced version of the SubSection class this example is based on. And it didn't cure the choking issue. Same result in Flash 11.

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.
×
×
  • Create New...