One of the most exciting new features of the new Flash Player is the native 3D support. I put together a couple of demos to compare FP10’s 3D performance versus the ‘old-school’ approach, using the Away3D library (I didn’t have time to build a PaperVision example, but I imagine the performance would be similar to the Away3D one).
These demos display video and text on multiple 3D planes. Take a look and see what kind of frame rates you get.
Here are some observations based on the demos:
- FP10 wins in terms of performance. This make sense when you consider that the 3D math is being handled internally.
- FP10 wins in terms of SWF size (6k versus 110k). Away3D has to load in all the 3D code externally.
- FP10 3D has no concept of depth sort. Depth sort must be handled manually. For simple scenes this is trivial, but once you get many polygons intersecting, depth sort can become a complex problem.
- The FP10 perspective distortion looks a little odd to me. The plane seems to get bigger at the right and bottom of the view.
FP10 offers a very limited subset of the functionality offered by Away3D and PV3D (no cameras, complex objects, collada import etc), but for simple 3D scenes it gives much better performance. In the near future I imagine the PV3D and Away3D teams will incorporate FP10’s native 3D support to give the best of both worlds.
(Thanks to Keith Peters for his minimal components used here.)