Trending: Jeff Bezos’ Blue Origin venture gives notice for spaceship flight test this week

Jason Weber, lead program manager for IE performance.

Jason Weber’s office boasts a fantastic view, a gigantic monitor — and some of the least-impressive machines you’ll find on the Microsoft campus. His 4-year-old PC runs an early Intel Core 2 Duo processor. On his Tablet PC, the processor is mere 1 GHz.

And that’s precisely the way he likes it. Weber is Internet Explorer’s lead program manager for performance, and his team’s work has been a key part of overhauling Internet Explorer 9, the new version of the browser set for public release tonight.

“If I can make IE9 fast here, I can make it fast anywhere,” Weber explains, noting with almost a hint of pride that the graphics scores of his various machines are all in the bottom 20 percent of PCs run by everyday computer users. If the browser is running smoothly and quickly on his setup, he says, “a high-end machine is just going to scream.”

[Follow-up: Internet Explorer 9: Windows XP users, you’re out of luck]

Those performance improvements will be critical to Microsoft’s efforts to regain traction in the browser market, in the face of tough competition from Google Chrome, Mozilla Firefox and others.

Microsoft also still needs to overcome lingering negativity about its browser, resulting in part from years of neglect in which little to no work took place on Internet Explorer — creating a five-year gap between major versions, between 2001 and 2006.

Internet Explorer 9 RC. (Click for larger version.)

Internet Explorer 9, in contrast, will be the third release in less than five years. The IE9 beta and release candidate have drawn a combined 40 million downloads, reflecting strong interest in the new browser. The on-screen interface has been retooled, with a streamlined approach and integration with the Windows 7 taskbar, among other new features.

But the under-the-hood changes are the most radical.

“If you look at the code path from when the user loads the web page in IE8 and when they load a page in IE9, it’s almost exclusively brand-new code,” Weber says. “We are a very different browser.”

Here’s how he describes the major changes …

JAVASCRIPT: “The web platform has traditionally executed JavaScript in an interpreter. There are some benefits to interpreters — they’re very easy to write, and they’re easy to port cross-platform, but they’re slow. With Chakra (the code name for the IE9 Javascript engine) we enabled native code generation. Inside Internet Explorer 9, we take the Javascript, and we compile that using background processing on the machine. Our compilation process doesn’t interfere with loading the web page or interacting with the web page. But we take advantage of all these extra resources that the machine has had, that the web platform has never really utilized, to compile that JavaScript down to native machine code — zeros and ones — on the CPU. The same compliation process that occurs with native C++ code, native applications. Now your Javascript applications are just as fast as native-compiled applications. You can see this in some benchmarks, like the WebKit Sunspider benchmark, where Internet Explorer 9 is now 10 to 20 times faster, depending on your hardware, than Internet Explorer 8, which is just using an interpreter.

GRAPHICS: “Graphics on the web have traditionally occurred on the CPU, the central processing unit. That’s unfortunate for two reasons. The first is, when you’re doing all that computing on the CPU, it takes away from the CPU doing other things, like executing JavaScript, or loading your page, or letting you interact with the page. The second reason is that every Windows machine that has shipped over the last 11 years has a GPU built in, a graphics processing unit. GPUs are massively scalable, they’re designed for graphics. They can perform graphical computation hundreds if not thousands of times faster than the CPU in many cases. As we looked at how we make this (graphics-related processing on the CPU) decrease, the GPU was the natural way to do that. Not only did we make this decrease, we’ve largely made this piece of the pie go away because this computation now happens in massively parallel ways on the GPU. … There’s a lot of ways to take advantage of the GPU, and different browser manufacturers are using different approaches. The approach that we took inside IE9 was to fully hardware-accelerate the browser. There’s all different types of things that can appear on the screen, graphically. Everything from images, to text, to video, to SVG, the HTML 5 Canvas capabilities. All of these capabilities, we now directly compose on the GPU. We don’t pass anything through the CPU and down to the GPU. Even some of our competitors, which are doing hardware acceleration, they’re still going through the CPU first, passing it over to the GPU. You can see some of the performance differences.”

LAYOUT ENGINE: “The layout engine inside Internet Explorer 8 was really designed for this traditional, static web page, and not these rich, interactive web pages. With IE9, we rewrote our layout engine from scratch, to be designed for rich, interactive sites. We have a team that spent many months decomposing the existing layout engine. In fact, it was the team that worked on the IE8 layout engine. So they had a lot of domain knowledge. They really spent several months decomposing the layout engine to understand how it worked, and really understanding standards, starting with CSS1 and CSS2 and CSS3, and understanding how web pages are written using layout standards today, and also looking at how CSS3, which is emerging, is going to change those patterns. We designed a very efficient layout engine, from scratch. Layout is a very algorithmically, computationally intensive process. Lots of little boxes and layouts and z-ordering. It’s about algorithms. A few members of that team are just algorithmic experts across Microsoft. And so we’ve spent the past close to 18 months now rewriting it from scratch. That’s actually one of the things that I’m most proud of — if you look at where we rewrote from scratch, that’s where we had the highest chance of compatibility issues (problems displaying existing pages). But with IE9, we have higher compatibility rates than any other previous version of Internet Explorer. It was certainly a risk, but it’s really paid off.”

The finished version of Internet Explorer 9 is expected to be available for download starting tonight, launching in conjunction with a Microsoft event at the South by Southwest Interactive conference in Austin, Texas.

[Follow-up: IE9 hits 2.3M: Firefox 4 set for March 22]

Like what you're reading? Subscribe to GeekWire's free newsletters to catch every headline

Comments

Job Listings on GeekWork

Find more jobs on GeekWork. Employers, post a job here.