views:

35

answers:

3

I'm toying with an Adobe Air app that plays quite large movies. I want to run it on a 1920x1080 display connected to a Mac. Unfortunately, the movies tend to stutter and I'm betting that happens because I'm not using HW GPU acceleration for H264 playback.

Most of the player code is ported (aka copied) from a web player I built and which runs very smooth on the Flash Player from the browser. So the code shouldn't be the problem.

In the Flash Player, to use GPU acceleration in a fullscreen mode, you have to set the Stage.fullscreenSourceRect property. However, this doesn't seem to work in Adobe Air...

Anyone got any ideas?

A: 

That could be the problem. H264 hardware acceleration was introduced by Flash Player 10 (codename Gala), which requires NVIDIA GeForce 9400M, 320M or GT 330M. Do you have any of these GPUs?

However, some say this feature was removed in 10.1: http ://9to5mac.com/node/17690?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+9To5Mac-MacAllDay+%289+to+5+Mac+-+Apple+Intelligence%29

We don't know what version of Adobe Air you are using. Some versions of Adobe Air support h264 hardware decoding only on Windows platforms: http://blogs.adobe.com/air/2009/11/adobe_air_2_beta_now_available.html

karlphillip
I'm running Air 2.0.2 on a brand new Mac Mini, with GeForce 320M, so I reckon it should be compatible..
evilpenguin
A: 

Adobe is still working on making the hardware accelleration feature complete for the most recent versions of AIR. It is expected to be more feature-complete (maybe with MacOSX 10.6.3+ compatibility) in AIR 2.5 which is currently in beta.

QueTwo
A: 

You can use HW GPU by setting this in the init of the application :

stage.fullScreenSourceRect = new Rectangle (0,0,1920,1080); stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;

When you load a movie you set the fullScreenSourceRect to fit the size of the movie. When the movie ends you set the fullScreenSourceRect to 1920x1080 (or the application size).

Cypher0x