Microsoft is pushing their new Edge browser (formerly Project Spartan) as the replacement for Internet Explorer 11. Back on May 5th, Microsoft opened up the Microsoft Edge Dev Blog and ever since then they have been bringing to light a lot of the changes that are coming with Edge. One of the first posts was detailing what has been changed with Edge as compared to Internet Explorer 11.

Edge is not a completely new browser. Internet Explorer was based on the Trident web rendering engine, and the Chakra ECMAscript engine, and these continue to be the basis of Edge as well. However Edge will not have any of the legacy compatibility requirements of Internet Explorer, which has allowed the company to strip out a lot of unnecessary code. According to Microsoft, over 220,000 lines of code have been removed to strip out the features that are no longer part of the modern web. This includes things like ActiveX extensions, Browser Helper Objects, IE Document Modes, Vector Markup Language, VBScript, and more. For a full listing, check out their blog post here. They obviously did not just stop at removing old code though, and over 300,000 new lines of code have been added for 49 new features and over 4000 interoperability fixes.

Microsoft is pushing Edge as a standards compliant browser, and they have quite a bit of work to do in this regard since Internet Explorer, even at the latest version 11, did not support a lot of the standards that were upcoming. This is always a moving target, and in the past browser upgrades were slow to happen if they happened at all. IE seemed stuck out of sync with the rest of the browsers. The company seems to want to avoid that going forward, and one of the ways this will happen is that Edge can now be updated through the Windows Store, which should allow them to quickly and easily roll out updates and fixes. One thing they want to avoid if possible is vendor prefixes for experimental APIs. They will still have to support some, since they are in use on many pages, but going forward they want to eliminate any new MS prefixes if they can, and instead will be offering experimental API support through feature flags.

Chakra is the browser’s scripting engine, and it is getting a lot of updates as well. One of the most requested is the addition of Asm.js to the browser. Asm.js is a sublanguage which allows sandboxed execution of memory-unsafe languages. Toolchains are available to convert C/C++ code into Asm.js, and technologies which leverage this are things like WebGL and gaming engines like Unity and Unreal. These new features will also bring Single Instruction Multiple Data (SIMD) support to Chakra, and Microsoft got assistance with this work from Intel, so it will likely leverage Intel’s SSE extensions. Using the SIMD Mandebrot demo, Edge with SIMD support performs 200-300% faster than Edge without the support enabled, so there is a lot of performance potential here. Intel has also helped reduce navigation time and has helped reduce DOM parse times. SIMD support is something that Intel is also bringing to other browsers, but the main point is that Edge will have it as well, which should promote the use of these kinds of features on the web as a whole.

Back in January I was able to run the new Edge browser code (in IE 11 at the time) through its paces and it really was a large leap forward in performance. On May 20th, Microsoft revealed some of the changes they have made to Chakra to make such large gains. ECMAscript leverages Just-in-Time (JIT) code compliation, which means that the script is compiled into code on the fly, rather than ahead of time (AoT) compilation. Enhancements have been made to Chakra’s ability to move external functions into the running code (function inlining) and especially when the code is defined across JavaScript files. This helps reduce the overhead of function calls, which force the system to push relevant data to the stack, and bring it all back when the function returns. All browsers do this in one way or another, but IE 11 was not efficient at doing this across different script files, so Edge has a big edge here (pun intended). Performance improvements were also brought with some of the changes in ECMAScript 2015, which is the latest iteration the scripting language. It brings about a new data type of a constant value, which was not available in prior versions of the language. Chakra’s JIT compiler will now optimize existing code to identify non-constant variable declarations defined globally, but do not change, and therefore they can be identified as constants to reduce the overhead of lookups. Another big change is a how Arrays are handled, and here Chakra in Edge is up to five times faster than IE 11.

Chakra Execution Pipeline

A new feature that is currently unique to Edge is the ability to support Multi-Channel audio through Dolby Audio. Edge will support Dolby Digital Plus and is supported with current DASH (MP4) and HLS (M2TS) file formats. This means that there will be support for both progressive download content and adaptive streaming content. Dolby has a Dolby Audio Experience demo which leverages WebGL if you want to try this out for yourself.

These are just some of the changes coming to Edge. After years of trailing the browser pack, it certainly seems like Microsoft has stepped up their game. Performance is much better in Edge than their outgoing browser, and it is picking up standards support much earlier. Edge already supports 81% of the ECMAscript 2015 features, which leads all other desktop browsers for the moment. HTML 5 standards support is also much improved. Browsers are one of the most important tools we have on any device, and it looks like Windows 10 is going to bring its best forward. I can't say I love the icon, but that can always be changed.

Source: Microsoft Edge Dev Blog

Comments Locked

29 Comments

View All Comments

  • B3an - Wednesday, May 27, 2015 - link

    "so why would MS changing to Store instead of Windows Update mean they will update the browser more frequently?"

    Because they've specifically fucking said so, multiple times.
  • althaz - Friday, May 29, 2015 - link

    Edge is decoupled from the OS - it's an application like Chrome is, so it can be updated whenever the Edge team is ready to add new features. Previously, IE was never really upgraded outside of major OS releases. That's why IE10 and IE11 were considered fairly cutting-edge in a lot of ways when they were released, despite being well behind the competition about six months later.
  • mavere - Tuesday, May 26, 2015 - link

    They already support AAC. Why not just use multi-channel Opus or HE-AAC? Dolby codecs are fine in large capacity optical discs and where receiver support is paramount, but the web would value per-bit efficiency much more.

    On one hand, it's nice to have the possibility of putting E-AC3/DD+ directly onto the web and be able to play it natively in IE. On the other, it's highly likely that the file was already transcoded from its original bitrates (because this is the **internet**, where access and load times are key), so I'd rather they'd push something technically superior.

    ( Relevant: https://tech.ebu.ch/docs/tech/tech3324.pdf )
  • jjj - Tuesday, May 26, 2015 - link

    lol spotted the term"Edge" and clicked on it expecting something on the S6 Edge
    SKYpe, Metro, Edge, seems like M$ just can't come up with any original brand names..
  • Michael Bay - Friday, May 29, 2015 - link

    >M$

    Look who`s talking.
  • B3an - Tuesday, May 26, 2015 - link

    In the latest Win10 build Edge is beating Chrome at Googles own Octane benchmark.
    It's also the fastest with Sunspider and JetStream benchmarks.

    I hope they update the browser through the Store atleast every couple of months to keep competitive with performance.
  • toyotabedzrock - Wednesday, May 27, 2015 - link

    Opera 12.x used SIMD for their JS engine. It is why you it ran certain test so much faster than every other browser.
  • CiccioB - Wednesday, May 27, 2015 - link

    Opera was THE browser.
    Now it's dead, unfortunately.
    Killed by the marketing people that screamed for more market share.. and lost even the smallest one hey had. But now we have Opera 29.. don't you feel it as good as Chrome and FireFox which are on about the same order of magnitude for their latest version?

    I wonder when this mania for versioning major release after some fixes and small improvements has ever started.
  • jimmy$mitty - Wednesday, May 27, 2015 - link

    With Google and their Chrome. That was the browser that started the version upping with every slight change. Before that when IE9 was out it was going up against FireFox 4. Then Chrome came out and now even FireFox is doing the same thing.

Log in

Don't have an account? Sign up now