SlideShare a Scribd company logo
1 of 34
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 don’t try drugs.
Speed is awesome Apps feel lightweight. Brings the web to awhole new experience. Faster Pixel Math e.g. Computer Vision.
And it can be deadly too Premature optimization is the root of all evil  - Donald Knuth. Design first, optimize later.
Sharpening the tools ,[object Object]
Code Tricks & Best Practices
Better Compiler Optimisations
Bytecode Manipulation
Thin Runtimes,[object Object]
Contestants, start your engines
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
The rules… No Cheating!! ,[object Object]
Draw the pixel cloud on the screen every frame.
Reduce/increase particles until frame rate is close to 20 FPS.
Language specific optimisations allowed.,[object Object]
The Algorithm initBitmap(); createParticles(); //every framerenderParticles(); Adjust particles until frameRate ~= 20FPS.
Performance Comparisons Show each demo. (The fun stuff) Briefly explain code. Measure number of particles when they become stable. Plot in Excel Chart.
Java Applet
Action Script 2
Action Script 3
Alchemy v0.5a
Alchemy v0.5a with Pixel Bender
HAXE 2.05 with memory API
HTML 5.0 + JavaScript Safari Crashed Internet Explorer 8 Doesn’t support it yet
Silverlight 3.0
To Infinity and Beyond Nightly Builds of May 6 2010 Chromium – Chrome Minefield - Firefox Webkit - Safari
Redemption (Nightly Builds) Internet Explorer 9 preview went blank
WebGL – Hardware Acceleration
The Natives Thought we’d try to make native apps to see the difference. Objective C (Cocoa) Open GL + GLUT
Objective C (Cocoa)
OpenGL – The God of Particles

More Related Content

Viewers also liked

Shell(bash) Scripting
Shell(bash) ScriptingShell(bash) Scripting
Shell(bash) Scripting
Robby Lee
 
Presentatie Lezen Centraal 2010
Presentatie Lezen Centraal 2010Presentatie Lezen Centraal 2010
Presentatie Lezen Centraal 2010
mariavanderwesten
 
Estructura Gramatical-1
Estructura Gramatical-1Estructura Gramatical-1
Estructura Gramatical-1
Elsa Wu
 
TRB Light Rail Committee (2)
TRB Light Rail Committee (2)TRB Light Rail Committee (2)
TRB Light Rail Committee (2)
zataraik
 
THE REBIRTH OF THE STREETCAR
THE REBIRTH OF THE STREETCARTHE REBIRTH OF THE STREETCAR
THE REBIRTH OF THE STREETCAR
Jim Graebner
 
2014 Multimodal Ops 8-2-2014 final draft
2014 Multimodal Ops 8-2-2014 final draft2014 Multimodal Ops 8-2-2014 final draft
2014 Multimodal Ops 8-2-2014 final draft
zataraik
 

Viewers also liked (20)

Ind eng-118-ppt
Ind eng-118-pptInd eng-118-ppt
Ind eng-118-ppt
 
RV 2014: Performance Measurements People can Actually Understand by Kevin Bacon
RV 2014: Performance Measurements People can Actually Understand by Kevin BaconRV 2014: Performance Measurements People can Actually Understand by Kevin Bacon
RV 2014: Performance Measurements People can Actually Understand by Kevin Bacon
 
RV 2014: Urban Circulator Roundtable: Shaping Cities one Challenge at a Time ...
RV 2014: Urban Circulator Roundtable: Shaping Cities one Challenge at a Time ...RV 2014: Urban Circulator Roundtable: Shaping Cities one Challenge at a Time ...
RV 2014: Urban Circulator Roundtable: Shaping Cities one Challenge at a Time ...
 
Seven rules for sustainable communities
Seven rules for sustainable communitiesSeven rules for sustainable communities
Seven rules for sustainable communities
 
0815
08150815
0815
 
2010 04 01_030913
2010 04 01_0309132010 04 01_030913
2010 04 01_030913
 
Meals
MealsMeals
Meals
 
Umk 9
Umk 9Umk 9
Umk 9
 
Glenda Carolina Vasquez Sanchez
Glenda Carolina Vasquez SanchezGlenda Carolina Vasquez Sanchez
Glenda Carolina Vasquez Sanchez
 
Diaphuong
DiaphuongDiaphuong
Diaphuong
 
Portfolio 1995-2001
Portfolio 1995-2001Portfolio 1995-2001
Portfolio 1995-2001
 
Final pdf copy
Final pdf copyFinal pdf copy
Final pdf copy
 
Shell(bash) Scripting
Shell(bash) ScriptingShell(bash) Scripting
Shell(bash) Scripting
 
Maxanicabioproject2
Maxanicabioproject2Maxanicabioproject2
Maxanicabioproject2
 
Presentatie Lezen Centraal 2010
Presentatie Lezen Centraal 2010Presentatie Lezen Centraal 2010
Presentatie Lezen Centraal 2010
 
Process Signal
Process SignalProcess Signal
Process Signal
 
Estructura Gramatical-1
Estructura Gramatical-1Estructura Gramatical-1
Estructura Gramatical-1
 
TRB Light Rail Committee (2)
TRB Light Rail Committee (2)TRB Light Rail Committee (2)
TRB Light Rail Committee (2)
 
THE REBIRTH OF THE STREETCAR
THE REBIRTH OF THE STREETCARTHE REBIRTH OF THE STREETCAR
THE REBIRTH OF THE STREETCAR
 
2014 Multimodal Ops 8-2-2014 final draft
2014 Multimodal Ops 8-2-2014 final draft2014 Multimodal Ops 8-2-2014 final draft
2014 Multimodal Ops 8-2-2014 final draft
 

Similar to Need for Speed - Comparison of Current Web Technologies

Minko - Flash Conference #5
Minko - Flash Conference #5Minko - Flash Conference #5
Minko - Flash Conference #5
Minko3D
 
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
Fred Sauer
 
WebGL games with Minko - Next Game Frontier 2014
WebGL games with Minko - Next Game Frontier 2014WebGL games with Minko - Next Game Frontier 2014
WebGL games with Minko - Next Game Frontier 2014
Minko3D
 
3D on the Web in 2011
3D on the Web in 20113D on the Web in 2011
3D on the Web in 2011
Chad Austin
 

Similar to Need for Speed - Comparison of Current Web Technologies (20)

Mastering Multiplayer Stage3d and AIR game development for mobile devices
Mastering Multiplayer Stage3d and AIR game development for mobile devicesMastering Multiplayer Stage3d and AIR game development for mobile devices
Mastering Multiplayer Stage3d and AIR game development for mobile devices
 
GPU Programming: CocoaConf Atlanta
GPU Programming: CocoaConf AtlantaGPU Programming: CocoaConf Atlanta
GPU Programming: CocoaConf Atlanta
 
Критика "библиотечного" подхода в разработке под Android. UA Mobile 2016.
Критика "библиотечного" подхода в разработке под Android. UA Mobile 2016.Критика "библиотечного" подхода в разработке под Android. UA Mobile 2016.
Критика "библиотечного" подхода в разработке под Android. UA Mobile 2016.
 
The Next Leap in JavaScript Performance
The Next Leap in JavaScript PerformanceThe Next Leap in JavaScript Performance
The Next Leap in JavaScript Performance
 
Building a Raspberry Pi Robot with Dot NET 7, Blazor and SignalR - TechDays 2023
Building a Raspberry Pi Robot with Dot NET 7, Blazor and SignalR - TechDays 2023Building a Raspberry Pi Robot with Dot NET 7, Blazor and SignalR - TechDays 2023
Building a Raspberry Pi Robot with Dot NET 7, Blazor and SignalR - TechDays 2023
 
Hacking the Kinect with GAFFTA Day 1
Hacking the Kinect with GAFFTA Day 1Hacking the Kinect with GAFFTA Day 1
Hacking the Kinect with GAFFTA Day 1
 
Minko - Flash Conference #5
Minko - Flash Conference #5Minko - Flash Conference #5
Minko - Flash Conference #5
 
Why use JavaScript in Hardware? GoTo Conf - Berlin
Why use JavaScript in Hardware? GoTo Conf - Berlin Why use JavaScript in Hardware? GoTo Conf - Berlin
Why use JavaScript in Hardware? GoTo Conf - Berlin
 
Web Leaps Forward
Web Leaps ForwardWeb Leaps Forward
Web Leaps Forward
 
Java Tools and Techniques for Solving Tricky Problem
Java Tools and Techniques for Solving Tricky ProblemJava Tools and Techniques for Solving Tricky Problem
Java Tools and Techniques for Solving Tricky Problem
 
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
 
GPU Programming: Chicago CocoaConf 2015
GPU Programming: Chicago CocoaConf 2015GPU Programming: Chicago CocoaConf 2015
GPU Programming: Chicago CocoaConf 2015
 
Full stack development in Go
Full stack development in GoFull stack development in Go
Full stack development in Go
 
WebGL games with Minko - Next Game Frontier 2014
WebGL games with Minko - Next Game Frontier 2014WebGL games with Minko - Next Game Frontier 2014
WebGL games with Minko - Next Game Frontier 2014
 
3D on the Web in 2011
3D on the Web in 20113D on the Web in 2011
3D on the Web in 2011
 
不深不淺,帶你認識 LLVM (Found LLVM in your life)
不深不淺,帶你認識 LLVM (Found LLVM in your life)不深不淺,帶你認識 LLVM (Found LLVM in your life)
不深不淺,帶你認識 LLVM (Found LLVM in your life)
 
JavaScript all the things! - FullStack 2017
JavaScript all the things! - FullStack 2017JavaScript all the things! - FullStack 2017
JavaScript all the things! - FullStack 2017
 
XT Best Practices
XT Best PracticesXT Best Practices
XT Best Practices
 
Raspberry Pi 2 + Windows 10 IoT Core + Node.js
Raspberry Pi 2 + Windows 10 IoT Core + Node.jsRaspberry Pi 2 + Windows 10 IoT Core + Node.js
Raspberry Pi 2 + Windows 10 IoT Core + Node.js
 
SWT - Technical Deep Dive
SWT - Technical Deep DiveSWT - Technical Deep Dive
SWT - Technical Deep Dive
 

Need for Speed - Comparison of Current Web Technologies

  • 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.
  • 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.
  • 7. Code Tricks & Best Practices
  • 10.
  • 12. 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
  • 13.
  • 14. Draw the pixel cloud on the screen every frame.
  • 15. Reduce/increase particles until frame rate is close to 20 FPS.
  • 16.
  • 17. The Algorithm initBitmap(); createParticles(); //every framerenderParticles(); Adjust particles until frameRate ~= 20FPS.
  • 18. Performance Comparisons Show each demo. (The fun stuff) Briefly explain code. Measure number of particles when they become stable. Plot in Excel Chart.
  • 23. Alchemy v0.5a with Pixel Bender
  • 24. HAXE 2.05 with memory API
  • 25. HTML 5.0 + JavaScript Safari Crashed Internet Explorer 8 Doesn’t support it yet
  • 27.
  • 28. To Infinity and Beyond Nightly Builds of May 6 2010 Chromium – Chrome Minefield - Firefox Webkit - Safari
  • 29. Redemption (Nightly Builds) Internet Explorer 9 preview went blank
  • 30. WebGL – Hardware Acceleration
  • 31.
  • 32. The Natives Thought we’d try to make native apps to see the difference. Objective C (Cocoa) Open GL + GLUT
  • 34. OpenGL – The God of Particles
  • 35. 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
  • 36. 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
  • 37. Questions “ When people stop asking good questions, bad things seem to happen ” – Robin Hilliard
  • 38. 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
  • 39. Say ‘Hi’ to us ManojVekaria @nojified www.codeexplode.com noj@rocketboots.com SushantVerma @sushified www.trynull.com sushant@rocketboots.com