Last Week: Asynchronous script execution and GPU Acceleration by default

Published on in CSS, Google Chrome, Last Week, tech, WebKit. Version: Chrome 7

With just over a thousand commits in the last seven days, the majority of which were pushed towards the WebKit repository, activity seems to be slightly down in comparison with the previous weeks. Nevertheless, last week brought some interesting changes: changes to the script element, CSS timing functions and Hardware Acceleration for the masses.

On Wednesday Google made an announcement which was quite hard to miss: Google Instant. Google Search anticipates on what you’re going to search for and starts displaying results while you’re still typing. Chrome now features a similar possibility named match preview, although I think Chrome Instant sounds more appropriate. You can enable it by supplying the --enable-match-preview flag when launching Chromium, but keep in mind that the implementation still is rather rough.

Since the new HTML5 Parser and Tree Builder in WebKit kept timed script execution in mind, Tony Gentilcore was able to land support for <script async> only a few days after he added support for the defer attribute. To re-iterate, using the defer-attribute defers executing the script to after parsing the page has been completed. The async-attribute enables asynchronous execution of the script as soon as it’s available, therefore not blocking the parser.

Following the discussions of the face-to-face meeting of the CSS Working Group three weeks ago, Apple’s Dean Jackson modified the CSS3 Transitions and Animations modules to include a new timing function called “steps“. The name is fairly obvious: instead of having a continuous transition, the selected properties transition in a predefined number of steps. This timing function landed in WebKit last Thursday!

As you can see, all seven timing functions for transitions have been included in this example. The animated color-boxes in the JavaScript column show what a browser should be doing according to the specification, while the CSS column shows how your browser displays it. Furthermore, if you’re using a modern browser, you can see an animated graph displaying how a certain timing function works by clicking on its name!

Other updates which occurred in WebKit and Chromium last week include:

Finally, for the ones of you who like to be up-to-date as well, I’ve added RSS feeds for my Vendor Prefixed CSS Properties page (feed) and the overview pages of Google Chrome Command Line Switches (feed). Since most content on these pages gets updated automatically, I figured this would be a nice addition. While I cannot guarantee that they already work perfectly at this point, in theory they should be fine. See you next week!

7 Responses to “Last Week: Asynchronous script execution and GPU Acceleration by default”

Both comments and pings are currently closed.

This is really useful and impressive stuff, Peter – keep up the good work!


September 14, 2010 at 1:16 am

Great illustrations! 🙂

Tony Gentilcore

September 17, 2010 at 7:39 pm

I really like the async/defer illustration. I’m curious what tool you used to generate it.

BTW – I’m digging the updates. Keep it up!


September 17, 2010 at 8:14 pm

The async/defer graph was made using plain old Photoshop 🙂 It wasn’t generated either, I just took my understanding of the specification (together with a correction from Steve Sounders) and drew some lines.

unlimited scripts…

[…]Last Week: Asynchronous script execution and GPU Acceleration by default « Peter Beverloo[…]…


September 20, 2012 at 4:54 am

Your post is so interesting and informative. I got a lot of useful and significant information. Thank you so much.