Microsoft's Graphics Tweaks in Windows 8, IE10 to Boost HTML5 Apps
In its drive for better performance and improved graphics rendering, Microsoft has improved how its new operating system and latest version of Internet Explorer take advantage of hardware acceleration.
These changes will have a direct impact on how HTML5 elements in Metro apps and websites on Internet Explorer will be displayed. To that end, the company has focused on a few key areas to make the user experience fast and fluid, according to a Building Windows 8 blog written by Rob Copeland, group program manager on the Windows 8 graphics team.
3D graphics progress
While previous versions of Windows focused on improving 3D graphics and DirectX, the company focused on text rendering and 2D geometry rendering in Windows 8 and Internet Explorer, Copeland writes. The 2D geometry rendering engine specifically affects how bars, charts, graphs, diagrams, and user interface elements are displayed. The team focused on HTML5 Canvas and SVG technologies, Copeland says.
For Windows 8, improvements have focused primarily on "high-performance implementations of HTML5 Canvas and SVG technologies for use in Metro-style apps and webpages viewed with Internet Explorer 10," Copeland writes.
When drawing 2D figures, the platform uses Direct2D to get instructions from the app about what to draw, where on the screen, and the desired style. Direct2D then converts the commands to Direct3D to generate the desired output. For Windows 8, the software team worked with the hardware team to develop a new graphics hardware feature called Target Independent Rasterization (TIR) that would reduce the amount of CPU cycles required to convert to Direct3D. TIR enables Direct2D to give the GPU drawing instructions quickly and efficiently, without sacrificing visual quality, Copeland writes.
Huge performance gains
TIR improved the framerate for rendering anti-aliased geometry of SVG files on a DirectX 11.1 GPU. Charts on the blog post show performance improvements over Windows 7 ranging from 151 percent to 523 percent for various SVG files.
Another area of improvement comes in video, a big area for future HTML5 development. In games, the entire "scene" changes rapidly and the software has to redraw the entire scene in each frame in order to achieve a life-like and engaging experience, Copeland writes. In contrast, if there are only sections of the page that are animated, or a video is playing in a webpage, the browser needs to update only that portion of the window and not the whole screen. The team optimized how DirectX deals with redrawing just portions of the screen and how it scrolls, according to Copeland.
"As you can see, we've done a lot of work to enable a very fast and smoothly animated user experience in Windows 8," Copeland writes.
Support for Visual Studio LightSwitch
Windows 8 and IE 10 are not the only software packages getting some HTML5 love over the past few weeks. HTML5 support is finally coming to Visual Studio LightSwitch, the company announced last month at the TechEd conference. Visual Studio LightSwitch is a tool intended to simplify the development of custom database-driven business applications, and currently produces only Silverlight applications. The new update would mean LightSwitch apps could run on any platform with a supported browser, whether it is Android, iOS, or Windows 8. Even better, developers would be able to develop companion applications for mobile platforms in parallel with desktop Silverlight applications. LightSwitch would allow developers to build Silverlight and HTML5 applications side-by-side from one project.
Windows 8 is expected to go on sale this October, but Microsoft is getting ready to finalize the new Windows operating system in the next few weeks. I am sure that as the company wraps up work on Windows 8, we will see more details of what is under the hood, but until then, I would like to know what you think. Do you think these changes would deliver the improvements necessary to make HTML5 applications work seamlessly? Will the native support make the standard more appealing to developers? Let me know what you think in the comments section below.
About the Author
Fahmida Y. Rashid is a contributing editor for Slashdot and SourceForge.