views:

232

answers:

3

Hi All, as many of you most likly know Flash CS4 intergrates with the GPU. My question to you is, is there a way that you can make all of your rendering execute on the GPU or can i not get that much access.

The reason i ask is with regards to Flash 3D nearly all existing engines are software renderers. However, i would like to work on top of one of theses existing engines and convert it to be as much of a Hardware renderer as possible. Thanks for your input Regards Mark

+2  A: 

First off, it's not Flash CS4 that is hardware accelerated, it is Flash Player 10 that does it.

Apparently "The player offloads all raster content rendering (graphics effects, filters, 3D objects, video etc) to the video card". It does this automatically. I don't think you get much choice.

TandemAdam
A: 

The new GPU accelerated abilities of Flash Player 10 is not something that is accessible to you as a developer, it's simply accelerated blitting that's done "over your head".

The closest you can get to the hardware is Pixel Bender filters. They are basically Flash' equivalent to pixel shaders. However, due to (afaik) cross platform consistency issues these do not actually run on the GPU when run in the Flash player (they're available in other adobe products, and some do run them on the gpu).

So, as far as real hardware acceleration goes the pickings are pretty slim.

If you need all the performance you can get Alchemy can be something worth checking out, this is a project that allows for cross compiling c/c++ code to the AVM2 (the virtual machine that runs actionscript3). This does some nifty tricks to allow for better performance (due to the non dynamic nature of these languages).

grapefrukt
I think it is important to restate that Pixel Bender filters are just filters! They are not accelerated in any way in Flash Player 10.
TandemAdam
Though they do run in a separate thread.
Tegeril