High performance HTML5 content in Metro-style Apps


Metro style apps in Windows 8 have all the performance benefits of IE10 when showing Web content. In Metro style apps, Web content is always JIT compiled and hardware-accelerated. Other platforms do not provide the same level of performance in apps. For example, Cocoa apps on iOS offer significantly worse JavaScript performance (via the UIWebView control) than the same content running in Safari. These Cocoa apps do not enjoy JIT compilation, and these apps cannot show and use Web content the same way the browser on the system can:

Chart showing that Web content in an Apple iOS app is over 3 times slower than the same content in Apple Safari on the same device.
Testing configuration: http://www.webkit.org/perf/sunspider/sunspider.html.
iPad: 1st Gen, iOS 5.0.1.
Windows 8: Developer Preview, Dell Optiplex 745, 64-bit OS.
Kindle Fire v1.

Why is this important?

Many applications embed HTML to provide a richer and always up to date experience for consumers. For example, the developer of a restaurant guide app might want to include a live map showing the locations of the list of restaurants the user is choosing from. If you write an app on iOS, common actions like panning and zooming the map will run twice as slow in an app compared with Safari.

Anyone writing a Metro style app for Windows 8 can easily include Web content in their app. In an HTML or XAML app, just include an <iframe> element or a WebView control to get the full benefit of IE 10 performance. To see a sample HTML app that demonstrates this, check out the “Building Your First Metro Style App Using Javascript” hands-on lab at http://www.buildwindows.com/Labs.

Screen shot of HTML Content from Bing Maps in an HTML Metro style app
Figure 1: HTML Content from Bing Maps in an HTML Metro Style App

With Metro style apps, it’s easy to integrate many existing Web services seamlessly into your app. It’s also possible to build new services for your app that let you deliver dynamic HTML content without having to update your application.

When you include Web content in your Metro style app, your app gets all the performance benefits of IE10 automatically without any additional or special work. JavaScript code continues to run fast with JIT compilation, and your app will automatically use GPU to accelerate HTML graphics.

—Andy Zeigler, Senior Program Manager, Internet Explorer

Comments (27)

  1. mars says:

    good :)

    but in IE complete black background is harm full for eyes.

  2. Stupid blog post says:

    What is the point of this blog post?

    So they have a bug to fix in their platform – SO WHAT? They've fixed this kind of thing before: arstechnica.com/…/ios-5-brings-nitro-speed-to-home-screen-web-apps.ars

    How fast is IE10 on Windows 7? Talk about that instead of this FUD.

  3. JM says:

    > "Web content is always JIT compiled"

    Even if the 64-bit version of Internet Explorer is running?

  4. Richard says:

    @Stupid blog post – it's not FUD. They're pointing out that they want to treat HTML5 applications as an acceptable method of creating an application for the platform and thus performance of their browser technology in this mode is important to them. Why be so testy?

    Given the overheads of running inside a different environment, I'd say it's pretty damn impressive that they managed performance parity.

    NB: Not that iOS's performance is the point of the article but, with regards to your link, the above metrics were tested with iOS 5 (as mentioned in the graph)

  5. hAl says:

    We do not have Windows 8 and i can't even install the preview of it on my laptop.

    It is now 17 month ago that IE9 beta was released.

    Still no sign of an IE10 beta.

    Still no sign of a preview for Windows 7

    What happened to the promises of a faster schedule of releases for new IE versions ?

  6. Mike says:

    Never upgrading to Windows 8.  It looks horrendous.  Windows 7 is where I stop and if forced then I will switch to something else.

  7. andyzei [msft] says:

    @JM – In Windows 8, yes.

  8. Anon says:

    OK, we get it. Internet Explorer and Metro-style apps which use it are JIT compiled and hardware-accelerated. We have been hearing the same story for a year and a half now; IE has full hardware acceleration. Is there anything else in IE10 though in terms of features or is hardware acceleration the only thing to brag about.

  9. Anti crApple says:

    Great post. Windows 8 so much superior to the slow and crappy and backward iOS and OS X, it's not even close. IE10 is incredibly fast on Windows 8, and so are Metro Style apps. NO OTHER OS in the world have this feature.

  10. Mitch 74 says:

    @andyzei: do you mean that JIT Javascript compilation will be DISABLED for IE10 in Windows 7 64-bit? Is there a technical reason for that, considering that other browsers do JIT compilation even in 64-bit builds without batting an eye?

  11. ieblog says:

    @Mitch 74: Andy means that JavaScript is JIT (just-in-time) compiled in IE10 for both 32- and 64-bit architectures.

    This is a change from IE9 where 32-bit is compiled but 64-bit remained interpreted.

  12. IE 9 did a good job making clean UI, supporting new standards, as well as performance improvement but failed to deliver fluid experience like Chrome. As the result, we still have the feeling of delay especially launching IE the first time takes longer time than Chrome or loading the page is still a bit slow. Additionally, there is also problem with release cycle, it will make IE become dated faster since other browsers speed it the process by providing new features, speed enhancement, and standard implementation within only a few weeks.

    Besides, I don't see anything new in term of new features for IE 10 (already checked it in windows 8). Metro IE is great but it's just a trimmed off version especially with plugin support removed. When most of PC users don't use touch screen and love using plugin, I can consider this is another failure until they change the decision to allow plugin. It's all about users choice whether or not to let these things in. It's Customization and options in Microsoft products- Microsoft philosophy that we love and hope to continue to do so.  

    I want another revolution as moving from IE8 to IE9. We want to have something that has the feel of lightness and simplicity like Google Chrome. One thing I suggest for IE10 desktop version is the easier way to bookmark a page. So instead of clicking the star, have it open sidebar>click "Add to Favorite">and finally click "add". You guys can simplify them into one step only.

    Just click on the star and page will be bookmarked automatically.

  13. Stephen says:

    Hey guys, if you don't care.. don't read.. blimey some of you people need anger management

  14. JM says:

    @ieblog & andyzei

    I'm still confused whether the JIT compiler for 64-bit IE10 will be available also in Win 7 or just in Win 8.

  15. ieblog says:

    @JM: All variations of IE10 on all supported operating systems have JIT-compiled JavaScript in both 32-bit and 64-bit modes.

  16. JM says:

    @ieblog Great news! Thanks for the info.

  17. Mitch 74 says:

    That's much more clear, thanks. However, there's still no plan to post IE10 to Vista, right? Poor Vista users who get the shaft…

  18. makita says:

    We can't waiting for IE10 on WIN7 anymore, soon will be one year from IE 10 preview on Win 7, IE9 is outdated now!

  19. Brenno says:

    Well, to be fair to iOS thanks to all their hard prioritisation and other trickery that are more the realm of a real-time OS the user might not notice it that much in the end. But I guess this too will have to change if you want to do more serious tasks with your tablet.

    Heh, nobody pointed out that the graph is showing Kindle fire apps JS/DOM performance being superior to the one in the browser.

    BTW, JITing for applications running the IE browser control will still be opt-in?

  20. Windows Fail says:

    The published news of the day is that Windows 8 tablets running on ARM architecture will ***NOT*** run classic Windows apps in the "pickup truck backend" part of the Windows 8 "El Camino" OS.

    This shows the fault of the El Camino OS and sheds light on how customers are going to **hate** the inconsistencies across Windows 8 devices…. since the only reason to get a Windows Tablet would be to have that fallback support for legacy windows Apps.

    That all said I'm glad Microsoft has finally put their browser first and is trying to fix the long standing bugs that have made it the embarrassment of the Internet Browsers.  With a whole lot of luck, IE actually has a chance of competing (or at least living up to) the current mobile/tablet browser king, WebKit.

    PS The comment form on this blog is STILL BROKEN!!! – whomever is in charge of maintaining it – please wake up and do something to fix it!!

  21. Mitch 74 says:

    @Windows Fail: I think the form's bug is that it fails only after you typed a lengthy comment (must be a problem with the integrated CAPTCHA timing out). Workaround: type your comment, copy it, refresh the page, past: now it works. Of course, it'd be better if the CAPTCHA could reset itself automatically…

    @Brenno: when Google finalise the integration of Chrome and Android, now THERE is going to be some speed gain in that browser – Android's Webkit-based default browser is quite clunky.

  22. acidcode says:

    Question: Will there be a beta/Consumer Preview of IE10 available for Windows 7 alongside the Windows 8 CP release? It's really annoying to be still stuck at PP2…

  23. Master of Desaster says:

    And by the way— HTML is not fast. Never.

  24. Jerome says:

    @Mitch 74 – "TIEBCF" (The IE Blog Comment Form) is broken due to a couple of classic web app development flaws.

    1.) Browser tabs share a session (by design!) and this is a good thing!

    - however TIEBCF uses the session to place tokens about the "page" being viewed not accounting for the fact that multiple pages might be viewed.  e.g. I open the IE Blog once every week or two… I "middle click" on all the posts that I'm interested in reading… and single click on the last post I want to read… creating a "set" of tabs.  I then view the **first** tab I opened… but if I go to make a comment on that tab… TIEBCF will **AUTOMATICALLY** REJECT it because according to "its" records, that wasn't the last page I was loading/viewing.  Classic ASP pages using postback have suffered from this bug for a long time.

    2.) From the best of my knowledge in the limited comments I've submitted there are 2 timers for comments (a too short, and a too long)

    - under normal circumstances the "too short" one makes sense – it is a good indicator of generated spam vs. well thought out comments… however on TIEBCF it is horrible because once your comment has failed once (and you were lucky enough to know that TIEBCF is broken and thus copied your comment to the clipboard) you are reloading the page, pasting your comment and submitting… which then triggers the "too short" timer.

    - the too long timer is worse!  a reader spends 10-20 min writing out a detailed comment only to find out that when they go to submit it TIEBCF swallows it whole with no recourse to retrieve it.  often followed by a quick rant comment to complain about the comment eating which then triggers TIEBCF's too short timer.

    3.) general buggyness with ASP postback forms.  When Microsoft tried to port the thick client form interaction to the web they built a convoluted solution with ASP forms and pagestate.  I won't go into a diatribe on this one but the Interwebz are full of stories of how ASP got it wrong, over and over.

    4.) comments in TIEBCF that contain links and or HTML also trigger the spam filter (e.g. silent deletion) which would again be fine on any other blog, but on the IE Blog… posting comments and links to specs/examples and/or code samples is **INCREDIBLY** desired! Yet punished frequently with auto-deletion.

    Long story short – TIEBCF has been broken for as long as I can remember.  The sad thing is it can easily be fixed but no one at Microsoft is willing to lift a finger on this one… which reflects badly on their commitment to the community.  Even more sad is that we've told Microsoft repeatedly how to fix this.

    a.) remove the timers

    b.) lighten up the link/code filters

    c.) use moderation vs. over zealous filtering  (e.g. let a post through first… then delete it after if you determine it is spam)  deleting it before a human can see it means that 80% of the time you are deleting VALID content!

    d.) change the form submission to an INPUT[TYPE=SUBMIT] button!!! works like a mother trucking charm! every ducking time! why mess with a perfected solution!!!

    jerome

    Now copying my comment to the clipboard (required!)… and posting. (FAILED SILENTLY)

    Now re-pasting and re-posting… waiting 15 seconds to overcome the too short timer…

  25. 4goTTen21 says:

    Why not to fuse IE in Windows Explorer? Even Explorer should have tabs to gain more productivity

  26. princemichael says:

    The standards compliant new direction for Microsoft gets my thumbs-up … and can't wait to update my Win7 to Win8 plus maybe a new Win8 tablet

  27. brywolf says:

    Unreal is reading the troll comments, both IE10 and Win 8 are leaps forward, however, already signs that because of turning  toward the dark side now they finally discovered modern UI/UX the lads at MS need to make sure they do not try to remove things the bulk of their users love, that their bread an butter….ignore the expert user and focus on the bread an butter users……but for god sakes stop the current blackout of your evanglest its lame and getting old.