Need for Speed - Comparison of Current Web Technologies

2,628 views

Published on

Comparison of Current Web Technlogies, Flash, Silverlight, Javascript - HTML5 Canvas

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,628
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
32
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Need for Speed - Comparison of Current Web Technologies

  1. 1. Need For Speed<br />Every car has a lot of speed in it. The trick is getting the speed out of it. – A J Foyt.<br />
  2. 2. RocketBoots<br />
  3. 3. Speed<br />Its Addictive<br />DISCLAIMER:We acknowledge that wikipedia makes it sound so cool but don’t try drugs. <br />
  4. 4. Speed is awesome<br />Apps feel lightweight.<br />Brings the web to awhole new experience.<br />Faster Pixel Math e.g. Computer Vision.<br />
  5. 5. And it can be deadly too<br />Premature optimization is the root of all evil - Donald Knuth.<br />Design first, optimize later.<br />
  6. 6. Sharpening the tools<br /><ul><li>Faster Algorithms
  7. 7. Code Tricks & Best Practices
  8. 8. Better Compiler Optimisations
  9. 9. Bytecode Manipulation
  10. 10. Thin Runtimes</li></li></ul><li>Why its important to us<br />The only way of discovering the limits of the possible is to venture a little way past them into the impossible. - Arthur Clarke.<br />
  11. 11. Contestants, start your engines<br />
  12. 12. Who can push most pixels ?<br />JavaScript (HTML5)<br />Java (Applet)<br />ActionScript 2.0<br />ActionScript 3.0<br />Silverlight 3.0<br />Alchemy v0.5a / + Pixel Bender<br />Haxe 2.05 with memory API<br />Objective-C / + GCD<br />WebGL<br />OpenGL<br />Pixel<br />
  13. 13. The rules… No Cheating!!<br /><ul><li>Create a massive amount of points in 3D Pixel Cloud.
  14. 14. Draw the pixel cloud on the screen every frame.
  15. 15. Reduce/increase particles until frame rate is close to 20 FPS.
  16. 16. Language specific optimisations allowed.</li></li></ul><li>The Creature<br />Mac Book Pro 15”<br />2.66GHz Core 2 Duo<br />4GB Ram<br />GeForce 9400m(256 MB)<br />Mac OSX (10.6.3)<br />
  17. 17. The Algorithm<br />initBitmap();<br />createParticles();<br />//every framerenderParticles();<br />Adjust particles until frameRate ~= 20FPS.<br />
  18. 18. Performance Comparisons<br />Show each demo. (The fun stuff)<br />Briefly explain code.<br />Measure number of particles when they become stable.<br />Plot in Excel Chart.<br />
  19. 19. Java Applet<br />
  20. 20. Action Script 2<br />
  21. 21. Action Script 3<br />
  22. 22. Alchemy v0.5a<br />
  23. 23. Alchemy v0.5a with Pixel Bender<br />
  24. 24. HAXE 2.05 with memory API<br />
  25. 25. HTML 5.0 + JavaScript<br />Safari Crashed<br />Internet Explorer 8 Doesn’t support it yet<br />
  26. 26. Silverlight 3.0<br />
  27. 27.
  28. 28. To Infinity and Beyond<br />Nightly Builds of May 6 2010<br />Chromium – Chrome<br />Minefield - Firefox<br />Webkit - Safari<br />
  29. 29. Redemption (Nightly Builds)<br />Internet Explorer 9 preview went blank<br />
  30. 30. WebGL – Hardware Acceleration<br />
  31. 31.
  32. 32. The Natives<br />Thought we’d try to make native apps to see the difference.<br />Objective C (Cocoa)<br />Open GL + GLUT<br />
  33. 33. Objective C (Cocoa)<br />
  34. 34. OpenGL – The God of Particles<br />
  35. 35. This wouldn’t be possible without<br />//Google<br />http://www.google.com<br />//Fractals<br />http://local.wasp.uwa.edu.au/~pbourke/fractals/<br />http://local.wasp.uwa.edu.au/~pbourke/fractals/fractalgallery/<br />http://local.wasp.uwa.edu.au/~pbourke/fractals/peterdejong/<br />//AVM2 Bytecode<br />http://www.adobe.com/devnet/actionscript/articles/avm2overview.pdf<br />//alchemy<br />http://labs.adobe.com/technologies/alchemy/<br />http://labs.adobe.com/wiki/index.php/Alchemy:Documentation:Getting_Started<br />http://www.unitzeroone.com/blog/2009/03/18/flash-10-massive-amounts-of-3d-particles-with-alchemy-source-included/<br />http://drawlogic.com/category/alchemy/<br />http://www.automatastudios.com/2008/11/21/understanding-adobe-alchemy/<br />http://www.unitzeroone.com/blog/2008/11/28/adobe-alchemy-is-it-actionscript-heresy/<br />//Experimental Mem API in AS3<br />http://blog.joa-ebert.com/2009/04/03/massive-amounts-of-3d-particles-without-alchemy-and-pixelbender/<br />http://blog.joa-ebert.com/2009/08/05/tdsi-examples/<br />http://blog.joa-ebert.com/2009/12/03/the-scalable-apparat/<br />//Haxe<br />http://webr3.org/experiments/haxe-particle-pusher/300k/<br />http://haxe.org/api/flash9/memory<br />http://haxe.org/doc/why<br />http://haxe.org/doc/start/flash/as3migration<br />http://ncannasse.fr/blog/adobe_alchemy<br />http://ncannasse.fr/blog/the_failure_of_as3<br />
  36. 36. There were heaps more, but … No space<br />//Javascript<br />http://mrdoob.com/lab/javascript/strangeattractor/<br />http://www.leichtgewicht.at/387/pushing-javascript-particles/<br />http://www.andrew-hoyer.com/experiments/cloth<br />https://developer.mozilla.org/en/Drawing_Graphics_with_Canvas<br />//Java Applet<br />http://java.sun.com/docs/books/tutorial/2d/images/drawimage.html<br />http://blog.debit.nl/?p=79<br />http://java.sun.com/applets/<br />http://java.sun.com/docs/books/tutorial/2d/index.html<br />//O3d<br />http://code.google.com/apis/o3d/<br />//Web GL<br />http://www.taranfx.com/chrome-webgl-graphics-hardware-acceleration<br />http://noscope.com/journal/2010/04/webgl-in-google-chrome<br />https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/doc/spec/WebGL-spec.html<br />http://khronos.org/webgl/wiki/Getting_a_WebGL_Implementation<br />http://github.com/gpjt/webgl-lessons/blob/master/lesson07/<br />//openGL<br />http://cgi.cse.unsw.edu.au/~cs3421/wordpress/<br />http://nehe.gamedev.net/<br />http://www.dei.isep.ipp.pt/~matos/cg/docs/manual/<br />http://glprogramming.com/red/chapter07.html<br />http://www.opengl.org/resources/libraries/glut/<br />//Silverlight<br />http://blog.efvincent.com/concurrency-optimization-silverlight/<br />http://blog.joa-ebert.com/2009/08/10/flirting-with-silverlight/<br />http://www.silverlight.net/getstarted/<br />//Skyrails - This is an example of an interface that could take advantage of GPU<br />http://www.youtube.com/watch?v=I2d312_dXEs&feature=related <- One of my Uni tutors PHD project<br />
  37. 37. Questions<br />“ When people stop asking good questions, bad things seem to happen ” – Robin Hilliard<br />
  38. 38. Feel the Speed<br />“Speed, it seems to me, provides the one genuinely modern pleasure. ” – Aldous Huxley<br />TRAC - http://trac.rocketboots.com/os/browser/webdu2010_need_for_speed/trunk<br />SVN - http://svn.rocketboots.com/os/webdu2010_need_for_speed/trunk<br />
  39. 39. Say ‘Hi’ to us<br />ManojVekaria<br />@nojified<br />www.codeexplode.com<br />noj@rocketboots.com<br />SushantVerma<br />@sushified<br />www.trynull.com<br />sushant@rocketboots.com<br />

×