Can I use Adobe's "Stage3D" to improve the performance of my 2D applications and games?

986 views Asked by At

I've been doing a little bit of reading about Stage3D, which will be a new API used with Flash Player 11.

Will this API improve the performance of 2D rendering (Vector) in any way, or will the library be used primarily for rendering 3D?

Any information around how Stage3D will influence 2D Vector rendering performance would be awesome.

3

There are 3 answers

2
Kodiak On BEST ANSWER

You can use Stage3D to render optimized 2D graphics but you'll have to do an ad hoc development. Classic 2D animations won't be improved and anyway can't be displayed on a Stage3D.

Adobe has already developed a framework for optimized 2D using Stage3D: Starling.

0
Ganaraj On

It will not improve the performance of 2d rendering of vectors, but if you want to improve the performance of rendering a large number of bitmaps or spritesheets it can do a good job at that. Also you need to note that by putting something in stage3D you will lose the event mechanism that is built into the displaylist.

A 3D card ( or engine which sits on top of it.) is perfect for rendering a large number of triangles. That means any images you have need to be split into a large number of triangles and any transformations you want can be made on the triangles. The orientations of each of these individual triangles represents the shape of the final object which the triangles are a the building blocks of.

For a vector on the other hand you are providing the co-ordinates only, which means the vector display engine makes the decision as to how to draw and fill the gaps. Now if your vector remains the same and doesnt change in shape and size, you can cache the whole vector as a bitmap and do whatever transformations on the bitmaps which perhaps can be accelerated by the use of the 3D graphics card.

0
Yogev Shelly On

I remember when this project launched a while ago, it looked promising: http://www.flashrealtime.com/m2d/