fast & furious: speed in the opera browser

51
@andreasbovens Fast & Furious: Speed in the Opera browser http://www.ickr.com/photos/booleansplit/3942748344/ Wednesday, November 9, 11

Upload: andreas-bovens

Post on 09-May-2015

5.207 views

Category:

Technology


1 download

DESCRIPTION

From its early days, Opera has focused on providing its users with a snappy browsing experience on a wide range of hardware and OSes. In this talk, I look at the latest versions of Opera for desktop, Opera Mobile and Opera Mini and explore how they make web pages super fast. http://velocityconf.com/velocityeu/public/schedule/detail/22183

TRANSCRIPT

Page 1: Fast & Furious: Speed in the Opera browser

@andreasbovens

Fast & Furious: Speed in the Opera browser

http://www.flickr.com/photos/booleansplit/3942748344/Wednesday, November 9, 11

Page 2: Fast & Furious: Speed in the Opera browser

Wednesday, November 9, 11

Page 3: Fast & Furious: Speed in the Opera browser

Wednesday, November 9, 11

Page 4: Fast & Furious: Speed in the Opera browser

Chris Mills

Bruce LawsonDaniel Davis

Karl Dubost

meShwetank Dixit

Divya Manian

Luz Caballero

Tiffany Brown

Vadim Makeev Mike TaylorZi Bin CheahPatrick Lauke@odevrel

Wednesday, November 9, 11

Page 5: Fast & Furious: Speed in the Opera browser

Wednesday, November 9, 11

Page 6: Fast & Furious: Speed in the Opera browser

Wednesday, November 9, 11

Page 7: Fast & Furious: Speed in the Opera browser

Recent Presto enhancements(typically land first on desktop)

Wednesday, November 9, 11

Page 8: Fast & Furious: Speed in the Opera browser

Presto prefetches images included via background-image, -o-border-image, list-style-image, content properties while waiting for more stylesheets to load.Note: we do a super-quick run-through (a sort of selective cascade) to make sure the images will effectively be used.

(already in Opera 11.50)

Wednesday, November 9, 11

Page 9: Fast & Furious: Speed in the Opera browser

SSL + network improvements:

(expect this to land in Opera 11.60, 12)

Wednesday, November 9, 11

Page 10: Fast & Furious: Speed in the Opera browser

SSL + network improvements:- SSL False Start: reduces SSL handshake latency.

(expect this to land in Opera 11.60, 12)

Wednesday, November 9, 11

Page 11: Fast & Furious: Speed in the Opera browser

SSL + network improvements:- SSL False Start: reduces SSL handshake latency.- Strict Transport Security (STS): reminds browser that the given domain should only be contacted over https.

(expect this to land in Opera 11.60, 12)

Wednesday, November 9, 11

Page 12: Fast & Furious: Speed in the Opera browser

SSL + network improvements:- SSL False Start: reduces SSL handshake latency.- Strict Transport Security (STS): reminds browser that the given domain should only be contacted over https.- Various network speed optimizations.

(expect this to land in Opera 11.60, 12)

Wednesday, November 9, 11

Page 13: Fast & Furious: Speed in the Opera browser

Our Carakan JS engine internally uses automatic classes to keep track of object properties and their types. We've recently expanded these classes’ scope and power to also record the layout (or shape) of the objects along with their property types. This improved compact object model allows Carakan to reduce the overhead per object, and the richer type information also enables the generation of better JITed code.

(should be in Opera 11.60)

Wednesday, November 9, 11

Page 14: Fast & Furious: Speed in the Opera browser

Refactored SVG traverser and improved SVG painting structure, including smarts to optimize for specific TV use cases.

(should be in Opera 11.60, TV deliveries)

Wednesday, November 9, 11

Page 15: Fast & Furious: Speed in the Opera browser

Hardware acceleration!- support for OpenGL, DirectX backends.- powers WebGL, 2D canvas, but also all other painting, and even browser UI drawing.

(planned for Opera 12)

Wednesday, November 9, 11

Page 16: Fast & Furious: Speed in the Opera browser

Wednesday, November 9, 11

Page 17: Fast & Furious: Speed in the Opera browser

Opera Turbo

http://www.flickr.com/photos/damianmorysfotos/4804494571/in/photostream/Wednesday, November 9, 11

Page 18: Fast & Furious: Speed in the Opera browser

Opera Turbo servers act as compression proxy between the user and the website:- non-gzipped content is gzipped- images are converted to WebP

Opera Turbo

Wednesday, November 9, 11

Page 19: Fast & Furious: Speed in the Opera browser

Wednesday, November 9, 11

Page 20: Fast & Furious: Speed in the Opera browser

Wednesday, November 9, 11

Page 21: Fast & Furious: Speed in the Opera browser

Wednesday, November 9, 11

Page 22: Fast & Furious: Speed in the Opera browser

Wednesday, November 9, 11

Page 23: Fast & Furious: Speed in the Opera browser

Remember!Look at the X-Forwarded-For header to determine the visitor’s IP address.

Opera Turbo

Wednesday, November 9, 11

Page 24: Fast & Furious: Speed in the Opera browser

Wednesday, November 9, 11

Page 25: Fast & Furious: Speed in the Opera browser

Opera Mobile

http://www.flickr.com/photos/davidht/2124791520/

Wednesday, November 9, 11

Page 26: Fast & Furious: Speed in the Opera browser

Fast panning, without checkerboard:

Wednesday, November 9, 11

Page 27: Fast & Furious: Speed in the Opera browser

Fast panning, without checkerboard:

Wednesday, November 9, 11

Page 28: Fast & Furious: Speed in the Opera browser

Fast panning, without checkerboard: - new, dynamic way of drawing content on screen: only visible viewport is rendered.

Wednesday, November 9, 11

Page 29: Fast & Furious: Speed in the Opera browser

Fast panning, without checkerboard: - new, dynamic way of drawing content on screen: only visible viewport is rendered.- zoomed image interpolation tweaks.

Wednesday, November 9, 11

Page 30: Fast & Furious: Speed in the Opera browser

screen: only visible viewport is rendered.- zoomed image interpolation tweaks.

Wednesday, November 9, 11

Page 31: Fast & Furious: Speed in the Opera browser

screen: only visible viewport is rendered.- zoomed image interpolation tweaks.

Wednesday, November 9, 11

Page 32: Fast & Furious: Speed in the Opera browser

Bilinear interpolation for zoomed images already in the viewport.

screen: only visible viewport is rendered.- zoomed image interpolation tweaks.

Wednesday, November 9, 11

Page 33: Fast & Furious: Speed in the Opera browser

Bilinear interpolation for zoomed images already in the viewport.

Nearest neighbor interpolation for zoomed images that are being moved into the viewport.

screen: only visible viewport is rendered.- zoomed image interpolation tweaks.

Wednesday, November 9, 11

Page 34: Fast & Furious: Speed in the Opera browser

Bilinear interpolation for zoomed images already in the viewport.

screen: only visible viewport is rendered.- zoomed image interpolation tweaks.

Nearest neighbor interpolation for zoomed images that are being moved into the viewport.Wednesday, November 9, 11

Page 35: Fast & Furious: Speed in the Opera browser

www.opera.com/developer/tools/mobile/

Opera Mobile Emulator

Wednesday, November 9, 11

Page 36: Fast & Furious: Speed in the Opera browser

Opera Minihttp://www.flickr.com/photos/nrmadriversseat/5449080917/

Wednesday, November 9, 11

Page 37: Fast & Furious: Speed in the Opera browser

Wednesday, November 9, 11

Page 38: Fast & Furious: Speed in the Opera browser

Instead of HTTP and HTML, Mini uses a binary format over a binary protocol, with radical reduction of request and responses.

Wednesday, November 9, 11

Page 39: Fast & Furious: Speed in the Opera browser

Instead of HTTP and HTML, Mini uses a binary format over a binary protocol, with radical reduction of request and responses.

Wednesday, November 9, 11

Page 40: Fast & Furious: Speed in the Opera browser

Note: the DOM lives on the server, and hence, dynamic interaction is limited.

Wednesday, November 9, 11

Page 41: Fast & Furious: Speed in the Opera browser

Also here, look at the X-Forwarded-For header to determine the visitor’s IP address!

Wednesday, November 9, 11

Page 42: Fast & Furious: Speed in the Opera browser

The latest Opera Mini performance tweaks...

Wednesday, November 9, 11

Page 45: Fast & Furious: Speed in the Opera browser

The latest Opera Mini performance tweaks...- colored blocks instead of checkerboard

Wednesday, November 9, 11

Page 46: Fast & Furious: Speed in the Opera browser

The latest Opera Mini performance tweaks...- colored blocks instead of checkerboard- GPU accelerated rendering

Wednesday, November 9, 11

Page 47: Fast & Furious: Speed in the Opera browser

The latest Opera Mini performance tweaks...- colored blocks instead of checkerboard- GPU accelerated rendering

Wednesday, November 9, 11

Page 48: Fast & Furious: Speed in the Opera browser

Opera Dragonfly

http://www.flickr.com/photos/profilerehab/5218108077/Wednesday, November 9, 11

Page 49: Fast & Furious: Speed in the Opera browser

Wednesday, November 9, 11

Page 50: Fast & Furious: Speed in the Opera browser

Soon: JS profiler!

my.opera.com/dragonfly/blog/

Wednesday, November 9, 11

Page 51: Fast & Furious: Speed in the Opera browser

Thanks for listening! @andreasbovens @odevrel

http://www.flickr.com/photos/ejcallow/5608030160/Wednesday, November 9, 11