Windows 7: Release Candidate 1 Preview
by Ryan Smith and Gary Key on May 5, 2009 11:00 PM EST- Posted in
- Systems
Getting Dirtier: Graphics
With the majority of the under the hood work focusing on graphics, there’s a lot to cover, so let’s get started.
Although it is being released for Vista too, Windows 7 marks the official introduction of Direct3D 11. As a superset of Direct3D 10.1, Direct3D 11 adds support for tessellation, multi-threaded rendering, and GPGPU abilities via the Compute Shader. We’ve already covered a great deal on Direct3D 11, so please see our introduction article on it for more details.
Next up we have the Windows Display Driver Model 1.1, which in turn is the lynchpin for several other graphics related features. WDDM 1.1 itself is not particularly impressive, but it’s what it allows that is. For all practical purposes, all we need to know about WDDM 1.1 is that it’s a minor revision of WDDM that requires DX10-class hardware (rather than DX9-class on WDDM 1.0) and as such allows the operating system additional features.
So what can you do with WDDM 1.1? For starters, you can significantly curtail memory usage for the Desktop Window Manager when it’s enabled for Aero. With the DWM enabled, every window is an uncompressed texture in order for it to be processed by the video card. The problem with this is that when it comes to windows drawn with Microsoft’s older GDI/GDI+ technology, the DWM needs two copies of the data – one on the video card for rendering purposes, and another copy in main memory for the DWM to work on. Because these textures are uncompressed, the amount of memory a single window takes is the product of its size, specifically: Width X Height x 4 bytes of color information.
Image courtesy Microsoft
Furthermore while a single window may not be too bad, additional windows compound this problem. In this case Microsoft lists the memory consumption of 15 1600x1200 windows at 109MB. This isn’t a problem for the video card, which has plenty of memory dedicated for the task, but for system memory it’s another issue since it’s eating into memory that could be used for something else. With WDDM 1.1, Microsoft has been able remove the copy of the texture from system memory and operate solely on the contents in video memory. As a result the memory consumption of Windows is immediately reduced, potentially by hundreds of megabytes.
What makes this even more interesting is how this was accomplished. With WinXP, GDI+ was partially accelerated, but this ability was lost to little fanfare when the DWM was introduced for Vista and thereby made GDI+ acceleration impossible, pushing all GDI work back to the CPU. This in turn is responsible for the need for a local copy of GDI and GDI+ windows and the increased memory usage of Vista, as reading data back from the video memory for the CPU to work on is too slow to be practical. The solution as it turns out is that by reintroducing GDI acceleration, the amount of read-backs can be minimized to the point that a local copy of the texture is no longer necessary. Now GDI isn’t completely accelerated, only the most common calls are, but this is enough that when the least common calls trigger a read-back, the performance hit is negligible.
This is one of the bigger changes in Windows to get memory consumption under control. The problem was particularly bad on netbooks and other systems with integrated graphics, as the video memory is the system memory, resulting in two copies of the texture being in the system memory (something such a machine probably has little of in the first place). The fact that this requires a DX10-class card with a WDDM 1.1 driver needs to be reinforced however – this won’t be of any help for systems with lesser GPUs, such as Atoms paired with the 945G chipset, as the GMA 950 GPU on that chipset is only DX9-class. NVIDIA, no doubt, is grinning from ear to ear on this one.
The other big trick as a result of WDDM 1.1 is that support for heterogeneous display drivers has returned. With WDDM 1.0 and its homogenous driver requirement, computers were limited to using video cards that would work with a single driver – in turn limiting a computer to video cards from a single vendor. With heterogeneous driver support, computers are once again free to use non-matching video cards, so long as they have a WDDM 1.1 driver. Besides that, this also is a boon for GPGPU use, as GPUs continue to interface with Windows via WDDM regardless of whether they’re actually displaying something or not. For example, this would allow NVIDIA to sell video cards as GPGPU processors to ATI owners, and vice versa.
WDDM 1.1 also brings a few lesser features to Windows 7. The DWM can now run in DX10 mode and new controls are introduced for aspect ratio scaling and controlling monitor modes.
Moving on from WDDM 1.1, Microsoft has also introduced some changes to GDI that do not require new display drivers. Along with requiring a local copy of window textures, the GDI stack was locked so that only a single GDI application could access it at a time. The GDI stack has been rebuilt so that the lock is more or less removed. Multiple GDI applications can now issue commands to it at the same time, and this is all pushed off to the video card to be its problem.
Images courtesy Microsoft
Unfortunately Microsoft has not provided us with any examples of this in action, so we’re not sure just what the real-world benefit is.
Next up, more DRM. Although we’re not entirely sure what has been changed, Microsoft has told us that they have made some changes with respect to DRM and GPU acceleration. Previously some applications playing DRMed content needed to switch to overlay mode to ensure the content was protected the entire way through. Likely this is a new low-level API for such functionality; Microsoft’s notes mention a standardized API for CPU to GPU encryption.
Last but not least, we have two new high-level graphics APIs in Windows 7. The first is Direct2D, the successor to GDI and a replacement for some Direct3D functionality. Like Direct3D, Direct2D is a fully hardware accelerated API, but it’s only for 2D operations. When Microsoft deprecated DirectDraw, the intention was for developers to use Direct3D for all of their 2D needs, but this never quite worked out as well as they intended. So now we have Direct2D, which gives developers a dedicated 2D API once again, along with a clear replacement for GDI.
Also introduced is an API specifically for text, DirectWrite. Where Direct2D works on 2D primitives, DirectWrite is responsible for the hardware anti-aliasing of text. NVIDIA sent us some documentation on the matter, and apparently the anti-aliasing method used (YDirection Antialiasing) can provide even better smoothing than ClearType can alone. It does not sound like any Windows components are currently using DirectWrite however.
Hardware font anti-aliasing in action. Image courtesy NVIDIA
We should note that while the “Direct” name implies these APIs are a part of DirectX, all of the material we have on the matter only mentions Windows 7. They may not be part of DirectX, in which case they would not be added to Vista as part of DirectX 11.
121 Comments
View All Comments
thebeastie - Wednesday, May 6, 2009 - link
I guess what would be the most naive is to think that Windows 7 is about anything else but money, I mean they could easily improve Vista to have every feature that Windows 7 has, but they wont.MS has handed out whole new versions of DirectX and just about every other type of similar feature that is in Windows 7 so forth via service packs in the past.
Some how come that is not possible these days? Its just about treating us like complete fools.
B3an - Friday, May 8, 2009 - link
...You do know you're talking to yourself thebeastie??Are you really this stupid or is apple paying you to write this?
SkateNY - Wednesday, May 6, 2009 - link
Microsoft is a company in decline. It's top managers, supporters, fanboys, and investors are all in denial about this.Their most recent OS was and remains an abysmal failure. Their attempt at competing in the MP3 market is a disaster, no matter how many people tell us that they love their Zune. Their "loss leader" in game consoles is just that...a leader in losses.
Want proof? Look at the stock price for the past five years...at least five years.
MSFT investors are desperate. They'll say and do anything to make others believe that the company is doing as well now as they were doing before they were adjudicated by the US Department of Justice as violating the Sherman Anti-trust Law in restraint of trade.
They've lost a great deal of their investments over the past ten years. They're so desperate that they need to tell themselves -- and anyone who will listen -- that this is a great company.
Sorry, but as is true in the rest of the real world, what has Microsoft done for anyone invested in them lately? The soft answer would be "nothing." The truth is that they've damaged their investors through bad judgment, poor management, and malfeasance.
What they've done is move a great deal of their previously loyal customers to Apple and Linux. And a large percentage of them who haven't made that move are looking into it.
It's a sad story. With so many resources, the best they could do was barely maintain their core products...Windows and Office. Not enough. The rest of the tech world is passing them by, and they don't seem to have a clue.
piroroadkill - Thursday, May 7, 2009 - link
Huh?Microsoft aren't going anywhere.
SimpleLance - Wednesday, May 6, 2009 - link
"It's a sad story. With so many resources, the best they could do was barely maintain their core products...Windows and Office. Not enough. The rest of the tech world is passing them by, and they don't seem to have a clue."Who in the tech world is passing them by? Linux? There is nothing in the Linux world that is an innovation. Everything is a just a bad copying of what they see in Windows. Same goes for OSX. Name a technology from Linux or OSX, and you will find that in Windows years ago.
In the mean time, there is a lot of Windows features that neither OSX or Linux has.
BitLocker drive encryption - OSX only has folder encryption. Windows has had that since Windows NT 3.x.
Active Directory - now being copied by Linux
Access Control List - only recently added in OSX. Has been in Windows NT 1.0.
Remote Desktop - no equivalent at all in Linux or OSX. All they have is VNC. VNC started in the Windows world that got implemented in Linux and OSX. That is the worst form of remote desktop (screen scraping). Its like a high school student's home work. With Remote Desktop, Windows users threw away VNC as trash, and Linux/OSX picked it up - they really have nothing else, but junk.
SMB - copied as Samba. Where is AppleTalk now? Apple does not know how to write an OS. They had to take BSD.
DirectX - makes Open GL like a kid's work.
Etc. etc.
Who again is overtaking who?
New in Win7...
BITS Branch Cache (Vista had something called Peer Cache) - serverless P2P.
Support for TRIM command for SSD - now perhaps being added to Linux. Another me too effort. Definitely not in OSX.
Improved (less chatty) SMB - Samba is behind again. Nobody in the Linux world could make a better SMB. MS had to do it.
VHD Booting - Linux folks probably scratching their head now. What is that? they say. How do we copy that?
Plus all the other eye candy that people talk about.
Hgr - Friday, May 29, 2009 - link
"In the mean time, there is a lot of Windows features that neither OSX or Linux has."I am sure of that, but of those you are listing here, many simply do not apply.
"BitLocker drive encryption - OSX only has folder encryption. Windows has had that since Windows NT 3.x."
BitLocker is a trademark of Microsoft, so it will be difficult to find it in non-Microsoft operating systems. If you're looking for drive encryption in Linux, distributions have been supporting this for years.
"Active Directory - now being copied by Linux"
Yes, the Samba folks are quite active in reimplementing AD in Samba 4 - as a means of Windows interoperability. Note that DNS, LDAP and Kerberos, the three most important of the protocols that AD is built upon, have been copied by Microsoft from Unix systems. They have been available for Linux de facto from their inception.
"Remote Desktop - no equivalent at all in Linux or OSX. All they have is VNC. VNC started in the Windows world that got implemented in Linux and OSX. That is the worst form of remote desktop (screen scraping). Its like a high school student's home work. With Remote Desktop, Windows users threw away VNC as trash, and Linux/OSX picked it up - they really have nothing else, but junk."
Just because you don't know better solutions does not mean that there are none. VNC certainly isn't a native Linux remote desktop protocol, much less a universal tool for everyday work (it has not been designed to be one). For years, X11 SSH tunnelling has been available. For those who want a low-latency remote desktop, the NX compression protocol and software suite have been available for quite some time, and many are perfectly happy with it. Linux's NX can compress even Windows RDP even further. ;-)
"DirectX - makes Open GL like a kid's work."
Just because DirectX is good for making games does not make OpenGL "a kid's work". After all, DirectX is more akin to SDL than to OpenGL. OpenGL has clearly a different target audience - it is used to build industrial software. Is it surprising that it's different?
"SMB - copied as Samba. Where is AppleTalk now? Apple does not know how to write an OS. They had to take BSD."
Actually, SMB was not invented "at Microsoft". It is an intellectual child of three companies - IBM, Microsoft, and 3com. Many operating systems have later adopted this protocol. Surprising, again? We want to be able to talk to other systems so we adopt it. In Linux, you can use at least half a dozen networked file systems.
"Improved (less chatty) SMB - Samba is behind again. Nobody in the Linux world could make a better SMB. MS had to do it."
Why hasn't it been less chatty before? :-) Well, of course, Samba is behind, Microsoft is in charge of updating their broken protocols, the Samba team is not going to do this for them. A Linux user simply uses a less chatty (less broken?) protocol.
"Support for TRIM command for SSD - now perhaps being added to Linux. Another me too effort. Definitely not in OSX. "
Linux kernel and its file system modules have been ready for this since half a year ago, according to one of the leading Linux file system developers. And it is no "me too effort", not as long as it is not Microsoft that invented it a started manufacturing the devices. Are you trying to imply that for any hardware feature, there is only one OS allowed to support it without being accused of me-too-ism, and that all other systems that include support later are just copycats? Great, I've mentioned Kerberos. Good to see that MS joined the "I want it too" crowd. :-)
andrihb - Wednesday, May 6, 2009 - link
In your dreams, maybe.strikeback03 - Wednesday, May 6, 2009 - link
Unfortunately, there are plenty of applications that don't run natively in any *nix (Adobe is my problem) so some version of Windows is the only option.coolkev99 - Wednesday, May 6, 2009 - link
I don't buy an OS based on company stock price.C'DaleRider - Wednesday, May 6, 2009 - link
[quote]Look at the stock price for the past five years...at least five years.[/quote]OK...I did....and the stock price 5 years ago was in the $24/share range, as it was 4 years ago, 3 years ago, 2 years ago, last year. In fact, it's been around $24 per share going back almost 10 years ago.....although just after the beginning of 2000 it spiked to $48 per share, but then the dot com bubble burst and every tech stock fell, MS's included. The release of XP did give a bump to roughly $34/share, but again fell back to its "base" of around $24/share.
Sorry, but this is the first fact you are sadly misinformed on.
Then, the investors. Don't think most are crying and desperate at all. MSFT has been paying dividends every quarter, like clockwork. Granted, since Vista's release, it's not been spectacular, but has been fairly consistent.
Consider MSFT's 5 yr. net profit margin, 27.9%, is still well above sector and industry average. The company's low price-to-earnings ratio -- which Oakmark Fund places at less than nine, based on estimates for this year's earnings -- is closer to seven if you exclude the $4 a share in net cash.
Nicely, the stock is also currently sporting a dividend yield of 3%. But one problem is that investors, especially individual investors, put too much focus on growth expectations and too little focus on price.
Here's another tidbit you overlooked in your bashing.....MS had an EPS of $1.87 in '08, its highest EPS pay since '99. And MS's net profit has grown from '04-'08, every year. (FYI...net profits were, from '04-'08: $8.1B, $12.2B, $12.6B, $14B, and $17.6B).
Granted '09 will be "dismal," it's been dismal for everyone. But MS will still show a net profit and is paying nice dividends on its stock.
And as for everyone crying and gnashing teeth about MS, I wonder why Barron's, and every other analyist, puts Microsoft as a strong buy and NOT ONE has MS as a sell of any sort.
And game consoles? MS never planned to turn a profit on each...it IS a loss leader, just like the PS3. The games themselves are the profit center. Always has been like that and probably will always be like that.
So, where's the panic? Where's the problem? MS is still sitting on over $640M in cash reserves.....something a lot of companies can only wish to have.