Friday, December 23, 2005

Windows Vista System Assessment Tool User Guide

This guide is being posted to show the information from the Windows Assessment Tool Help Guide. All information was taken directly from the help file and is copyrighted to Microsoft Corporation 2005. If this guide is in the violation of anything and should be removed, please let me know and I will remove it ASAP. No binaries are hosted on this server and I will not leak any binary information. So don't ask.


The Windows Assessment Tool is used to run various system tests on Vista and is tied into the system preformance tools, and gives a sneak peak at the stuff MS has in store for Beta 2. In the help guide, which can be located in X:\Windows\Performance\WinSAT for official testers. The WinSAT tool can be used in Windows XP, however you'll have to get that on your own.

Information On The Three Tiers

The three tiers are CONFIRMED as being in Beta 2, since they are posted in the help file, and the help file is dated as being written for 525x and up.

The three tiers are..

Aero-Express - A non glass alternative for low end systems, from the functionality in the December CTP, Aero-Express still has the DWM effects but looks more like an XP .msstyle created by the community.

Aero-Glass - The pretty and fancy see through Aero glass effects.

Aero-Diamond - Can we say full Desktop Aurora? Completely made out of direct3D, Aero-Diamond will feature completely 3D icons, transition effects like in Aero glass, full Desktop Aurora -see the commercial on "Microsoft 30 Years", to get a slight hint of what it will be like. Also other various goodies. No I do not have a source, but I put 2 and 2 together to get these assumptions. It could very well change in the next CTP, who knows for certain. The Aero-Diamond effects can be seen in the D3D assessment. Although most of the textures are broken.

Now for the guide, this was taken from the Help file, basically an over done copy and paste job so I could be sure the information remained unaltered and as helpfull as possible.



DWM WinSAT "Winsat DWM"

The primary task of the DWM is to composite the texture surfaces of legacy GDI applications, D3D applications, and Avalon applications onto the desktop. From the DWM’s perspective, these are all just textures. It must use the textures to render to the back buffer. The simulator is a parameterized D3D application. Varying the parameters produces an assessment run that stresses different resources based on expected DWM scenarios. For example, GDI windows with alpha channels perform differently than those without alpha channels.

The graphics assessment must be run with parameters: winsat dwm


Here is an example command lines : winsat dwm -normalw 10 -glassw 4 -time 10 -v -fullscreen


The non-instance parameters, ie those parameters that do not define a window constraint, must be constants. The instance parameters are specified as distributions. The available types of distributions are Constant, Uniform, and Gaussian. The list of parameters is:

Width and height of the windows (instance)

Total number of opaque windows in the simulation (non-instance)

Total number of unsafe opaque windows in the simulation (non-instance)

Total number of windows with non-trivial alpha blending (non-instance)

Total number of unsafe windows with non-trivial alpha blending (non-instance)

Total number of glass windows (non-instance)

Back-to-front or front-to-back rendering (non-instance)

Simulated non-client theme-ing (non-instance)

Dirty rect region (non-instance)

No Update (non-instance)

No Lock (non-instance)

Scissor rect or view port clipping (non-instance)

Width/Height of the simulation window (non-instance)

Full-screen or windowed mode (non-instance)

Animation (non-instance)

Total time to run the assessment (non-instance)

Output file (non-instance)

FPS (non-instance)

The graphics assessment uses the following parameters: -WinWidth distribution A distribution specifying the width (in pixels) of the windows in the simulation.
Range: [1, Hardware limit]
Default is 500.

-WinHeight distribution
A distribution specifying the height (in pixels) of the windows in the simulation.
Range: [1, Hardware limit]
Default is 500.

-NormalW uint
Specifies the number of opaque windows in the simulation. These windows are the fastest type to render per pixel.
Range: [0, available memory]
Default is 0.

-UnsafeW uint
When rendering in D3D, state is specified globally. This means that if a D3D app runs, milcore has no way to know what the state of the video card was. It must therefore grab a state block when allowing the other window to draw and must reset it when milcore regains control of the video card. These state blocks are expensive.
Range: [0, available memory]
Default is 0.

-AlphaW uint
Specifies that the alpha channel of these windows may not be 255. This means that D3D will have to check the channel to render properly. This effects performance.
Range: [0, available memory]
Default is 0.

-UnsafeAlphaW uint Combination of alpha and unsafe modes on one window.
Range: [0, available memory]
Default is 0.
-GlassW uint Window that supports back-buffer blur
Range: [0, available memory]
Default is 0.
Note that glass is only supported in Back to Front rendering.

-FrontToBack
Currently, milcore renders from back to front using “painters algorithm”. When there is a lot of overdraw, this burns fill-rate. Drawing front-to-back is faster, but requires a depth buffer. Glass windows are not supported in this mode.
Default is back to front rendering

-dirty int int int int
Specifies that only a particular rect (as four intergers) should be updated in the back buffer.
Range: [0, screen resolution]
Default is the full screen size.

-NoUpdate
Calls lock/unlock on all windows but skips the CPU update of every pixel

-NoDisp
Sets the window to “not visible” so that the assessment effectively draws to an off-screen surface.

-NoLock
Skips the lock/unlock for all windows. This means that there is no window animation and the assessment is all fill bound

-ScissorRect
There are many ways to implement dirty rect management. Milcore seems to use either scissor rects, or view port clipping. This flag enables scissor rect clipped. If it is not available in the hardware, the assessment will fail.
Default is view port clipping.

-Width
Width of the assessment window. Note that when running full-screen the value is rounded to the nearest full-screen resolution.
Range: [256, 1600]
Default is 1024.

-Height Height of the assessment window. Note that when running full-screen the value is rounded to the nearest full-screen resolution.
Range: [256, 1600]
Default is 768.

-FullScreen
Specifies that the D3D Device should be created in full screen mode.
Default is Windowed mode.

-NoAnimation
Prevents the windows from moving in the simulation.
Default is animation enabled.

-Time Number of seconds to run the assessment.
Range: [5, ∞]

-FPS uint
This limits the assessment to the nearest refresh rate supported by the video card (but not necessarily one supported by the monitor). Zero means no limit on rendering. The refresh rate when in full rendering is 75hz.
Range: 0, [60, max supported]
Default is 0.

-v
Shows all relevant information about the assessment, including the FPS and CPU Idle information.




DWM WinSAT "Winsat Direct3D"

The D3D assessment will run in up to four modes; Batch limited, Fill-rate memory limited, Fill-rate shader limited, and Permutation mode (not explicitly attempting to be limited by a particular known limitation). The first three modes are a sub-set of Permutation mode,

The D3D assessment will create many small batches with simple shaders, small objects, and a low resolution. The D3D assessment will be limited by the driver’s ability to translate the batches down to the hardware level. Driver performance is primarily being assessed.

The D3D assessment will create a few batches with a small number of objects and a high resolution window. The D3D assessment will be limited by the hardware’s ability to read and write memory. Alpha blending is enabled allowing the D3D assessment to assess the hardware’s read-modify-write ability. The D3D assessment will assess direct back buffer rendering, and rendering to 8 and 16 bit textures.

The D3D assessment will create a few batches with a large number of objects and a high resolution. The D3D assessment will be limited by the hardware’s ability to compute shader (mostly pixel shader) results. The D3D assessment will create shaders based on the highest version supported on the card. This means D3D assessment results will clearly distinguish between major shader revisions (they currently are vs/ps1.x, vs/ps2.x, and vs/ps3.x). The D3D assessment will assess direct back buffer rendering, and rendering to 8 and 16 bit textures.

There are two shader limited scenarios. One is texture sampling limited and the other is ALU limited. Both will be assessed separately.

The D3D assessment will run with many different permutations of its parameters. The goal is to assess reliability and usability of the driver and hardware. The D3D assessment performance should smoothly scale with increasingly more difficult parameterizations. winsat d3d


Here is an example command line : winsat d3d -totalobj 20 -objs C(20) -totaltex 10 -texpobj C(1) -alushader -noalpha -fullscreen -v -time 10



The D3D assessment supports the following command line parameters: -objs The primitives used in the assessment are spheres. The parameter specifies the theta and phi quantization. Increasing this number causes more shader processing to occur.
Range: [2, 180/batch size]

-sradius
Specified the radius of the spheres. A smaller radius will reduce the number of pixels drawn for that sphere while keeping the overhead of that sphere constant.
Range: [0.01, 8]

-totalobj
Total number of spheres in the scene. A large number of objects, combined with a small object size, results is an assessment that is batch limited.
Range: [0, 8]

-texw
-texh
Width and height of the textures created by the assessment as a power of 2.
Range: [1, 12]

-totaltex The total number of textures that GenGame will create. If the number of textures is less than the total number of objects that require a texture, then GenGame will re-use the textures in the scene. If there are more textures that are required in the scene then GenGame will iterate over the list using as many as is needed for this frame. This means that all textures will be used eventually.
Range: [0, 8]
-texpobj This is the number of textures each sphere requires to render.
Range: [0, 16]
-batchcnt Having large batches reduces driver time and tends to make the application fill rate limited. Conversely, having many small batches causes more driver overhead.
Range: [1, TotalObjs]
-time Number of seconds to run the assessment.
Range: [5, 8]
-out Specifies a path to a file to save the results along with the arguments to GenGame.
Range: string
-width
-height Width and Height of the window the app is running in. On XP, this is the screen resolution, on Vista it will be similar, but will not run in exclusive mode.
Range: [256, 8] for windowed and card supported screen resolutions for full screen mode.
-vs profile Forces the use of a particular vertex shader profile. The assessment is not guaranteed to run correctly when forced into using a particular shader model.
-ps profile Forces the use of a particular pixel shader profile. The assessment is not guaranteed to run correctly when forced into using a particular shader model.
-fps In full screen mode, the flag limits the refresh rate to the nearest rate supported by the card.
Range: [60, MaxSupported]
-rendertotex
-rendertotex16 Many games create high level effects which require multiple stages to compute the result. These effects are accomplished by rendering to off-screen textures. These textures are the composited onto the back buffer. To assess this scenario, the Render To Texture flag causes GenGame to render its scene to a screen sized off-screen texture and then render that texture to the back buffer.
Some cards support float 16-bit render targets. GenGame can use float 16 render targets for cards that have such a capacity. Specify the number of render targets desired. GenGame will cycle through the rendertargets. GenGame will always use a previous rendertarget as a texture (see /rtdelta switch ).
Range: [2, MaxSupported]
-rtdelta When rendering with render targets set the delta is how far back in the render target circular buffer to go to set a previous render target as a texture.
Example command line snippet :
“/rendertotex 10 /rtdelta 9”
GenGame will create 10 render targets. It will set the 0th render target as the render surface for the scene, and set the 9th render target as a texture in the scene. On the next frame, GenGame will set the 1st render target as the render surface for the scene, and set the 0th render target as a texture. The default value is 1, which should be the most optimal for throughput as the next rendertarget is always the oldest rendertarget in the set.
Range: [1, Number Of RenderTargets – 1]
-fullscreen Specifies that the D3D Device should be created in full screen mode.
-noalpha By default, GenGame enables back buffer alpha blending. Alpha helps with verification because the shades for GenGame permute the alpha channel creating different color output.
-NoDisp Sets the window to “not visible” so that the assessment effectively draws to an off-screen surface.
-texshader
-alushader There are three types of shaders used in GenGame. The Simple Shader is the most minimal shader in GenGame. This is the default shader used. The texture shader can sample up to 16 textures and adds them together. The alu shader can load up to 2 textures and computes an intensive lighting formula.
-fixedseed Seeds rand with a fixed number in order to run the exact same assessment.
-nozwarming Disables the z-buffer warming used to make the results consistent for non-alpha assessment runs.
-ref Forces the software rasterization of the assessment. This is very slow.
-noetw This flag prevents the use of ETW. It should be used if the user intends to do their own ETW logging and so does not want the log stopped by the assessment.
-noclear Disables the call to Clear in the OnFrameRender function. Just an experimental flag.
-v Shows all relevant information about the assessment, including the FPS and CPU Idle information.

MEM WinSAT "winsat mem"


The memory assessment is usually run with a simple command line with no arguments, such as:winsat


The memory assessment supports the following command line arguments:-v This specifies that the assessment should produce verbose output to STDOUT. This output includes progress and status information, and possibly error information. The default is no verbose output.

-up Force memory testing with only one thread. The default is to run one thread per physical CPU or core.

-rn This specifies that the assessment’s threads should run at normal priority. The default is to run at a priority 15.

-nc This specifies that the assessment should allocate memory and flag it as un-cached. This means that the processor’s caches will be bypassed for the copy operations. The default is to run in cached space.

-bs This specifies that the memory copy test should use the specified buffer size. 2X this amount will be allocated per CPU. This will be the amount of memory copied from one buffer to another. The default is 16 mega bytes. This value is rounded to the nearest 4K boundary. Click here too determine how is specified. The maximum allowed is 32 mega bytes. The minimum allowed is 4K. Passing an invalid buffer size causes the memory test to return an error. Negative values for cause an error.

-do This specifies the distance, in bytes between the end of the source buffer and the beginning of the destination buffer. The default is 64 bytes. Click here too determine how is specified. The maximum allowable destination off set is 16MB. Passing a invalid destination offset causes the memory test to return an error. Note, zero is a valid value. Negative values for cause an error.

-mint This specifies the minimum run time for the assessment. The assessment will run for at least this long. The default value for this assessment is 2.0 seconds. The minimum value for this parameter is 1.0. The maximum value for this parameter is 30.0 seconds. Specifying a minimum value greater than the maxt value is an error.

-maxt This specifies the maxt run time for the assessment. The assessment will never run longer than this. The default value for this assessment is 5.0 seconds. The minimum value for this parameter is 1.0. The maximum value for this parameter is 30.0 seconds. The memory assessment will run for at least mint seconds and will never run more than maxt seconds. After the assessment has ran for mint seconds it will begin to do periodic statistical checks of its results. If the statistical checks pass then the assessment will complete. If the assessment runs for maxt without satisfying the statistical checks then the assessment will complete and return the data it has measured.




DISK WinSAT "winsat disk"

The disk assessment must be run with parameters: winsat disk


The disk assessment supports the following command line parameters: -seq
-ran Only one should be specified at a time. Controls whether or not the sequential or random IO performance will be assessed. This parameter is required.
-read
-write Only one should be specified at a time. Controls whether or not the read or write performance will be assessed. This parameter is required.

-n x Defines what physical disk should be assessed where ‘x’ is the physical disk number. This parameter is required.
-count Defines the number of iterations that will be performed, default is 1, the max is 50. This parameter is optional.
-iocount Defines the number of IOs that will be issued for the assessment, default is 256, the max is 5000. This parameter is optional.

-seqsize Defines the size of the IOs that will be issued for a sequential IO assessment in bytes, default is 65536. Values greater than 1 MB will use 1 MB. Values that are not sector aligned will be rounded down to be sector aligned unless it is smaller than a sector in which case it will be rounded up to the sector size. This parameter is optional.
-ransize Defines the size of the IOs that will be issued for a random IO assessment in bytes, default is 16384. Values greater than 1 MB will use 1 MB. Values that are not sector aligned will be rounded down to be sector aligned unless it is smaller than a sector in which case it will be rounded up to the sector size. This parameter is optional.



CPU WinSAT "winsat cpu"

The computation assessment (CPU assessment) is usually run with a simple command line with no arguments, such as:winsat cpu


The memory assessment supports the following command line arguments:-encryption Runs the encryption and decryption sub-assessment.
-compression Runs the compression and de-compression sub-assessment.

-buffersize Sets the buffer size for the assessment. The minimum allowable buffer size is 4K. The maximum is 2MB. The default buffer size is 16KB.

-mint This specifies the minimum run time for the assessment. The assessment will run for at least this long. The default value for this assessment is 5.0 seconds. The minimum value for this parameter is 1.0. The maximum value for this parameter is 30.0 seconds. Specifying a minimum value greater than the maxt value is an error.

-maxt This specifies the maxt run time for the assessment. The assessment will never run longer than this. The default value for this assessment is 10.0 seconds. The minimum value for this parameter is 1.0. The maximum value for this parameter is 30.0 seconds.



The CPU assessments will run for at least mint seconds and will never run more than maxt seconds. After the assessment as run for mint seconds it will begin to do periodic statistical checks of its results. If the statistical checks pass then the assessment will complete. If the assessment runs for maxt without satisfying the statistical checks then the assessment will complete and return the data it has measured.



Media WinSAT "winsat media"

The following command line switches are common to both decode and encode scenarios: -v Determines if verbose reporting should be performed, listing detailed information about the assessment itself and the statistics gathered by the assessment. By default, verbose reporting is off. This parameter is optional.

-input
Specifies the decode scenario and the input file to be played. The input file can be of any format that is renderable by DirectShow. It must exist at the start of the assessment. This parameter is required.

-dumpgraph filename Specifies that the filter graph should be saved to a GraphEdit-compatible file before the assessment starts. This parameter is optional.
-ns Determines that the filter graph should be run at the normal playback speed of the input file. If supplied, the filter graph honors the presentation times in the input file; by default, the filter graph runs as fast as possible, ignoring presentation times. This parameter is optional.


The following command line switches trigger and tune the decode scenario: -show Determines if there should be visual feedback to the user. If supplied, the video content of the file is displayed to the user in a window. By default, the assessment does not display any visible windows. This parameter is optional.

-play
Determines if there should be auditory feedback to the user. If supplied, the audio content of the file is played on the default DirectSound device. By default, audio playback is disabled. This parameter is optional.



A warning will be outputed in verbose mode if –play is specified and–ns is not specified, but the filter graph should be allowed to run.

The following command line switches trigger and tune the encode scenario: -encode prx Specifies that the decoded content should be re-encoded using the Windows Media codecs. The argument is the filename of a PRX profile that configures the encoder. It must exist at the start of the assessment. This profile is created using the Windows Media Profile Editor app in the WM Encoder tool set. This parameter is optional.

-saveas filename
Specifies a filename to output the re-encoded stream to. By default, the stream is thrown away. If the file exists at the start of the assessment, it is overwritten with the new contents. This parameter is optional.



It is considered an error if –saveas is present but –encode is not, or if –encode is present at the same time as –show or –play.



Aurora WinSAT "winsat aurora"

Aurora is not really an assessment. It is a simply a set of consumer suitable visuals that display while other assessments are progressing off-screen during the assessment process. The Aurora will run at a low frame rate. It will be a separate process with a separate D3D device.


The Aurora assessment supports the following command line arguments:-time Number of seconds to run the assessment.
Range: [5, ∞]

-fps In full screen mode, the flag limits the refresh rate to the nearest rate supported by the card.
Range: [60, MaxSupported]

-width
-height Width and Height of the window the app is running in. On XP, this is the screen resolution, on Vista it will be similar, but will not run in exclusive mode.
Range: [256, ∞] for windowed and card supported screen resolutions for full screen mode.

-fullscreen Specifies that the D3D Device should be created in full screen mode.

-aa
Anti-aliases the Aurora by jitter sample.
Range: [1, 10]

No comments: