SlideShare a Scribd company logo
Hacking to be Performant?
Talk: Performance Engineering
Speaker: Apoorv Saxena
Hacking to be performant
Time to run a poll
How many you consider
#perfmatters?
What performance
monitoring tools are you
using?
(To evaluate your Front End’s Performance)
How many of you have it as
part of your
“Continuous Deployment”?
Enough, let’s start Hacking
What do you mean by
“Hacking”?
What do you mean by
“Performant”?
Evolution of the Web: Browser & Technologies
Evolution
Is necessary, though it proceeds gradually and
takes some time, it accounts for everyone to be
on the same page.
Though, not everyone can afford to walk at the
same speed, they must run, jump obstacles, cut
corners and give their best shot.
Loading Webpages under
1 second
First pixel render time less
than 500ms
Running Applications at
60fps
Delivering a Jank Free Experience
#perfmatters
What are we Trying to fit?
● HTML5 Games
● Single Page Applications
● Animations
● Editors, Document Collaboration Tools
● WebRTC (Video, Audio)
and many more.
That’s it?
Not at all.
Everything available on Mobile must be
available via APIs on Web.
Let me tell you a story
From JS to Screen:
Style/Layout PaintingJS Compositing
keep < 16ms!
1. Add CSS rules in style via JS.
2. Recalculate style, maybe relayout.
3. Paint the browser’s mental model to a layer
4. Composite all layers into a final image
What causes Jank?
Style/Layout PaintingJS
16ms!
Draw
Commands CPU GPU
SCREEN
Extensive Upload
Rasterization in
Action
Performance Hacks:
Creating a separate layer for
elements requesting
frequent updates
Hacking to be performant
Hardware Acceleration
rules me
What about using Canvas
instead of DOM?
You must consider:
● Accessibility, Flipboard injects mirror of the content into an
invisible dom so it’s still in synch for VoiceOver.
● Canvas is not hardware accelerated on every browser
(accompanies device constraints).
DOM Rendering might become amazingly fast soon.
(Hint: remember project Ganesh).
Considered using DOMSprites?
Hacking to be performant
SCREEN
Project Ganesh:
Draw
Commands GPU
60fps is not required at every instance
Hacking to be performant
Note:
Our eyes are much more attuned to variance
than framerate.
A steady 30Hz looks better than 60Hz that
misses a few frames a second.
Thank You!
See jankfree.org, html5rocks.com for lots of info

More Related Content

What's hot (20)

PDF
08 Workflow e strumenti web
Federico Russo
 
PDF
Makes JavaScript Fun Again
Asep Bagja
 
PPTX
Yeoman
Mohammed Arif
 
PPTX
Question 6
Deeqaali95
 
PPTX
Postmortem of a uwp xaml application development
David Catuhe
 
PPTX
React native
🍉 Renan Araujo
 
PPTX
Vorlon.js
David Catuhe
 
PDF
Visual Regression Testing with Wraith
Sauli Rajala
 
PPT
Technologies1
Joe McElligott
 
PDF
wp cli- don’t fear the command line
Dwayne McDaniel
 
PDF
WordPress security & sanitation for beginners
D'nelle Dowis
 
PPTX
Kristof van roy-behind_the_scenes
nascomgenk
 
PDF
Achieving Scale with HoloLens and BIM: Designing for interactions with large ...
Windows Developer
 
PDF
Front end workflow with yeoman
hassan hafez
 
PPT
Coffee script throwdown
Nicholas McClay
 
PDF
Embedjs
Jens Arps
 
PPTX
Unit testing for User Interfaces
webmull
 
PDF
Introduction to QC
Kazuhiro Kosaka
 
PPTX
The state of testing @ Microsoft
Robert MacLean
 
PPTX
Moving from MAMP to Vagrant
Jeremy Pry
 
08 Workflow e strumenti web
Federico Russo
 
Makes JavaScript Fun Again
Asep Bagja
 
Question 6
Deeqaali95
 
Postmortem of a uwp xaml application development
David Catuhe
 
React native
🍉 Renan Araujo
 
Vorlon.js
David Catuhe
 
Visual Regression Testing with Wraith
Sauli Rajala
 
Technologies1
Joe McElligott
 
wp cli- don’t fear the command line
Dwayne McDaniel
 
WordPress security & sanitation for beginners
D'nelle Dowis
 
Kristof van roy-behind_the_scenes
nascomgenk
 
Achieving Scale with HoloLens and BIM: Designing for interactions with large ...
Windows Developer
 
Front end workflow with yeoman
hassan hafez
 
Coffee script throwdown
Nicholas McClay
 
Embedjs
Jens Arps
 
Unit testing for User Interfaces
webmull
 
Introduction to QC
Kazuhiro Kosaka
 
The state of testing @ Microsoft
Robert MacLean
 
Moving from MAMP to Vagrant
Jeremy Pry
 

Similar to Hacking to be performant (20)

PDF
Fullstack 2018 - Fast but not furious: debugging user interaction performanc...
Anna Migas
 
PDF
Performance.now() fast but not furious
Anna Migas
 
PDF
#Webperf Choreography
Harald Kirschner
 
PDF
HalfStack fast but not furious
Anna Migas
 
PDF
The Mobile Web - HTML5 on mobile devices
Wesley Hales
 
PDF
Qt WebKit going Mobile
Kenneth Rohde Christiansen
 
PDF
Engineering HTML5 Applications for Better Performance
SC5.io
 
PPTX
Netflix Webkit-Based UI for TV Devices
Matt McCarthy
 
PPTX
Web performance
Samir Das
 
PDF
Notes From Velocity Conference Europe
SiriusWay
 
PDF
Webapp Rendering and Optimization.
arthurjamain
 
PDF
Responsive Design: Building for a Modern Web
Harvard Web Working Group
 
PPTX
Html5 today
Roy Yu
 
PDF
From nothing to a video under 2 seconds / Mikhail Sychev (YouTube)
Ontico
 
PDF
Measuring Web Performance
Dave Olsen
 
PDF
Performance (browser)
aquarius070287
 
PDF
Html5 workshop part 1
NAILBITER
 
PDF
Running HTML5 Mobile Web Games at 60fps
Apoorv Saxena
 
PDF
Extreme Web Performance for Mobile Devices
Maximiliano Firtman
 
KEY
HTML5 History & Features
Dave Ross
 
Fullstack 2018 - Fast but not furious: debugging user interaction performanc...
Anna Migas
 
Performance.now() fast but not furious
Anna Migas
 
#Webperf Choreography
Harald Kirschner
 
HalfStack fast but not furious
Anna Migas
 
The Mobile Web - HTML5 on mobile devices
Wesley Hales
 
Qt WebKit going Mobile
Kenneth Rohde Christiansen
 
Engineering HTML5 Applications for Better Performance
SC5.io
 
Netflix Webkit-Based UI for TV Devices
Matt McCarthy
 
Web performance
Samir Das
 
Notes From Velocity Conference Europe
SiriusWay
 
Webapp Rendering and Optimization.
arthurjamain
 
Responsive Design: Building for a Modern Web
Harvard Web Working Group
 
Html5 today
Roy Yu
 
From nothing to a video under 2 seconds / Mikhail Sychev (YouTube)
Ontico
 
Measuring Web Performance
Dave Olsen
 
Performance (browser)
aquarius070287
 
Html5 workshop part 1
NAILBITER
 
Running HTML5 Mobile Web Games at 60fps
Apoorv Saxena
 
Extreme Web Performance for Mobile Devices
Maximiliano Firtman
 
HTML5 History & Features
Dave Ross
 

Recently uploaded (20)

PDF
Reasons for the succes of MENARD PRESSUREMETER.pdf
majdiamz
 
PPTX
DATA BASE MANAGEMENT AND RELATIONAL DATA
gomathisankariv2
 
PPTX
artificial intelligence applications in Geomatics
NawrasShatnawi1
 
PPTX
Damage of stability of a ship and how its change .pptx
ehamadulhaque
 
PDF
Zilliz Cloud Demo for performance and scale
Zilliz
 
PDF
Biomechanics of Gait: Engineering Solutions for Rehabilitation (www.kiu.ac.ug)
publication11
 
PDF
MAD Unit - 2 Activity and Fragment Management in Android (Diploma IT)
JappanMavani
 
PPTX
Hashing Introduction , hash functions and techniques
sailajam21
 
PPTX
原版一样(Acadia毕业证书)加拿大阿卡迪亚大学毕业证办理方法
Taqyea
 
PPTX
美国电子版毕业证南卡罗莱纳大学上州分校水印成绩单USC学费发票定做学位证书编号怎么查
Taqyea
 
PPTX
Depth First Search Algorithm in 🧠 DFS in Artificial Intelligence (AI)
rafeeqshaik212002
 
PPTX
Shinkawa Proposal to meet Vibration API670.pptx
AchmadBashori2
 
PDF
MAD Unit - 1 Introduction of Android IT Department
JappanMavani
 
PPTX
Green Building & Energy Conservation ppt
Sagar Sarangi
 
PPTX
fatigue in aircraft structures-221113192308-0ad6dc8c.pptx
aviatecofficial
 
PPTX
The Role of Information Technology in Environmental Protectio....pptx
nallamillisriram
 
PPTX
Server Side Web Development Unit 1 of Nodejs.pptx
sneha852132
 
PPTX
Arduino Based Gas Leakage Detector Project
CircuitDigest
 
PPTX
Mechanical Design of shell and tube heat exchangers as per ASME Sec VIII Divi...
shahveer210504
 
PPTX
VITEEE 2026 Exam Details , Important Dates
SonaliSingh127098
 
Reasons for the succes of MENARD PRESSUREMETER.pdf
majdiamz
 
DATA BASE MANAGEMENT AND RELATIONAL DATA
gomathisankariv2
 
artificial intelligence applications in Geomatics
NawrasShatnawi1
 
Damage of stability of a ship and how its change .pptx
ehamadulhaque
 
Zilliz Cloud Demo for performance and scale
Zilliz
 
Biomechanics of Gait: Engineering Solutions for Rehabilitation (www.kiu.ac.ug)
publication11
 
MAD Unit - 2 Activity and Fragment Management in Android (Diploma IT)
JappanMavani
 
Hashing Introduction , hash functions and techniques
sailajam21
 
原版一样(Acadia毕业证书)加拿大阿卡迪亚大学毕业证办理方法
Taqyea
 
美国电子版毕业证南卡罗莱纳大学上州分校水印成绩单USC学费发票定做学位证书编号怎么查
Taqyea
 
Depth First Search Algorithm in 🧠 DFS in Artificial Intelligence (AI)
rafeeqshaik212002
 
Shinkawa Proposal to meet Vibration API670.pptx
AchmadBashori2
 
MAD Unit - 1 Introduction of Android IT Department
JappanMavani
 
Green Building & Energy Conservation ppt
Sagar Sarangi
 
fatigue in aircraft structures-221113192308-0ad6dc8c.pptx
aviatecofficial
 
The Role of Information Technology in Environmental Protectio....pptx
nallamillisriram
 
Server Side Web Development Unit 1 of Nodejs.pptx
sneha852132
 
Arduino Based Gas Leakage Detector Project
CircuitDigest
 
Mechanical Design of shell and tube heat exchangers as per ASME Sec VIII Divi...
shahveer210504
 
VITEEE 2026 Exam Details , Important Dates
SonaliSingh127098
 

Hacking to be performant