Edge Conf Rendering Performance Panel

22
Rendering Performance Andre Behrens Jonathan Klein Paul Lewis Ariya Hidayat Joshua Peek Eli Fidler Sunday, September 22, 13

description

The 10 minute opening talk for the Rendering Performance panel at Edge NY, September 23rd 2013. This was just designed to give a brief overview of the topic before the Q&A portion of the panel.

Transcript of Edge Conf Rendering Performance Panel

Page 1: Edge Conf Rendering Performance Panel

Rendering Performance

Andre BehrensJonathan KleinPaul LewisAriya HidayatJoshua PeekEli Fidler

Sunday, September 22, 13

Page 2: Edge Conf Rendering Performance Panel

60 FPS

Sunday, September 22, 13

Page 3: Edge Conf Rendering Performance Panel

16.6 ms

Sunday, September 22, 13

Page 4: Edge Conf Rendering Performance Panel

Sunday, September 22, 13

Page 5: Edge Conf Rendering Performance Panel

Jank

Sunday, September 22, 13

Page 6: Edge Conf Rendering Performance Panel

What Causes Jank?

Sunday, September 22, 13

Page 7: Edge Conf Rendering Performance Panel

http://jankfree.org/jank-busters-io-2013/template.html#15

Sunday, September 22, 13

Page 8: Edge Conf Rendering Performance Panel

Why Do We Care?

Sunday, September 22, 13

Page 9: Edge Conf Rendering Performance Panel

Facebook artificially slowed down frame rate on iOS and Android to 30 FPS, and “engagement collapsed”

- Shane O'Sullivan, Edge London 2013

Sunday, September 22, 13

Page 10: Edge Conf Rendering Performance Panel

Etsy tested pre-fetching JS on our search results page, which caused jank as the JS finished downloading. All business

metrics we monitored got much worse.- Me, right now

Sunday, September 22, 13

Page 11: Edge Conf Rendering Performance Panel

How Do We Fix It?

Sunday, September 22, 13

Page 12: Edge Conf Rendering Performance Panel

http://jankfree.org/jank-busters-io-2013/template.html#15

Sunday, September 22, 13

Page 13: Edge Conf Rendering Performance Panel

Sunday, September 22, 13

Page 14: Edge Conf Rendering Performance Panel

But Really...

Sunday, September 22, 13

Page 15: Edge Conf Rendering Performance Panel

But Really...

• requestAnimationFrame, not setTimeout

Sunday, September 22, 13

Page 16: Edge Conf Rendering Performance Panel

But Really...

• requestAnimationFrame, not setTimeout• Consistent frame rate > high frame rate

Sunday, September 22, 13

Page 17: Edge Conf Rendering Performance Panel

But Really...

• requestAnimationFrame, not setTimeout• Consistent frame rate > high frame rate• Paint less (batch)

Sunday, September 22, 13

Page 18: Edge Conf Rendering Performance Panel

But Really...

• requestAnimationFrame, not setTimeout• Consistent frame rate > high frame rate• Paint less (batch)

• Consider translateZ hack

Sunday, September 22, 13

Page 19: Edge Conf Rendering Performance Panel

But Really...

• requestAnimationFrame, not setTimeout• Consistent frame rate > high frame rate• Paint less (batch)

• Consider translateZ hack

• Optimize texture uploads to the GPU

Sunday, September 22, 13

Page 21: Edge Conf Rendering Performance Panel

jankfree.org

Sunday, September 22, 13

Page 22: Edge Conf Rendering Performance Panel

Panel

Sunday, September 22, 13