Windows® 7 Desktop Accountability
Many have experienced scenarios where a program or Windows itself, stops responding at the same moment. This is type of a performance problem that can be affected considerably by the performance of graphics in the system. We classify these as desktop responsiveness issues. Enhancing responsiveness, both in real terms and by neglecting non-responsive moments, is one of the ways that to improve performance in the system. It is also difficult to measure.
Measuring desktop responsiveness is a difficult issue since a number of issues which influence responsiveness cannot be easily reproducible and there is a huge variety of them. They are infrequently caught by either kind of benchmark as these problems are completely dependent on real-world combination of aspects. For Windows 7, a great deal was spent in looking at these performance glitches using a mechanism in test versions of Windows 7 which has the capacity to record key Operating System events and when they occurred. By real-world testing when we encounter a responsiveness issue, the tester can hit a record key and enter a small narration of the problem encountered. The event chronicle with diagnostic information called a ‘performance trace’ is written out to a file and uploaded to the server where a team of performance analysts parse the data to figure out the reason of the responsiveness problem. This process has been prosperous to the extent that today most responsiveness problems can be immediately tracked down and root-caused.
Using this method, we found so many of desktop responsiveness traces where the tester experienced a frozen desktop anywhere from 100m seconds to a few seconds. The type of problems ranged from an antivirus blocking disk access for all programs during updating itself on the vendor’s website to a program doing network access from a UI thread. In an important portion of these traces, we have found that a GDI program is waiting on another GDI program which is experiencing slowdowns due to exceeding paging activities. This was the only and single-most usually occurring cause of all desktop responsiveness problem, which without this data we might would not have assumed.
Based on these probes, Microsoft worked to enhance the architecture in these two key areas:
Windows 7 GDI Concurrency: Enhance responsiveness when multiple programs are running. This expected a re-architecture of the code around GDI (Graphics Device Interface) synchronization objects or locks.
Reduction of overall memory footprint of Windows 7: Decrease the memory overhead of composition in the Desktop Window Manager (DWM) is the component liable for rendering the desktop. This helps decrease overall paging activity and thus is especially valuable for low-memory PCs, especially using shared graphics memory.