Windows 8.1 is rolling out today, and with it comes the new Internet Explorer 11. To our pleasant surprise, IE11 supports WebGL - despite WebGL being based on OpenGL, the long-time rival to Microsoft's own DirectX. Microsoft deserve a lot of credit for this. Recently we've heard a lot about their commitment to open standards with IE, and this shows they're actually pretty serious about that. It's not just talk, they're actually shipping real standards-based features - hopefully a trend that will continue!
IE11 should also arrive for Windows 7 users before the end of the year, and we understand there should be a Windows Phone 8.1 update coming soon as well. The IE11 browser engine is also used to run Windows Store apps on Windows 8.1 (and Windows Phone 8.1 apps when it comes). Overall this is a pretty significant update for Construct 2 games across Microsoft technologies.
About a year ago we reviewed IE10 and found it disappointing. So what's new in IE11 and how does it hold up against the latest Chrome and Firefox?
WebGL in IE11
WebGL support in IE is great news for Construct 2 games. Now you can use WebGL shader effects and they'll also work in IE11+. This allows for games with much more advanced visuals, such as the 'Rain demo' example that comes with Construct 2. Note some effects are broken in r146 and earlier due to a bug in our WebGL renderer - preview or export with r147+ if you have trouble.
We've written previously on this blog about how WebGL support can significantly boost performance over the normal "canvas2d" renderer. So what kind of effect does this have with Construct 2 games in IE11? We ran our renderer benchmark which measures how many on-screen sprites the browser can manage at 30 FPS (links: WebGL test and canvas2d test). The test machine was running Windows 8.1 64-bit with an Intel Core i5-2500 (3.3 GHz), 8 GB RAM, and a nVidia GeForce GTX 660 graphics card.
It's a pretty big difference! WebGL rendering in IE11 is well over 10 times faster than canvas2d. This is in line with what we've seen from other browsers supporting WebGL. That should provide a nice performance bump for many games, and we're especially keen to see how this affects games on Windows Phone 8, where performance is even more important.
How does IE11's WebGL compare to Chrome and Firefox?
The last nice advantage of WebGL support is for retro-style games. It's important to ensure games that are designed with pixel art stay pixellated when scaled up. IE10 previously would use a blurry linear scale which would ruin the crispness of the artwork. Now with WebGL support IE11 can set point sampling and keep the retro look. IE11 also now supports this with its canvas2d renderer so you can get it both ways, but IE11 should always use the WebGL renderer unless you explicitly turn it off (which we don't recommend).
Fullscreen API support
The other main addition to IE11 on desktops is support for the Fullscreen API. This means the Browser object's Request fullscreen action can now work in IE11, which includes allowing iframe'd games to become fullscreen. It's a nice feature for extra immersion in your game and can be especially useful for arcades such as our own.
Support for Windows Store apps
Note that all existing apps in the Windows Store appear to still be using the IE10 engine, presumably for backwards compatibility. You'll need to publish your games again for Windows 8.1 in order to get the new IE11 engine with WebGL support. You also need Construct 2 r147+ to have the option to export to Windows 8.1, which then requires Visual Studio 2013 to publish.
What's the downside?
Unfortunately there are still a few things we're sad to see missing in IE11. Looking at ScirraMark we can see a few key features are still missing. Most notably there's no support for the Web Audio API, so advanced audio effects still won't work in IE. Ogg Vorbis audio is still not supported, and there's no word on WebRTC. There's no Gamepad support either, despite Chrome and Firefox supporting XBox 360 controllers! Finally IE11 still can't loop audio seamlessly, which is kind of ridiculous - listen to the background rain sound in the 'Rain' demo and you'll hear nasty gaps. That's another thing the Web Audio API does well.
Internet Explorer is still on a slow release cycle and still has lots of old versions hanging around. However this does seem to be beginning to change. IE now seems to be on an approximately yearly release cycle, which is better than it has been in the past. IE10 and newer have an 'Install new versions automatically' option which is on by default. But as things stand now, there's still a lot of IE8 and IE9 users hanging around who probably won't be upgraded, especially since IE9+ don't support Windows XP and IE11 doesn't support Vista. According to StatCounter less than half of all current IE users are on IE10, and it seems it will still be a while before the legacy versions disappear in to history. Meanwhile we only have one version of Chrome or Firefox to think about, and their latest versions still work well on Windows XP.
WebGL support in IE11 makes it a massive improvement over IE10 for HTML5 games. Support for shader effects and the performance boost are valuable for Construct 2 games. The fullscreen support is a nice touch, and it outperforms Chrome and Firefox in one of our benchmarks. However for us this doesn't quite outweigh the missing Web Audio API and Ogg Vorbis support, the fact older versions of IE still have substantial install bases and updates only come yearly, and the fact you can't benefit from these improvements if you're on XP or Vista. On that basis we still have to recommend Chrome and Firefox over IE11 for playing HTML5 games on the web. Despite that, IE is definitely moving in the right direction and is great news for developers publishing to the Windows Store, and IE12 has the potential to close the gap completely. We'll probably have to wait a year to find out about that though.