Windows 8 enable applications to have the beautiful and high-performance graphics enabled by modern graphics hardware builds on the DirectX graphics. WinRT bring these capabilities to the full range of new Windows 8 applications.
Rob Copeland, a group program manager on Graphics team, details behind the scenes in enabling this new class of graphical application writes, "When we started to plan the work we'd undertake for graphics in Windows 8, we came up with four main goals: Ensure that all Metro style experiences are rendered smoothly and quickly; Provide a hardware-accelerated platform for all Metro style apps; Add new capabilities to DirectX to enable stunning visual experiences; Support the widest diversity of graphics hardware ever."
With Windows 8's new hardware acceleration, Metro style apps are rendered smoothly and quickly. New capabilities are now added to DirectX so stunning visuals are enabled. Microsoft is also supporting the widest diversity of graphics hardware ever with Windows 8. Windows 8 is set to support the broadest range of graphics hardware from lightweight tablets all the way up to high-end gaming rigs.
"We've done a lot of work to enable a very fast and smoothly animated user experience in Windows 8. From new ways to measure our progress, to optimizations for mainstream uses of our graphics platform, and new hardware features, we've created the best Windows graphics platform yet. And of course, we continue to push the envelope on immersive, three-dimensional gaming, with great performance and new features such as stereoscopic 3D," stated Copeland.
For measuring Metro app graphics performance, Microsoft measured them in a number of different metrics, including frame rate, memory and CPU utilization, the "glitch count", which measured how many times an app took more than 1/60th of a second to render, and the "Time to first frame" which rates how quickly it takes from when a person taps or clicks on a Metro app to when the first frame of that app appears.
Frame rate, for example, Windows 8 can deliver smooth animations at 60 FPS, while fitting nicely with computer screens with a refresh rate of 60 hertz.
There are many ways to look at mainstream graphics. "To ensure that our work would give users the right performance and the right experiences we studied many examples of both Metro style and desktop apps to understand how they used the graphics hardware," Copeland wrote.
"Text is by far the most frequently used graphical element in Windows, so improving text rendering performance goes a long way towards creating a better experience. "We've continued to improve text performance in Windows 8 by optimizing our default text rendering in Metro style apps to deliver better performance and efficiency, while maintaining typographic quality and global text support," he said.
"The most noticeable performance improvement can be seen when scrolling through a long document on a touch screen. The reduction in time required to render the characters frees up CPU cycles to handle other tasks like processing high-frequency touch input, or displaying more complex document layouts," he notes.
The chart below gives an idea of how much faster Windows 8 is in rendering text compared to Windows 7.
Microsoft also made dramatic performance improvements for 2D geometry rendering. For Windows 8, "our improvements in this area have primarily focused on delivering high-performance implementations of HTML5 Canvas and SVG technologies for use in Metro style apps, and webpages viewed with Internet Explorer 10," he said.
To improve performance when rendering irregular geometry (e.g. geographical borders on a map), we use a new graphics hardware feature called Target Independent Rasterization, or TIR. "We worked closely with our graphics hardware partners to design TIR. Dramatic improvements were made possible because of that partnership. DirectX 11.1 hardware is already on the market today and we're working with our partners to make sure more TIR-capable products will be broadly available," Copeland notes.
He said, "We've made several performance improvements for working with images and photographs using the JPEG, GIF, and PNG formats."
"Windows 8 takes 40% less time than Windows 7 to render 64images (4.38 seconds vs. 7.28 seconds)," Copeland stated.
Microsoft also created a new API set called "Direct2D Effects" that according to Copeland, " ... enable high-quality, hardware-accelerated effects to be applied to any image" including photos and user interface images.
For 3D graphics found in applications like games, Microsoft is offering Direct3D 11.1, the latest version of its long running API. Copeland states that the new version is also the foundation for 2D graphics support as well as 3D graphics applications.
The video below uses a test app to measure the decoding and rendering time for a set of images.
In another blog post, Microsoft explore in particular how you can create beautiful galleries with content from user's files and folders on the local file system.
"Being able to display local content is a key requirement for many gallery apps that let users browse and consume their content - photos, videos, music, or documents. Windows 8 provides tools to do this in a simple, efficient, and customizable way," Marc Wautier, Program Manager, Windows User Experience, stated.
To show this, Wautier walks through the "PhotoJournal app," a connected photo journal where users can view and manage their photos and videos using a timeline view.
You can see these guidelines in action in the File Picker:
- In a picture-centric view, what matters is the image thumbnail
- Users can usually identify a photo at a glance - often you don't need to show a file name. In fact, not showing it can reduce distraction and clutter
- Use the PicturesView thumbnail mode to get thumbnails with consistent aspect ratio for a clean and harmonious view
- Use simple placeholders to provide visual feedback while images are loaded in the view - this makes your app look faster
- Only show text that is useful for the user (for example properties that match the user's search query in a search results view)
- Provide additional info in a flyout that the user can access through a press and hold gesture
Microsoft also shared rescources:
Explains how to create a generic ListView
Demonstrates usage of the StorageDataSource and GetVirtualizedFilesVector to create a view based on local files
Provides sample item templates for ListView
StorageDataSource and FileInformationFactory API reference