Webkit2 for Multiple Cores Architecture

Apple, the force behind WebKit, which is a layout engine that is designed to allow web browsers to present web pages, is retooling the product to take advantage of multiple CPU cores.

Many of the features that we take for granted when using a browser come from the WebKit engine. For instance it provides a set of programming classes that will display web content in windows, and implement browser features like following links when clicked, or managing a back-forward list, or managing a history of pages recently visited. Most of the features that we use and the html code that we see are run through the Webkit engine.

Now Apple has announced that a new interface called WebKit2 will be re-designed using the old WebKit model, as a starting point, to support a split process model. In the WebKit2 model the web content such as JavaScript, HTML, layout, and others will live in a separate process. This has some similarities to a feature that Google Chrome offers, but with the major difference that is built into the process directly into the framework.

If you look at the traditional WebKit Architecture you will see where the WebKit resides

The Mac WebKit

Here is the Architecture of the WebKit2

WebKit2

The difference is that you now have two processes that are involved a UI process and a Web Process. Ideally, these will use two different cores for performance and operation.  WebKit2 changes the WebKit stack to build a process management mechanism inside the WebKit API layer.

The idea behind all of this is multiprocessor design. Multiprocess designs seem to be accelerating throughout the browser industry. One way is by moving plug-ins, such as Adobe Flash, to a separate process. This can reduce the severity of crashes by isolating the problem.

Source: WebKit WebKit2

WebKitAPI

, , , ,

Comments are closed.