Windows 7 Way Smarter With Graphics RAM

In an earlier article, we described an advancement that the Windows 7 team made with desktop graphics by allowing more than one application to access the GDI (graphics device interface) stack at a time.

Allowing for more parallelism in the GDI will noticeably make things more responsive, but that wasn’t the only evolution that the software team made for the new OS. Windows 7 will now be more efficient in its use of RAM, which will have the positive effect of making everything run smoother – particularly on systems with shared graphics memory.

In Windows Vista, the more application windows you had open, the more memory required. Every window accounts for two memory allocations – one in video memory and one in system memory – which hold identical content.

The DWM (desktop window manager) is responsible for drawing the desktop with the GPU, which obviously requires the application window data in video memory. The same application window data is duplicated again in system RAM for the CPU to render independent of graphics hardware. This was inefficient obviously because of data redundancy.

Windows 7 changes this by getting rid of the system memory copy entirely, which effectively cuts the memory consumed in half. Unlike the changes to the GDI stack detailed earlier, this new memory-saving behavior requires new drivers.

“We achieved the reduction in system memory by accelerating the common GDI operations through the graphics hardware - the WDDM drivers accelerate these to minimize the performance impact of the CPU read-back of video memory,” explained Ameet Chitre, a program manager on Microsoft’s Desktop Graphics feature team. “Since you save a lot of system memory, the paging activity gets reduced – as a result, your system responsiveness improves for the same workload.”

The new drivers that support the memory-saving change are designated WDDM 1.1. Older Windows Vista WDDM 1.0 drivers will still work fine with Windows 7, but do not take advantage of the new feature.

This change positively impacts real-world usability, but benchmarks may show a degradation in performance since the CPU has to fetch data from video RAM.

“The elimination of the duplicate system memory copies which ‘speed up’ certain operations introduced slightly reduced performance as the CPU now has to read data back from the video memory. An analysis of real-world application statistics showed that these operations were rare,” Chitre said. “Our observation has been that these slow-downs do not impact the end-user functionality directly and that the memory savings directly result in Windows 7 being much responsive overall.  The improvements overall are definitely noticeable on memory constrained PCs with shared memory graphics.”

The close-to-completion Windows 7 is nearly upon us. We learned on Saturday that the Release Candidate will be hitting MSDN and TechNet subscribers on April 30 with the public getting their Windows 7 RC download links on May 5.

Create a new thread in the UK News comments forum about this subject
This thread is closed for comments
9 comments
    Your comment
  • There is nothing about windows 7 that seems worth paying for. Windows xp flops along with not much hassle. I bought a laptop that came with vista installed. I hate it, every task is a pain. I would downgrade to XP; but its purpose is to allow me to familiarise myself with vista! The next few years would need to give rave reviews from 99% of users for me to want to bother with win7.
    0
  • "The same application window data is duplicated again in system RAM for the CPU to render independent of graphics hardware. This was inefficient obviously because of data redundancy."

    mmh.. O REALLY?

    yet they went ahead when they made vista.. sigh...

    wonder if they fixed , other "OOPS"
    0
  • Three months ago, I bought a Toshiba Laptop with genuine Windows Vista Home Premium installed. I also assembled a desktop pc with Windows XP SP2 as the operating system. Since I am curious about Vista, I opened my two computers at the same time and runs the same programs. I did it a hundred times so that I can determine which OS can run programs faster and smoohtly. I found out that XP runs programs better without much hassles compared to Vista. ButI still use Vista to familiarize its new features but in running programs, I really preferred Windows XP. Howard 2009
    0