SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Similaire à Need For Speed

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
 

Similaire à Need For Speed (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
 

Dernier

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Dernier (20)

ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 

Need For Speed

  • 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