1 person found this helpful
People tend to buy bargin basement Windows laptops which will most assuredly have on-board GPUs rather than discreet graphics. Your CPU may not be taxed but your GPU is probably either fully taxed or the driver may be (ouch) partially software and uses system RAM rather than its own. GPU usage would not be on your performance monitor. Mac laptops are much more expensive for a reason. Not just the Apple tax but the hardware they use is much better than the typical low end (~600 or less) Windows laptop.
If it's not a proprietary project I wouldn't mind testing it on my laptop which is old but decent. It's an original core i7 quad (1.6ghz, 2.8 turbo), 4GB ram and an old ATI Radeon Mobility 4xxx series.
OK so now I am in trouble... just as an update the project would not run smooth on a macbook air that someone brought in to try, also it would not run well on a quite nice window7 laptop that one of the bosses had (over $600) . I now have to make this project run on a really basic windows laptop somehow, which elements do you think would be the most hardware taxing? Is it cuepoint listeners? FLV streaming? motion tweening graphics? How can I cutdown how resource intensive an existing project is? Or do I need to completely rebuild from scratch?
Thanks for your help,
If it's an application, first off, update Flash so you can export to Flash 11.4. When using applications always export to the latest and greatest flash player runtime.
You'll have to explain a bit about your project in order to get advice on how to optimize it. Without knowing what your project is doing in a detailed ways it's as good as a mechanic trying to fix your car without seeing it, over the phone. He can tell you to change your oil every 5000 and battery every 5 years but that's about as generic as I can get.
The desktop has a plethora of RAM and CPU available so these are the most generic tips:
- Don't do "too much" at the same time. What you're doing greatly defines "too much".
- Use assets (graphics, videos) that are sized and compressed appropriately so the Flash player doesn't need to scale anything unless necessary.
- Enable cacheAsBitmap on any objects on screen that do not rotate, scale or change alpha often. Interface elements, logos and controls are always ideal targets.
- Bitmaps are far faster than rasterizing vectors frame to frame. If you prefer to use a lot of vectors, for any that do not rotate, scale or change alpha, embed them in a MovieClip and tick off cacheAsBitmap. The vector will be a little soft but it will render at bitmap speed.
- Limit excessive layered transparency. Some people make a single image the size of the stage as a "frame" with the center punched out transparent. Things like this cost the rendering engine as every single frame that transparency has to be in the calculations.
- Limit expensive event handlers like ENTER_FRAME. Replace them with Timers or anything that doesn't require running typically unnecessary code every single frame.
- Limit or omit masking entirely whenever possible as this is very expensive.
- Sometimes setting any MovieClips intended to be 1-frame layered graphics to export for actionscript while setting the base class to flash.display.Sprite can give a bump in that clips performance.
- Make sure you set GPU as your public hardware acceleration target, or Direct if you're using Stage3D.
- Use Stage3D as much as possible where it makes sense.
- Use StageVideo and MP4/H264s for videos whenever possible.
I can go on and on but you get the general idea. Limit limit limit and use best practices for optimizations. I'd need to know more about the nature of your animations and how much is going on at the same time to really give any targeted useful information.
Thanks Sinuous, that is a great list to get me started!
You're welcome but these are very basic. Report back if anything gives a struggle.