JavaScript, graphics performance improvements on tap for IE9

At PDC, Microsoft talked about what the next version of its browser will bring …

The first information about the next version of Microsoft's Web browser was revealed at PDC on Wednesday. The announcement described three main areas of improvement: JavaScript, Web standards, and graphics technology. IE9 will contain a new, significantly faster JavaScript engine, it will have richer support for Web standards like CSS 3, and it will use the new Direct2D and DirectWrite technology for its graphics and text rendering.

Both the new JavaScript engine and the new graphics technology will improve the browser's performance. Microsoft made the point that different websites place different performance demands on a browser. Some are more scripting intensive, others more graphically intensive; some have complex layouts, others are simple. This has the consequence that to improve performance across the board, a wide range of optimizations and improvements are needed. With IE9, Redmond intends to not just improve performance in limited benchmarks (that focus on a single aspect of browser performance), but to ensure that real-world websites become faster.

Rendering the webpage in IE8 is performed predominantly on the CPU. Direct2D is a new Windows API that uses hardware Direct3D acceleration to accelerate 2D graphics, available in Windows 7 and as a patch for Windows Vista. Through the use of Direct2D, IE9 will perform all graphics rendering on the GPU, providing quicker page rendering, faster, smoother animation, and high quality image scaling. For graphically intensive applications like Google Maps, this should result in better performance and an improved user experience.

JavaScript performance has become an increasingly important concern for Web applications. As Web apps have become more capable and more fully-featured, JavaScript engines have had an ever-greater burden placed on them. Whereas once they might only run a few dozen of lines on a page, today's rich applications (Google Apps or the Office Web Apps, say) now run tens or hundreds of kilobytes of scripting on every page. To meet these needs, Firefox, Safari, and Chrome have all seen a lot of development effort on their scripting engines to speed up these usage scenarios.

Though IE's JavaScript engine has got faster—the widely used SunSpider benchmark takes about half the time to run in IE8 as it does in IE7—it still lags behind other browsers quite considerably. IE9 is getting a brand-new engine that should take IE's JavaScript performance to the proverbial next level. Technical descriptions of the new engine made it sound quite similar to the V8 engine used in Chrome; the new IE9 JavaScript engine will compile JavaScript into native code, just like in V8, and the technique it will use to speed up the object-oriented nature of JavaScript also sounded similar to the approach V8 takes.

Early results suggest that the current IE9 engine performs in the same ballpark as betas of Firefox, Safari, and Chrome. IE is still the slowest, but the difference now ranges from 10% slower (compared to Firefox) to 100% slower (compared to Chrome), rather than 5-600% slower as is presently the case for IE8. The IE team does not want to be trailing any more, and performance is now clearly a big deal.

Over the years, standards compliance has been the Web development community's biggest complaint about Internet Explorer. Though IE was once highly competitive in this area—during the days of the browser wars—its stagnation after the release of IE6 left it far behind. IE7 made some small improvements, and IE8 did achieve some kind of parity, at least when looking at the fundamental HTML 4.01 and CSS 2.1 specifications. Microsoft made a significant effort with IE8 and arguably its CSS 2.1 compliance was best in class.

However, there is considerable demand among developers for new features: CSS 3, HTML 5, SVG, and Canvas. Many of these standards are still themselves in flux, being in the draft stages of development rather than finalized specifications, but many of their features are so compelling (HTML 5's native support for embedded video, CSS 3's rounded corners, Canvas's extensive graphical capabilities) that developers want them right now. At PDC, Microsoft would not commit to supporting any particular features or specifications with IE9. The company did state that its focus would be on providing the features that were actually most useful to developers, and ensuring that those features had robust test suites.

IE9 is still in its early days, and there is no hint of a date at which a beta might become available. Many questions, especially about standards support, remain unanswered. The switch to Direct2D may also mean an end to XP support (Direct2D is unavailable on that OS). Nonetheless, the announcements give a strong indication that Microsoft is taking its browser seriously, and wants it to be a viable alternative to its competitors.