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
4. Bruce Lawson
Daniel Davis
Divya Manian
Chris Mills
Karl Dubost
Shwetank Dixit Tiffany Brown
me
Luz Caballero
Patrick Lauke
@odevrel Zi Bin Cheah Vadim Makeev Mike Taylor
Wednesday, November 9, 11
8. 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
9. SSL + network improvements:
(expect this to land in Opera 11.60, 12)
Wednesday, November 9, 11
10. SSL + network improvements:
- SSL False Start: reduces SSL handshake latency.
(expect this to land in Opera 11.60, 12)
Wednesday, November 9, 11
11. 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
12. 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
13. 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
14. 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
15. 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
18. Opera Turbo
Opera Turbo servers act as compression proxy between
the user and the website:
- non-gzipped content is gzipped
- images are converted to WebP
Wednesday, November 9, 11
28. Fast panning, without checkerboard:
- new, dynamic way of drawing content on
screen: only visible viewport is rendered.
Wednesday, November 9, 11
29. 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
30. - zoomed image interpolation tweaks.
Wednesday, November 9, 11
31. - zoomed image interpolation tweaks.
Wednesday, November 9, 11
32. - zoomed image interpolation tweaks.
Bilinear interpolation for zoomed images already in the viewport.
Wednesday, November 9, 11
33. - zoomed image interpolation tweaks.
Bilinear interpolation for zoomed images already in the viewport.
Nearest neighbor interpolation for zoomed images that are being moved into the viewport.
Wednesday, November 9, 11
34. - zoomed image interpolation tweaks.
Bilinear interpolation for zoomed images already in the viewport.
Nearest neighbor interpolation for zoomed images that are being moved into the viewport.
Wednesday, November 9, 11
35. Opera Mobile Emulator
www.opera.com/developer/tools/mobile/
Wednesday, November 9, 11
36. Opera Mini http://www.flickr.com/photos/nrmadriversseat/5449080917/
Wednesday, November 9, 11
38. 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
39. 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
40. Note: the DOM lives on the server, and hence,
dynamic interaction is limited.
Wednesday, November 9, 11
41. Also here, look at the X-Forwarded-For header
to determine the visitor’s IP address!
Wednesday, November 9, 11
42. The latest Opera Mini performance tweaks...
Wednesday, November 9, 11