Flash Player 10 3D versus Away3D

3d test

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.)

38 Responses

  1. devu says:

    What is this? Are you trrying compare native 3d to 3d engine made in this same language AS3? :D… ehh

    Just imagine what happend next if ppl who writing 3d engines like pv3d ao away will change existing code for new native 3D support and then… compare it.

    cheers

  2. […] Interactive nous propose un comparatif » entre une scène 3D gérer par le tout nouveau Flash Player 10 et une scène 3D gérer par la […]

  3. […] Flash Player 10 3D versus Away3D […]

  4. juanan says:

    But, you know if in this FP10 Beta version is working with hardware acceleration?

  5. aldamir says:

    Flash 10 is so powerfull !
    30 fps vs 25 in video for Away3D
    20 to 7 with 4 layers !!!

  6. grabek says:

    They still have A LOT OF WORK ahead of them… fp10 MUST be better. Right now, imo, stinks.

    Adobe is not a small company. They should be aware of Microsoft going right behind them. They really need to put their heart to it.

    I think that this is 2008, 3d support, GOOD 3d support is a MUST!

  7. hukares says:

    […] Flash Player 10 Built-in 3D vs. Away3D and Papervision and Sandy3D[…]

  8. vkt says:

    why not try Alternative 3D to compare? I think it much give you very very big suprise.

  9. Marcelo says:

    I tried FP10, Away3D, PaperVision3D, Sandy3D and Alternative. Here is my conclusion:
    I like Away3D better than Papervision3D but there are still issues with occlusion and performance. PaperVision3D, IMO cannot even be considered: too much refactoring features that come and go and I still see some huge performance issues. Their idea of performance optimization seems to be don’t render as often (see Winter Wonderland demo).

    Alternative is the only engine at the moment that can be considered to be ready for production. Don’t take a contract with any of the other engines. As far as FP10 goes, Alternative does take advantage of it. Now, if you have a project that does not require loading meshes or a camera, go with FP10 and you save on licensing costs.

  10. Pjotr says:

    Papervision is basically the same as Flash and Flash 10 will include everything papervision does. But still the Flash is not a real 3D. It will still be just a “making 2D to look like 3D”.

    Real 3D is something like X3D or 3DMLW.

  11. Mark says:

    PaperVision Sucks. The performance is horrible. I had the bad idea of taking the Winter Wonderland or Wizards in Winter class and it was a disaster. A few optimization techniques where shown, here they are save your pennies: set the stage quality to low, use small textures, don’t use too many polygons, set the number of segments as low as possible and the biggie: in the onEnterFrame method call the Render() method only if something has changed. Implications: no FPS games, huge modeling limitations, forget about using complex characters in a mesh, forget about any game that is performance sensitive. That said, PV3D may allow you to bring meshes into the equation, but that won’t help you create a game online.

    Conclusion: PaperVision is not ready for prime time. It may never be. If you are trying to write a game online, look at Unity3D or whatever else is available out there. But save your money. PV3D right now is the pipe dream of a handful of greedy guys that are using it for self-promotion and to sell you things you won’t be able to take advantage from. Papervision has cost me time and money.

  12. xos says:

    Hi,
    Have you seen this incredible 3d engine for flash “Sophie 3D” ?

    http://www.sophie3d.com

  13. Joachim Lous says:

    Apples and oranges, man.

    Sure, flash 10 will provide a speed boost for texturing , but away3D does way more than just projecting some textures, overhead that flash 10 does not provide out f the box. You’d need to depth sorting, backface culling and frsustrum culling and camera transforms at the very least in order to get a fair comparison.

  14. Pleh says:

    The perspective distortion issue you describe is because the projectionCenter property is set to the center of the default stage size, so if you compile your swf as a 550×400 movie then resize it in the html the projectionCenter will be slightly off which will make the bottom right appear larger, to correct this you just have to add a stage resize event handler and adjust the projectionCenter. For example…

    private function onResize(e:Event):void{
    this.transform.perspectiveProjection.projectionCenter = new Point(stage.stageWidth/2,sstage.stageHeight/2);
    }

    Then you shouldnt have any problems. You will also probably find that if you load your swf outside of your browser you wont experience the problem.

  15. Felix Turner says:

    @Pleh. Thanks for the heads up on projectionCenter .

  16. […] Flash Player 10 3D versus Away3D | Airtight News ?????10?Away3D(Flash Player 9)????????????????? […]

  17. Masterofallz says:

    27 FPS with 6 papers on Flash player 10.
    7 FPS with 6 papers on Away3D…

  18. a_[w] says:

    This post is sux and FP 10 has not native 3D support(now they trying to enable some 3D features). Try to compare performance in scene with 3DS or OBJ animated models. What? FP10 hasn’t native utils to display such models?

  19. Joseph says:

    I get 30 fps for fp10 and 60 fps Away3D

    Away3D is twice as fast.

    Away3D wins for me.

    And I agree Papervision3D is a waste of time and sucks.

  20. Nice Nice, but all of that is nothing in front of Alternativa3d engine for flash

    http://alternativaplatform.com/en/

    check it out people…

  21. Matus Laco says:

    Thanks for nice article. Its obvious that the “built in” flash 3d and Away 3D engine are not is the same category, but it was great to see the difference between them on an good example.

  22. P.Svilans says:

    I’m sorry, but I absolutely don’t like Alternativa3d. Yes, I do believe that in the end it’s performance we should be worried about, but I just can’t shake the feeling that Alternativa3d “cheats”, by not using native AS3.0. It uses some other coding language that works through the browser and into the Flash file. I used to know the details.

    Anywho, my favourite engine would be the one I’m making myself. I’m trying to make PERFECT (per pixel precision) depth sorting, and that, together with perspective projection, means that instead of using 100 planes to make an FPS look good, you can just use 1 big one…

    P.

  23. Billigflüge says:

    Away 3d rocks constantly, and all other alternatives are worse .
    I used every program, and Away 3d makes has less problems, and alot of features.

  24. Lance says:

    Hey,

    Would you mind explaining real quick how you created that animation using Flash 10? I know in Papervision you can do it like this onEnterFrame:

    camera.x = (stage.mouseX-(stage.stageWidth / 2))/2;
    camera.y = (stage.mouseY-(stage.stageHeight / 2))/2;

    I can’t figure it out in Flash 10, something to do with perspectiveProjection? Any help would be awesome. Thanks so much.

    Lance

  25. MadS says:

    Ummm, have you guys seen the Sharikura 3D Engine, by Roxik? http://temp.roxik.com/ This thing blows all solutions out there out fo the water in terms of performance and features. Rumor has it that the creator is going to release the code as opensource soon, but there is no telling for sure. AND it’s been around for years…

  26. Heretic says:

    http://infinity3d-engine.com – best 3d Engine 60Fps for 6000 poligons, 25++ fps for 20000 poligons. Alternative max 30Fps for 2000 poligons.

  27. Jeff says:

    Wow, these comments are just full of – Says: “hey that’s okay but check out ” . Funny.

  28. jones says:

    Adobe should really work on _true_ hardware support for Flash!

    All 3D should be fully rendered by the GPU, just like in games. All Flash 3D engine developments are honorable efforts and show the demand for 3D and its possibilities. But cheapest onboard graphics can render 100 mill. textured triangles a second (!) – AS3 wrappers for a subset of the DirectX/OpenGL APIs could rise the Flash platform to a new level (gaming market). Adobe Director’s Shockwave 3D engine is a solid API but it’s not up to date (DirectX7) and (*cough) who is using Shockwave??

    The job is to render triangles as fast as possible. GPUs are made for this purpose. Today, almost every machine features at least a minimum set of hardware accelerated 3D functions. What a waste of energy to let multi-core GHz dumping all its power to render a bunch of jaggy triangles while the neighboring hardware could do the job 1000x times faster!?!!

  29. botschaften says:

    Thanks for nice article an your great work!!
    my motto: Mountains never meet, people always

  30. tom says:

    Thanks for the heads up on projectionCenter . The Demo is great. Greetings TOM

  31. robert says:

    Could you try the comparison again, not that Away3D Lite is available (http://away3d.com/away3d-lite-v1-0-fastest-and-smallest-3d-engine-in-flash) It’s smaller and faster, and leverages F10.

    Jones – I agree 100%, but FYI Shockwave3D has been DirectX9 for over a year now. If only Adobe would fix the bugs and update the Flash Xtra to 10 it could be a great platform, but it’s not clear that they see the opportunity.

  32. octagono says:

    wath about Away3D Lite ???
    this version is for FP10

  33. Neuwagen says:

    Looks great, good work.

  34. viaria says:

    this is just make me laugh, as i know, adobe did not support director/shockwave so shockwave team has gone and they build a hole new application. it is unity3d. if you wanna see some gpu support check them out, they are amazing. And the best part it works all devices. iphone ipad windows or mac. http://www.unity3d.com.
    looks like adobe is losing this fight. but i have hope on adobe.

Leave a Reply to MadS Cancel reply

Your email address will not be published. Required fields are marked *