You can use the Windows System Assessment Tool
(WinSAT) to assess the features, capabilities, and attributes of a
Windows Vista PC. WinSAT executes during out-of-box-experience (OOBE)
and when the Rate This Computer option is selected in the Performance
Information And Tools control panel. This section discusses the
Performance Information And Tools control panel in more detail. This
section also describes how Desktop Window Manager
performs composition and how Windows Vista determines which level of
Aero Glass can be supported given the system’s hardware configuration.
Overview of WinSAT
Each assessment name has a set of assessment
parameters that it will accept. For brevity, the assessment parameters
are not provided here. To see the available assessment parameters, type winsat /? from an elevated command prompt.
Assessment Names
WinSAT assessment names include:
dwm
The Desktop Window Manager (DWM) assessment is targeted at assessing a
system’s ability to run a Windows Vista–composited desktop, often
referred to as Aero-Express, Aero-Glass, or Aero-Diamond. Note that
these are names of Aero themes. You can only run this assessment on
computers with WDDM video drivers.
d3d The Direct3D (D3D) assessment is targeted at assessing a system’s ability to run games.
mem
Runs system memory bandwidth tests. This is intended to be reflective
of large memory-to-memory buffer copies, like those used in multimedia
processing (video, graphics, imaging, and so on).
disk Measures the performance of disk drives.
cpu Measures the computation ability of the processor.
media Measures the performance of video encoding and decoding.
features
Enumerates relevant system information. This assessment is
automatically run once for each invocation of WinSAT and the data saved
in the XML output.
formal Runs the full set of assessments and saves the result.
mfmedia Runs the Media Foundation based assessment.
Examining the Features Assessment
WinSAT automatically runs the Features
assessment each time it runs. This assessment enumerates system
information relevant to the assessments, including:
The name of the computer. Note that
this information is supported only in private builds of WinSAT and will
not be present in the retail version of the product.
An optional globally unique identifier (GUID) if the -igCid command-line switch is used. This ensures that each XML file has a unique identifier.
The iteration value from the -iter <n> command-line switch.
The number of processors, cores, and CPUs.
The presence of CPU threading technology.
x64 capability.
The processor signature.
The size and other characteristics of the processor’s L1 and L2 caches.
The presence of MMX, SSE, and SSE2 instructions.
Information
on the memory subsystem. (Note that this is very system-dependent: Some
systems will produce good detail here, others will not.)
Graphics memory.
Graphics resolution.
Graphics refresh rate.
Graphics names and device IDs.
Advanced users may want more information
regarding the Windows Experience Index and system performance than is
present in the Performance Information and Tools Control Panel. The
underlying technology that supports the Windows Experience Index is the
Windows System Assessment Tool (WinSAT). This tool stores the 10 most
recent assessments in a data store folder located at:
%windir%\Performance\WinSAT\DataStore
The data store consists of XML files that
contain information regarding each assessment. These XML files contain
advanced details regarding system performance and the Windows Experience
Index. The files are named by the date and time the assessments ran.
Quais Taraki, Program Manager
Windows Performance
|
Command Line Usage
Although in most cases, WinSAT will not be executed manually from a command prompt, the general format of the command line is
winsat <assessment name> <assessment parameters>
The WinSAT command-line options are not case
sensitive. The command line does not require a dash for forward slash
for the assessment name, but does support either a leading dash (-) or a
leading forward-slash (/) character to designate an assessment
parameter. An error will be reported if any options or switches are not
supported.
The WinSAT tool also supports several
command-line switches in addition to the assessment parameters. These
are parsed by WinSAT before it passes control to one or more of the
assessments. Some of these parameters are also supported by one or more
assessments. Parameters that are not handled by assessments are stripped
from the command line before the command line is processed by the
assessments.
The command-line parameters recognized by WinSAT are:
-help or -? Displays the help content.
–v
This specifies that WinSAT should produce verbose output. This output
includes progress and status information, and possibly error
information. The default is for no verbose output. This switch is passed
to all of the specified assessments.
-xml <file name> This specifies that the XML output from the assessment is to be saved in the specified file name. All assessments support the –xml command-line switch; a pre-existing file with the same name will be overwritten.
–idiskinfo Information on the disk subsystem (logical volumes and physical disks) is not normally saved as part of the <SystemConfig> section in the XML output.
–iguid Generates a globally unique identifier in the XML output file. Note that this is not valid with the formal assessment.
-iter <n> Includes the iteration number <n> in the XML output file.
–ssc
This causes WinSAT to skip checking the XML output against the WinSAT
XML schema. Note that this command-line switch will be deprecated in
release candidate versions.
–csv This causes WinSAT to save the top-level measured metrics to a CSV file.
Binary Components
WinSAT contains the following files:
Winsat.exe The executable. This file is located in the %windir%\system32 folder.
WinSAT.wmv
The recommended video clip for use with the media decode assessment.
This file is located in the %windir%\Performance\Winsat folder.
WinSAT.prx
The recommended encode configuration file to use with the media encode
assessment. This file is located in the %windir%\Performance\Winsat
folder.
Exit Values
WinSAT provides the following exit values:
0 indicates all requested assessments were completed successfully.
1 indicates one or more assessment did not complete because of an error.
2 indicates one or more assessments did not complete because of interference.
3 indicates that WinSAT was canceled by the user.
4 indicates that the command given to WinSAT was invalid.
5 indicates that WinSAT did not run with administrator privileges.
6 indicates that another instance of WinSAT is running.
Registry Locations
WinSAT writes the assessment results to the following registry key:
HKLM\Software\Microsoft\Windows NT\CurrentVersion\WinSAT\
Value: VideoMemorySize – Size of the video memory, in bytes
Value: VideoMemoryBandwidth – Derived from compilation of video memory and display resolution
If these registry keys do not exist, WinSAT did
not run during the installation or upgrade the operating system. To
create these registry keys, run WinSAT from the command line or from
Performance Information And Tools, discussed in the next section.
How Desktop Window Manager Performs Composition
The new Windows Vista desktop composition
feature fundamentally changes the way Windows displays pixels on the
screen. When you enable desktop composition, individual windows no
longer draw directly to the screen or primary display device as they did
in previous versions of Windows. Instead, their drawing is redirected
to off-screen surfaces in video memory, which are then rendered into a
desktop image and presented on the display.
Desktop composition is performed by a new
component in Windows Vista, the Desktop Window Manager (DWM). Through
desktop composition, DWM allows for visual effects on the desktop as
well as various features, such as glass window frames, 3D window
transition animations, Windows Flip and Windows Flip3D, and
high-resolution support.
Desktop Window Manager Components
The Desktop Window Manager consists of two main
components: the Desktop Window Manager Session Manager service and the
Desktop Window Manager process. The following section discusses these
components in detail.
Desktop Window Manager Session Manager Service
The Desktop Window Manager Session Manager
service starts and manages one Desktop Window Manager process for each
user session on the computer. The Desktop Window Manager process runs as
%SystemRoot%\system32\dwm.exe. If the process is ever terminated
unexpectedly, it is restarted by the Desktop Window Manager Session
Manager service.
The Desktop Window Manager process loads two important modules:
Windows Presentation Foundation
The Microsoft Windows Presentation Foundation
(formerly codenamed Avalon) provides the foundation for building
applications and high-fidelity experiences in Windows Vista and Windows
Server Code Name “Longhorn,” blending together application UI,
documents, and media content. The functionality extends to support for
Tablet and other forms of input, a more modern imaging and printing
pipeline, accessibility and UI automation infrastructure, data-driven UI
and visualization, and the integration points for weaving the
application experience into the Windows shell. The WPF components pf.dll
and pc.dll are also clients to milcore.dll, which is loaded by the DWM
service.
All of the Windows Aero and Glass features of
the desktop are implemented through the Desktop Window Manager Session
Manager service. This service is also known as the User Experience
Session Manager Service (UxSms) and is implemented as a service that
runs under the generic service host process svchost.exe.
WinSAT and the Desktop Windows Manager
WinSAT queries the system hardware and assesses
the hardware capabilities of the computer. The Desktop Window Manager
uses the data that WinSAT gathers to determine if the computer is
capable of displaying the Aero Glass interface. WinSAT runs once during
the out-of-box experience but can also be run manually by running
WinSAT.exe from the command line or from the Performance Rating And
Tools user interface.
Thresholds for Aero Glass Composition
Table 1
lists the VideoMemoryBandwidth threshold values, in MB/s, above which
composition is enabled. If your value is above the threshold value
required for Transparent Glass, you’ll get Transparent Glass. If your
value is below the Aero Glass threshold value but above the Opaque Glass
value, you’ll get Opaque Glass. Otherwise, you will not get glass
composition.
Table 1. Thresholds for Aero Glass Composition
Resolution | Threshold for Transparent Glass | Threshold for Opaque Glass | Required video memory for Transparent Glass | Required video memory for Opaque Glass |
---|
Single Monitor |
800x600 | 288,234 | 58,457 | 32 MB | 32 MB |
1024x768 | 388,848 | 94,735 | 32 MB | 32 MB |
1280x1024 | 526,766 | 156,481 | 64 MB | 32 MB |
1600x1200 | 687,589 | 228,037 | 128 MB | 64 MB |
1920x1200 | 814,702 | 273,150 | 128 MB | 64 MB |
Dual Monitor |
800x600 | 376,218 | 88,998 | 32 MB | 32 MB |
1024x768 | 512,165 | 144,523 | 64 MB | 64 MB |
1280x1024 | 701,979 | 239,123 | 128 MB | 64 MB |
1600x1200 | 923,249 | 348,809 | 128 MB | 128 MB |
1920x1200 | 1,094,897 | 417,957 | 256 MB | 128 MB |
The values shown in the table are dependent on
the resolution setting and availability of the Required Video Memory
shown for each resolution setting to get composition.
These thresholds may be overridden, as explained in later in this section.
Troubleshooting Aero Glass
If your system is not displaying with Aero
Glass, and you have met the minimum system requirements, you can use the
following steps to diagnose the problem.
First, determine what display mode your system
is currently in. The Windows Vista desktop has three distinct looks:
transparent glass, opaque glass, and no composition. Are you seeing opaque glass
or are you simply not getting composition at all? A quick way to
determine the level of composition is to look at the Minimize, Restore,
and Close buttons on a window to see if they are docked at the top edge
of the window:
Transparent glass is fully functional Windows
Aero Glass. If you’re getting opaque glass, in all likelihood your
computer has been assessed by WinSAT as not powerful enough to recommend
transparent glass. The accuracy of the model by which this is evaluated
will be increased in RC1 and RTM builds of Windows Vista, which may
allow more computers to achieve an assessment that automatically enables
transparent glass display.
WinSAT will write the following values to the
registry during install if the computer is using a WDDM video driver.
Computers with legacy video drivers will not generate these registry
keys. These registry keys indicate what WinSAT detected for the video
hardware.
HKLM\Software\Microsoft\Windows NT\CurrentVersion\WinSAT\
VideoMemoryBandwidth
HKLM\Software\Microsoft\Windows NT\CurrentVersion\WinSAT\
VideoMemorySize
WinSAT generally
assesses graphics subsystems correctly. However, in some cases the
amount of textures and render targets WinSAT allocates causes the
performance metric to be too low. This predominantly happens on cards
with 64 MB or less of graphics memory.
If you’re not getting composition at all, the
first step is to look at the Event Log to see what the problem is. Run
Event Viewer, choose Windows Logs, and then choose the Application log.
Look for entries with Desktop Window Manager as the Source. A recent
entry should indicate why the Desktop Window Manager didn’t start.
Possibilities include:
Not running a WDDM/LDDM driver.
Not running with 32 bits per pixel color. (To fix this, change your Display Settings and then log off and log on again.)
The
monitor frequency is too low. (Realistically, this only happens with a
faulty KVM, or if the computer was booted without a monitor.)
A mirroring device driver is in use.
An
analysis of the hardware and configuration indicated it would perform
poorly. In this case, the system may have been incorrectly assessed. If
you believe it was, you can override this assessment, as explained in
the next section.
Overriding Windows Vista Automatic Detection Mechanisms
On computers with WDDM-capable drivers, you can
set the composition policy manually by setting two registry keys and
then restarting the DWM. First, ensure that the following registry
values are set:
Composition:
HKCU\Software\Microsoft\Windows\DWM\Composition
Set to 1 (32-bit DWORD)
The Composition key indicates whether composition is enabled or disabled. Setting this value to 1 will enable composition.
CompositionPolicy:
HKCU\Software\Microsoft\Windows\DWM\CompositionPolicy
Set to 2 (32-bit DWORD)
The CompositionPolicy key determines whether you can use the WinSat assessment to enable or disable composition. Values are:
Setting CompositionPolicy to 2 forces the system to ignore the WinSat assessment and enable composition.
Now restart the Desktop Window Manager Session
Manager service by opening an elevated Command Prompt window with
administrative privileges and typing net stop uxsms followed by net start uxsms at the command prompt.
Forcing WinSAT to Reassess the Computer
If WinSAT has not assessed the system at all or
has incorrectly assessed the system hardware during install or upgrade,
the Windows Aero Glass features will not be available. If you have
installed new video hardware or other hardware that might affect the
system rating, you may force WinSAT to reassess the computer.
To force WinSAT to run again and reassess the hardware, follow these steps:
1. | Click Start, click Control Panel, and then click System And Maintenance.
|
2. | Click
Performance Information And Tools. From the Performance Rating And
Tools control panel, click Rate This Computer or Update My Score. User
Account Control will prompt you for permission to run the System
Assessment Tool.
|
The rating dialog box will be displayed with a
status bar. This process can take a few minutes. The screen may flash
while the system is being assessed.
Examining Desktop Window Manager Performance
When the DWM process starts, it detects the
video bandwidth and screen resolution to determine whether the computer
can hit the target requirement of 30 frames per second, and then
determines the state to start in: no composition, opaque glass, or
transparent glass.
The desktop is normally rendered at 60 frames
per second. If the DWM detects that it is taking longer than normal to
render the desktop, a dialog displays, indicating a performance decrease
has been detected. You will be prompted to take the one of the
following actions:
Disable Desktop Composition Disable all desktop composition by the Desktop Window Manager service until the system is restarted or explicitly enabled.
Do Not Disable Desktop Composition, But Keep Monitoring
Ignore the problem now and do not disable desktop composition. Inform
the user again the next time a performance drop is detected.
Do Not Disable Desktop Composition, And Stop Monitoring Ignore the problem now and stop detecting performance reductions until the next system restart.