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

POST A COMMENT

29 Comments

View All Comments

  • ZeDestructor - Wednesday, May 27, 2015 - link

    There's a generic driver in Windows update you can use. It's not great, but it's something. It's also one of the major reasons I'm quite wary about buying AMD hardware for as well... Reply
  • jimmy$mitty - Wednesday, May 27, 2015 - link

    From a security standpoint, 10 will be more secure than 8 and vastly more secure than 7 since no one will have had time to really work the OS over for holes and vulnerabilities like they have 7 and 8.

    Every time Microsoft releases a new OS when tests are done it is always shown that the new one is stronger than the original. Of course over time new threats emerge but still I would take a clean install of 10 on release of a clean install of 8.1.
    Reply
  • Timbrelaine - Sunday, May 31, 2015 - link

    Eh. It's definitely a great thing and will make IE more secure, but those malware writers have been working on flash and java plugins for years. Reply
  • tipoo - Tuesday, May 26, 2015 - link

    Did IE11 use SIMD? Do other modern browsers?

    Just wondering if it was a novel feature, or just something they were reworking for it as it's not a final build yet.

    Not using SIMD would be pooping away a large part of what makes modern processors fast. Ask the nearly SIMD-less Wii U CPU!
    Reply
  • Brett Howse - Tuesday, May 26, 2015 - link

    No I don't believe any other browsers have SIMD at the moment, although I believe Firefox added it to the nightly build and it's on the table for Chrome. Reply
  • tipoo - Tuesday, May 26, 2015 - link

    Interesting. Some huge accelerations could be sitting right there on the table then. I'm surprised no one bothered before. Reply
  • dazzanz - Wednesday, May 27, 2015 - link

    Existing browsers use SIMD internally for many functions. It is just that SIMD has not been directly accessible from javascript. Reply
  • toyotabedzrock - Wednesday, May 27, 2015 - link

    Opera 12.x used SIMD. And profile guided complies. It is why certain test would run abnormally fast compared to every other browser at the time. Reply
  • lorribot - Tuesday, May 26, 2015 - link

    "Edge can now be updated through the Windows Store, which should allow them to quickly and easily roll out updates and fixes"
    Amazon would not state that changing from UPS to FedEx for deliveries is responsible for their expanded range, so why would MS changing to Store instead of Windows Update mean they will update the browser more frequently?
    True windows update is on a monthly cycle but the reality is that MS didn't do anything other than parching between versions so method of delivery is a moot point.
    A culture change were features and standards support are added at a faster rate, say monthly rather every 2 or 3 years, is what is required not a change of method of delivery.
    Reply
  • Alexvrb - Tuesday, May 26, 2015 - link

    Updating through the store mainly benefits the Mobile version, since you would no longer have to go through the carriers. It makes sense to make all versions of Edge work this way across all versions of Win10. I don't know how much it would help users of traditional systems, but I know some people that only install Windows updates once every decade (or so it seems), so this would keep their browser updated without them needing to do anything. Reply

Log in

Don't have an account? Sign up now