This video is unavailable.
Google I/O 2012 - Jank Busters: Building Performant Web Apps
344,517
Subscription preferences
Loading...
Sign in to YouTube
Sign in to YouTube
Sign in to YouTube
Published on Jun 29, 2012
Nat Duca, Tom Wiltzius
Building high-performance web apps is hard! When animations hitch, mouse hover effects lag, or page scrolls stutter, we call it jank. This talk is about hunting jank down and exterminating it.
Sources of jank in web apps include garbage collector runs, long image decodes, heavy paint times for DOM elements, JavaScript-heavy input handlers, unexpected WebKit layer invalidations, and more -- all getting in the way of the 60FPS every modern app developer should aim for. In this talk we'll go through a few techniques to ensure your web app has smooth animations, transitions, and scrolling. We'll cover ways to use Chrome's Developer Tools to root out jank, as well as more advanced Chrome graphics profiling tools the intrepid can use to dig into what's going on behind the scenes. We'll even peek gingerly under the covers of WebKit to explain why that pesky hitch occurs in the first place.
For all I/O 2012 sessions, go to https://developers.google.com/io/
-
Category
-
License
Standard YouTube License
Loading...
Loading...
Loading...
Loading...
Loading...
-
51:41
Google I/O 2012 - GRITS: PvP Gaming with HTML5by GoogleDevelopers
37,623 views
-
41:15
Google I/O 2013 - Enchant, Simplify, Amaze: Android's Design Principlesby GoogleDevelopers
49,117 views
-
59:54
Google I/O 2012 - It's a Startup Worldby GoogleDevelopers
6,058 views
-
37:25
Google I/O 2013 - Instant Mobile Websites: Techniques and Best Practicesby GoogleDevelopers
4,208 views
-
40:29
Google I/O 2012 - Use What You Know: HTML and JavaScript in Apps Scriptby GoogleDevelopers
13,647 views
-
36:53
Google I/O 2013 - Practical Android Games Developmentby GoogleDevelopers
9,038 views
-
40:00
Google I/O 2013 - Design Decisions in AngularJSby GoogleDevelopers
22,521 views
-
41:54
Google I/O 2012 - WebRTC: Real-time Audio/Video and P2P in HTML5by GoogleDevelopers
75,967 views
-
34:13
Google I/O 2013 - Chrome DevTools Revolutions 2013by GoogleDevelopers
11,011 views
-
35:10
Google I/O 2013 - JAM with Chrome: How We Built a Massive Multiplayer Music App Using Web Technologyby GoogleDevelopers
3,846 views
-
41:17
Google I/O 2013 - Fireside Chat with the Blink Teamby GoogleDevelopers
2,446 views
-
27:58
Google I/O 2013 - Google Cloud Messagingby GoogleDevelopers
5,306 views
-
2:06:31
Google I/O 2012 - Keynote Day 1by GoogleDevelopers
544,696 views
-
40:39
Google I/O 2013 - Standardizing Payments on the Web: Introducing requestAutocomplete()by GoogleDevelopers
1,914 views
-
1:03:13
Google I/O 2012 - Up Close and Personal: NFC and Android Beamby GoogleDevelopers
11,378 views
-
56:55
Google I/O 2012 - Knowledge-Based Application Design Patternsby GoogleDevelopers
5,955 views
-
40:54
Google I/O 2013 - Jank Free: Chrome Rendering Performanceby GoogleDevelopers
5,880 views
-
37:43
Google I/O 2013 - Best Practices for Bluetooth Developmentby GoogleDevelopers
5,623 views
-
41:05
Google I/O 2013 - A Moving Experienceby GoogleDevelopers
7,744 views
-
1:01:35
Google I/O 2011: HTML5 versus Android: Apps or Web for Mobile Development?by GoogleDevelopers
138,743 views
- Loading more suggestions...
All Comments (20)
Dongseong Hwang 4 days ago
@dsego84 it is not true. now chromium's hidden technology is 3 times more elaborate and complicated than safari's. I think safari team feels that they can not overcome chromium anymore.
Sign in to YouTube
Sign in to YouTube
Josh Bedo 2 months ago
Chromium is intended for developers and has a lot of unreleased features because they're still in production but they help developers. Things like convert CSS to SASS and revisioning.
Sign in to YouTube
Sign in to YouTube
dsego84 3 months ago
Maybe chrome is janky, Safari is smooth as butter.
Sign in to YouTube
Sign in to YouTube
Homezone 5 months ago
They work for Google and use Chromium? o_O
Sign in to YouTube
Sign in to YouTube
ericthewino 5 months ago
cool. thanks for pointing me to the time. i guess it would be best to recache on resize.
Sign in to YouTube
Sign in to YouTube
fezec 5 months ago
It's because they already retrieved the layout calculation. Note the code at 13:08. Line 57 says if heavy scroll which is what he toggles on his demo. This forces line 58 to run, which retrieves the scrollTop from the body, forcing a calculation of the DOM, but line 54 shows that he already asked for this.
When he toggles off heavyScroll rather than use line 58 it uses 60 in the else statement. Here it makes use of the cachedScrollTop thereby not forcing yet another recalculation.
Sign in to YouTube
Sign in to YouTube
ericthewino 5 months ago
sorry i don't get what happened around 14:40 that made the event less delay. was the scrolltop cached?
Sign in to YouTube
Sign in to YouTube
Lucas Rizoli 7 months ago
This is a very good talk: your explanations and recommendations and demos are clear, you handle the questions well and frankly. Thanks.
Sign in to YouTube
Sign in to YouTube
MediaFilter 7 months ago
Funny guys, good talk!
Sign in to YouTube
Sign in to YouTube