Flash 10 3D Performance & Bitmap Caching
Everywhere I look there are tutorials for using Papervision, or Away3D etc. However I can't find any real in depth discussion about the 3D abilities of flash 10+ beyond "here's a cube, ima going to rotate it now!".
See the problem I'm having is that I'm actually rendering quite a complex 3D scene (complex is a relative term here, doing a similar scene in d3d or opengl would be a breeze, but they're hardware accelerated so you'd expect that). I've built a 3D engine with some basic features including depth sorting, 3D tweening, and mapping between polar and cartesian coordinates. This last bit should be a give away as to what I'm doing - I'm rendering a 2d grid onto a sphere that I then unravel, spin around, squash, expand all so the Client goes ooh and aah. The trouble, is that on anything other than my workstation, rendering crawls. From discussions with other flash programmers and my own investigations, the slow down is most definitely caused by the rendering itself, and not my relatively swift matrix and sorting calculations (they take around 5-14ms tops depending on the complexity of the scene) .
So, my question is, what exactly does happen when I set cacheAsBitmap to true on a display object? I see no texture map distortion so I'm under the impression that flash automatically splits the cached bitmap into polygons for rendering, but how good is flash at doing this? I don't care about texture distortion on objects beyond a certain z value because they're far away, and try as I might I have found no way of setting the equivalent of a display objects 3d render quality. I'm certain that if I could set such a value, I'd at least double the render speed of my scene by only rendering many polys for objects near the camera. Failing this, is there a way to coerce flash into rendering a low poly object? Perhaps by making invisible any graphically complex children?
Thoughts? Feelings? Comments? Help!