Download
need for speed n.
Skip this Video
Loading SlideShow in 5 Seconds..
Need For Speed PowerPoint Presentation
Download Presentation
Need For Speed

Need For Speed

245 Vues Download Presentation
Télécharger la présentation

Need For Speed

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Need For Speed Every car has a lot of speed in it. The trick is getting the speed out of it. – A J Foyt.

  2. RocketBoots

  3. Speed Its Addictive • DISCLAIMER:We acknowledge that wikipedia makes it sound so cool but don’t try drugs.

  4. Speed is awesome • Apps feel lightweight. • Brings the web to awhole new experience. • Faster Pixel Math e.g. Computer Vision.

  5. And it can be deadly too • Premature optimization is the root of all evil - Donald Knuth. • Design first, optimize later.

  6. Sharpening the tools • Faster Algorithms • Code Tricks & Best Practices • Better Compiler Optimisations • Bytecode Manipulation • Thin Runtimes

  7. Why its important to us • The only way of discovering the limits of the possible is to venture a little way past them into the impossible. - Arthur Clarke.

  8. Contestants, start your engines

  9. Who can push most pixels ? • JavaScript (HTML5) • Java (Applet) • ActionScript 2.0 • ActionScript 3.0 • Silverlight 3.0 • Alchemy v0.5a / + Pixel Bender • Haxe 2.05 with memory API • Objective-C / + GCD • WebGL • OpenGL Pixel

  10. The rules… No Cheating!! • Create a massive amount of points in 3D Pixel Cloud. • Draw the pixel cloud on the screen every frame. • Reduce/increase particles until frame rate is close to 20 FPS. • Language specific optimisations allowed.

  11. The Creature • Mac Book Pro 15” • 2.66GHz Core 2 Duo • 4GB Ram • GeForce 9400m(256 MB) • Mac OSX (10.6.3)

  12. The Algorithm • initBitmap(); • createParticles(); • //every framerenderParticles(); • Adjust particles until frameRate ~= 20FPS.

  13. Performance Comparisons • Show each demo. (The fun stuff) • Briefly explain code. • Measure number of particles when they become stable. • Plot in Excel Chart.

  14. Java Applet

  15. Action Script 2

  16. Action Script 3

  17. Alchemy v0.5a

  18. Alchemy v0.5a with Pixel Bender

  19. HAXE 2.05 with memory API

  20. HTML 5.0 + JavaScript Safari Crashed Internet Explorer 8 Doesn’t support it yet

  21. Silverlight 3.0

  22. To Infinity and Beyond • Nightly Builds of May 6 2010 • Chromium – Chrome • Minefield - Firefox • Webkit - Safari

  23. Redemption (Nightly Builds) Internet Explorer 9 preview went blank

  24. WebGL – Hardware Acceleration

  25. The Natives • Thought we’d try to make native apps to see the difference. • Objective C (Cocoa) • Open GL + GLUT

  26. Objective C (Cocoa)

  27. OpenGL – The God of Particles

  28. This wouldn’t be possible without //Google http://www.google.com //Fractals http://local.wasp.uwa.edu.au/~pbourke/fractals/ http://local.wasp.uwa.edu.au/~pbourke/fractals/fractalgallery/ http://local.wasp.uwa.edu.au/~pbourke/fractals/peterdejong/ //AVM2 Bytecode http://www.adobe.com/devnet/actionscript/articles/avm2overview.pdf //alchemy http://labs.adobe.com/technologies/alchemy/ http://labs.adobe.com/wiki/index.php/Alchemy:Documentation:Getting_Started http://www.unitzeroone.com/blog/2009/03/18/flash-10-massive-amounts-of-3d-particles-with-alchemy-source-included/ http://drawlogic.com/category/alchemy/ http://www.automatastudios.com/2008/11/21/understanding-adobe-alchemy/ http://www.unitzeroone.com/blog/2008/11/28/adobe-alchemy-is-it-actionscript-heresy/ //Experimental Mem API in AS3 http://blog.joa-ebert.com/2009/04/03/massive-amounts-of-3d-particles-without-alchemy-and-pixelbender/ http://blog.joa-ebert.com/2009/08/05/tdsi-examples/ http://blog.joa-ebert.com/2009/12/03/the-scalable-apparat/ //Haxe http://webr3.org/experiments/haxe-particle-pusher/300k/ http://haxe.org/api/flash9/memory http://haxe.org/doc/why http://haxe.org/doc/start/flash/as3migration http://ncannasse.fr/blog/adobe_alchemy http://ncannasse.fr/blog/the_failure_of_as3

  29. There were heaps more, but … No space //Javascript http://mrdoob.com/lab/javascript/strangeattractor/ http://www.leichtgewicht.at/387/pushing-javascript-particles/ http://www.andrew-hoyer.com/experiments/cloth https://developer.mozilla.org/en/Drawing_Graphics_with_Canvas //Java Applet http://java.sun.com/docs/books/tutorial/2d/images/drawimage.html http://blog.debit.nl/?p=79 http://java.sun.com/applets/ http://java.sun.com/docs/books/tutorial/2d/index.html //O3d http://code.google.com/apis/o3d/ //Web GL http://www.taranfx.com/chrome-webgl-graphics-hardware-acceleration http://noscope.com/journal/2010/04/webgl-in-google-chrome https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/doc/spec/WebGL-spec.html http://khronos.org/webgl/wiki/Getting_a_WebGL_Implementation http://github.com/gpjt/webgl-lessons/blob/master/lesson07/ //openGL http://cgi.cse.unsw.edu.au/~cs3421/wordpress/ http://nehe.gamedev.net/ http://www.dei.isep.ipp.pt/~matos/cg/docs/manual/ http://glprogramming.com/red/chapter07.html http://www.opengl.org/resources/libraries/glut/ //Silverlight http://blog.efvincent.com/concurrency-optimization-silverlight/ http://blog.joa-ebert.com/2009/08/10/flirting-with-silverlight/ http://www.silverlight.net/getstarted/ //Skyrails - This is an example of an interface that could take advantage of GPU http://www.youtube.com/watch?v=I2d312_dXEs&feature=related <- One of my Uni tutors PHD project

  30. Questions “ When people stop asking good questions, bad things seem to happen ” – Robin Hilliard

  31. Feel the Speed “Speed, it seems to me, provides the one genuinely modern pleasure. ” – Aldous Huxley TRAC - http://trac.rocketboots.com/os/browser/webdu2010_need_for_speed/trunk SVN - http://svn.rocketboots.com/os/webdu2010_need_for_speed/trunk

  32. Say ‘Hi’ to us ManojVekaria @nojified www.codeexplode.com noj@rocketboots.com SushantVerma @sushified www.trynull.com sushant@rocketboots.com