
Original Link: https://www.anandtech.com/show/2966/internet-explorer-9-platform-preview-investigated
Internet Explorer 9 Platform Preview: Investigated
by Brian Klug on March 17, 2010 11:44 AM EST- Posted in
- Trade Shows
Yesterday, Microsoft launched the Internet Explorer 9 Platform Preview at MIX10. Though the current release of the platform preview is very rough around the edges, it promises to bring Internet Explorer into full web standards compliance, partially erasing the web-standard scourge that IE 6 still scandalizes on the internet. Some of the biggest applause-drawing moments happened when IE team members themselves mentioned how important rapid migration away from IE 6 is. What that means is W3C compliance is a very real and important goal, including complete support for HTML5, CSS3, SVG, XHTML, and H.264/MPEG4 HTML5 <video> playback. At the same time, Microsoft hopes to gain valuable insight from web developers about what direction the IE team should take.
JavaScript Performance
But some of the strongest focus of the IE9 platform preview is targeted towards raising the so-called "glass ceiling" on web browsing performance. Microsoft hopes to drive that performance cap higher half through GPU-acceleration for rendering 2D, 3D, and HTML <video> content, and the other half through an entirely new multithreaded JavaScript engine codenamed "Chakra."
Microsoft provided a number of slides comparing JavaScript performance of IE 9 in its current preview, and claims it's at party with Firefox 3.6 and nearly as good as Chrome 4.0.249.89 (stable) tested with SunSpider 0.9:
I initially attempted to validate and reproduce these results on my Latitude XT, and saw something very strange:
I ran and re-ran the test several times; for whatever reason, IE 9 Platform Preview doesn't like my Latitude XT running Windows 7 with a Core 2 Duo U7600 with 3 GB of RAM. Puzzled by the discrepancy, I ran the same tests on another computer running Windows Server 2008 R2 with a Celeron E3400 2.6 GHz with 4 GB of RAM. This CPU is essentially a Core 2 Duo with just 1 MB of L2 cache.
The results were much better:
I realize there's a slight discrepancy between the builds of Chrome on each test bed, however the JavaScript engine itself remains relatively unchanged; performance is on a nearly identical level. Obviously, something on the notebook hinders IE 9's performance dramatically.
Another interesting benchmark we considered was how well IE 9's codename "Chakra" JavaScript engine scales per thread. I was in the process of firing up IE 9 platform preview again to evaluate SunSpider results with different processor affinities toggled, when I was greeted with this:
Uh oh
Considering how early of a preview this is, it's completely understandable that not everything is working properly across every system configuration. I've submitted feedback and a bug report, and plan on continuing to investigate the discrepancy.
It's important to note that IE9 in its current form isn't really a beta, it's somewhere between an alpha and a beta. Microsoft describes this release as "just enough of a slice of the browser" to both let web developers and designers try the new rendering engine, flesh out what HTML5 markup is most favored, and start to get feedback flowing. There's nothing in the way of a back button, tabs, address bar, or favorites. It's just a barebones Trident-wrapper that gives a relatively complete perspective on the direction Microsoft hopes to take IE. They promise to adhere to a strict eight-week schedule for updating the platform with improvements, addressing issues at each step, and increasing their Acid3 score every step of the way. More on that later.
Initial Perspective
But enough with that, let's take a look at it by loading anandtech.com:
It throws an error about scripts; again, there are bound to be problems given the massive rewrite of the JavaScript engine, but otherwise it seems to run. Other than that, yeah, the UI exactly what you see: totally bare-bones. Control-O for opening an address, and F10 for home will get a lot of use if you decide to try this preview out. As mentioned earlier, there's no back button or keyboard shortcut for it at all.
Standards Compliance
That aside, virtually everything else works the way you'd expect it to. The few number of sites I visited all appeared to load (minus a few script errors) without any obvious visual problems. Among the most intense of examples I frequent is newspond.com, which uses purely CSS to deliver what I think is one of the most haptic and interactive news aggregation websites around. It's a qualitative test, but I've found that it's surprisingly real-world.
Microsoft took a quick jab at the ACID web compliance tests during the MIX10 day 2 keynote, most notably the ACID 3 test, which it currently doesn't pass:
The IE team is busy working on making IE 9 Acid3 compliant, but noted that because the HTML5 spec is still evolving, they aren't focusing exclusively on just making IE 9 pass one test. During the keynote, Dean Hachamovitch noted, "some people use Acid3 as a shorthand for standard support. Acid3 is kind of interesting, it exercises about 100 tails of about a dozen different technologies. Some of them are under construction, others less so... we will continue to make progress on the Acid3 test. The score will continue to go up as we make more of the markup that developers actually use, work."
There's something to be said for real-world testing and taking synthetic benchmarks with a grain of salt; it's something the GPU-testing community has known and practiced for years. To that extent, IE went ahead and developed its own testing suite, which you can find at http://ie.microsoft.com/testdrive/.
Dean illustrated a compelling example showing the CSS edge pattern rendering differences between the latest builds of Chrome, Firefox, and IE 9. Note as well the browser-specific prefixing required to get near the same border patterns:
Firefox 3.6 at left. Chrome (stable) at right.
IE 9 Platform Preview
This is something you can easily replicate for yourself using the latest browsers and the test pages noted previously.
GPU Accelerated HTML5
The strongest bid IE 9 is trying to make against its competitors is that of superior, GPU-driven performance. For quite some time, the bar has been steadily raised in the JavaScript engine domain by continual competing releases of Chrome, Firefox, and Opera. However, HTML5 <video> asset tags mean that (should the standard catch on) browsers themselves (rather than plug-ins) will be a huge contributing factor for playback performance. Microsoft showed a rather compelling demo with two GPU-accelerated videos simultaneously playing back in the browser on a (ostensibly ION-based) netbook with minimal to no stutter. Surprisingly, HTML5 <video> is not enabled in the consumer preview out now. Microsoft offers a relatively curt explanation why:
"The demo of HTML5 <video> at MIX10 was a preview of a future release of the Platform Preview."
It's likely that there still are GPU vendor-specific issues that need to be worked on before they're comfortable releasing a build with support. Until then, it's impossible to really know how IE 9 HTML5 video playback stacks up against Chrome and Firefox's implementations.
In addition, they showcased the subpixel-rendering capabilities that they can leverage that other browsers still lack.
But the big performance boon comes for both 2D and 3D HTML5 display acceleration. One of the demos given the most stage presence during the keynote consisted of a grid of spinning browser logos nicknamed "spinning images." It represents what Microsoft considers an ideal showcase for the dramatic performance increases possible with GPU accelerated graphics in-browser. I went ahead and decided to run my own tests across a number of browsers. Pay attention to image quality as well.
First up is IE 8, which struggled to render a mere 1-2 FPS. You can see the banding which was evident virtually the entire time. Image quality, however, is good.
Next up is Safari 4.0.4. Image quality of the scaled logos in the extreme back and far front is likewise very good, however Safari too struggles to render more than 2-3 FPS.
Next, Firefox 3.6. Performance here is dramatically better than Safari or IE 6, however look at the images in the extreme background and extreme foreground. There's obvious image-degrading nearest-neighbor downsampling going on, resulting in horribly blocky logos. Performance is more than acceptable, but comes at the price of quality.
Chrome's performance is surprisingly bad given its stellar reputation for performance, but unsurprising given the poor performance of its WebKit brethren, Safari. Again, image quality is very good, likely at the cost of performance.
Finally, IE 9 Platform Preview gives the highest performance yet, at around 58-60 FPS. At the same time however, image quality sits somewhere between Firefox 3.6 and Safari/Chrome/IE 8. It's obvious that there's some downsampling here that isn't 100% quality-friendly, however, there's significantly less blocking. Detail is still a bit strange inside the black Safari logo.
Obviously, we have to take these results with a bit of skepticism; the IE team has had the time to optimize their platform preview to the technology demo they saw think shows off their platform best. That said, there are clear and obvious performance benefits to be had from GPU acceleration in the browser.
It hasn't been made entirely clear what system requirements are necessary for GPU accelerated content, however, they're apprently enough to completely preclude Windows XP from running IE 9 platform preview. Integration is likely tied to Windows Display Driver Model (WDDM) given the strict Windows Vista (with a platform update) or Windows 7 requirement.
Final Words
Whatever the case, it's obvious that Microsoft has heard developers plea for improved standards compliance and dramatic performance improvements across what remains the world's largest browser platform. Microsoft has been acting a lot like Google or Apple lately, evidenced through an open feedback platform preview such as IE 9, and showing an awareness for the seriousness of both its competitors browser and mobile device offerings.