1 / 34

Need For Speed

Need For Speed. Every car has a lot of speed in it. The trick is getting the speed out of it. – A J Foyt . RocketBoots. Speed. Its Addictive. DISCLAIMER: We acknowledge that wikipedia makes it sound so cool but d on’t try drugs. . Speed is awesome. Apps feel lightweight.

niel
Download Presentation

Need For Speed

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

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

More Related