The Windows Winsat command

Martin Brinkmann
Oct 16, 2017
Windows, Windows tips

Winsat, or Windows System Assessment Tool, is a Windows program that benchmarks various components of machines when run.

The main file that is run to benchmark the device is winsat.exe, and you find the executable file in the system32 folder of the Windows installation.

Microsoft introduced Winsat back with Windows Vista, and shipped any new version of Windows (up to Windows 10) with the tool as well.

The company used Winsat in Vista and Windows 7 to compute the Windows Experience Index (WEI), which measures the computer's hardware and software configuration.


Tip: You can run the assessment on Windows 8 and Windows 10 as well, and hack the results.


winsat windows

The Windows Winsat command needs to be run from the command line. It is best if you do so from an elevated command prompt, as the results window will be closed otherwise automatically when the tool completes the assessment.

  1. Tap on the Windows-key to display the Start menu.
  2. Type cmd.exe, hold down the Shift-key and the Ctrl-key, and select the result from the listing. This launches the command prompt with administrative privileges.

Winsat assessments

Winsat can run several assessments, each with their own parameters. The main assessments that the tool can run are listed below.

  • winsat -? -- displays the help.
  • winsat formal -- this command runs the full assessment.
    • winsat dwmformal -- runs only the Desktop Windows Manager assessment which generates the graphics score.
    • winsat cpuformal -- runs only the CPU assessment to generate the processor score.
    • winsat memformal -- runs only the memory assessment to generate the memory (RAM) score.
    • winsat graphicsformal -- runs the graphics assessment to generate the gaming graphics score.
    • winsat diskformal -- runs the disk assessment to generate the primary hard disk score.
  • winsat cpu -- tests the processor.
  • winsat mem -- tests the memory
  • winsat disk -- tests connected storage devices
  • winsat d3d -- assesses the Direct 3D application abilities.
  • winsat media -- tests media capabilities
  • winsat mfmedia -- Windows Media Foundation assessment
  • winsat features -- runs the features assessment
  • winsat dwm -- runs the Desktop Windows Manager assessment
  • winsat prepop -- pre-populate WinSAT assessment results.

The commands above will run the assessments with their default configuration. You can specify custom parameters when you run assessments to customize the tests.

Global parameters (these are valid for all assessment tests)

  • -v -- send verbose output to STDOUT.
  • -time n -- specify the time the assessment will run.
  • -fullscreen -- D3D device should be created in fullscreen mode. Default is windowed mode.
  • -xml filename -- saves the output to the specified XML file.
  • -idiskinfo -- saves physical volumes and logical disks information to the XML output.
  • -iguid -- creates a global unique identifier and saves it to the XML output.
  • -note "note" -- adds a note to the XML output file.
  • -icn -- includes local computer name in the XML output.
  • -eef -- enumerates extra system information in the XML output.
  • nodisp -- assessment is not visible as it draws to an off-screen surface.

Winsat dwm parameters

winsat dwm

The command is winsat dwm -parameters. The following parameters are available:

  • -normalw n -- specify the number of textures used to represent normal windows in the simulation. Required if any other parameter is specified.
  • -winwidth n -- specify the windows width in pixels
  • -winheight n -- specify the windows height in pixels
  • -glassw n -- specify the number of textures that represent glass windows in the simulation
  • -noupdate -- call lock and unlock, but skip CPU update.
  • --nolock -- skip locking and unlocking for all windows.
  • -width n -- specifies the desktop width in pixels.
  • -height n -- specifies the desktop height in pixels.


winsat dwm -fullscreen -normalw 25 -time 50

Runs the Desktop Windows Manager assessment in fullscreen with 25 normal windows for 50 seconds.

Winsat d3d Parameters

winsat d3d

The command is winsat d3d -parameters. The following parameters are available:

  • -objs -- specifies the theta and phi quantization (the higher the number, the more shader processing occurs)
  • -sradius -- specifies the radius of the sphere (smaller radius reduces the number of pixels drawn).
  • -totalobj -- total number of spheres in a scene.
  • -texw -- width of the textures created.
  • -texh -- height of the textures created.
  • -totaltex -- total number of textures that the tool will create.
  • -texpobj -- number of textures that each sphere needs to render.
  • -batchcnt -- define the batch count.
  • -out -- specifies a file path to save the results along with arguments to winsat.
  • -width n -- width of the window the app is running in.
  • -height n -- height of the window the app is running in.
  • -vs profile -- enforce usage of a vertex shader profile.
  • -ps profile -- enforce usage of a pixel shader profile.
  • -fps n -- limit the refresh rate in fullscreen mode.
  • -rendertotex n -- render to texture float n.
  • -rtdelta n -- if render targets are used, this command defines how far back the assessment will go to set a previous render target as a texture.
  • -noalpha -- disables back buffer alpha blending.
  • -textshader -- use texture shader instead of simple shader.
  • -alushader -- use alu shader instead of simple shader.
  • -fixedseed -- seeds rand with a fixed number.
  • -nozwarming -- disables z-buffer warming.
  • -ref -- force software rasterization.
  • -noetw -- disables ETW tracing.


winsat d3d -fullscreen -totalobj 25 -totaltex 20 -alushader -time 50

Runs the d3d assement in fullscreen with 25 total spheres and 20 rendered textures, using the alu shader and a running time of 50 seconds.

Winsat mem Parameters

winsat mem

The command is winsat mem -parameters. The following parameters are available:

  • -up -- runs memory tests with one thread only.
  • -rn -- run at normal priority.
  • -nc -- allocate memory and flag it as uncached.
  • -do n -- specifies the distance in bytes between beginning of the destination buffer and the end of the source buffer.
  • -mint n -- minimum run time in seconds.
  • -maxt n -- maximum run time in seconds.
  • -buffersize n -- the buffer size the memory assessment should use.


winsat mem -up -rn -mint 5.0 -maxt 10.0 -v

Run the memory assessment with on thread, a minimum run time of 5.0 seconds, a maximum run time of 10.0 seconds, in normal priority and verbose the result.

Winsat disk Parameters

winsat disk

The command is winsat disk -parameters. The following required parameters are available:

  • -flush -- run in write policy flush mode (cannot be used with seq, ran, write or read)
  • -seq -- assess sequential IO performance (cannot bed used with ran or flush)
  • -ran -- assess random IO performance (cannot be used with seq or flush)
  • -read -- assess read performance (cannot be used with write or flush)
  • -write -- assess write performance (cannot be used with read or flush)
  • -n disk ID -- specify the disk that you want to run the assessment on (cannot be used with drive)
  • -drive letter -- select the drive letter of the hard drive you want to test (cannot be used with n)

The following parameters are optional:

  • -count n -- specifies the number of iterations (between 1 and 50, default is 1).
  • -iocount n -- specifies the number of IO operations (between 256 and 5000, default is 256).
  • -seqsize n -- specifies the size of IOs for the sequential assessment in bytes (between 65536 and 1048576, default is 65536).
  • -ransize -- specifies the size of IOs for the random IO assessment in bytes (between  16384 anad 1048576 default is 16384).


winsat disk -flush -drive d

The command assess the flush performance of the D drive.

Winsat cpu Parameters

winsat cpu

The command is winsat cpu -parameters. The following required parameters are available (only one required):

  • -encryption -- runs the encryption and decryption assessment using 256-bit AES algorithms,
  • -encryption2 -- runs the assessment using a SHA1 hash.
  • -compression -- runs the compression and decompression assessment using the Lempel-Zev algorithm.
  • -compression2 -- runs the assessment using an internal Microsoft compression algorithm.

The following parameters are optional:

  • -buffersize n -- sets the buffer size for the assessment (minimum 4K, maximum 2 MB, default 16K)
  • -data filename -- specifies a file that should be loaded into the buffer, default file is %SystemRoot%\system32\shell32.dll.
  • -nbr n -- specifies the number of buffer regions (default 16)
  • -brs n -- specifies the size of each buffer region

Only two of buffersize, nbr and brs can be used in assessments).


winsat cpu -encryption2

Runs the cpu assessment using a SHA1 hash.

Winsat media Parameters

winsat media

The command is winsat media -parameters. The following  parameters are available:

  • -input filename -- required parameter. This specifies the video file that will be played or encoded during the assessment.
  • -dumpgraph --filter graph should be saved to a GraphEdit compatible file before run.
  • -ns -- normal playback speed of the input file.
  • -show -- runs the assessment in decode mode, and show the file in a window.
  • -play -- runs the assessment in decode mode, and plays supplied audio content.
  • -encode PRX profile file --re-encodes the content using Windows Media codec (not usable with show or play).
  • -saveas filename --saves the results of encode operations.


winsat media -input c:\test\test.wmv -xml test.xml

The command assess the performance when decoding the text.wmv file, and saves the results to the test.xml file.

Winsat mfmedia Parameters

winsat mfmedia

The command is winsat mfmedia -parameters. The following  parameters are available:

  • -input file -- required. Specify the media file used in the assessment
  • -dumpgraph -- filter graph should be saved to a GraphEdit compatible file before run.
  • -ns -- specifies that the filter graph should be run at normal playback speed.
  • -play -- runs the assessment in decode mode, and plays supplied audio content.
  • -nopmp -- Do not make use of Media Foundation Protected Media Pipeline (MFPMP) process.
  • -pmp -- make use of the MFPMP process.


winsat mfmedia -input c:\test\test.wmv -nopmp

Run the mfmedia assement using the test.wmv file without Media Foundation Protected Media Pipeline (MFPMP) support.

Winsat Task Scheduler

winsat task windows

All versions of Windows come with a scheduled Winsat tasks. You can manage that task in the following way:

  1. Tap on the windows-key to open the Start menu.
  2. Type task scheduler, and load the result.
  3. Go to Task Scheduler Library > Microsoft > Windows > Maintenance
  4. The task WinSAT should be listed there.
  5. You can modify the task, or right-click on it to disable it.


The Windows Winsat command
Article Name
The Windows Winsat command
The guide gives an overview of the winsat -- Windows System Assessment Tool -- command which is part of the Windows operating system.
Ghacks Technology News

Previous Post: «
Next Post: «


  1. RossN said on October 16, 2017 at 9:16 am

    There must be a dependency that I have disabled.
    “winsat formal” gives “Error: Failed to start NT Kernel Logger”.

  2. Norio said on October 16, 2017 at 8:00 pm

    Thanks for the informative article, Martin!
    In addition, according to an article in Redmond Magazine (, the command
    Winsat formal -V
    will optimize Windows 8.1 to work with SSD drives.

  3. r0nm|c said on September 7, 2018 at 1:49 am

    thx for this :)

  4. Anonymous said on August 13, 2019 at 12:51 pm

    very useful command as it also works on windows10 and provide the windows 7 benchmark results

Leave a Reply

Check the box to consent to your data being stored in line with the guidelines set out in our privacy policy

We love comments and welcome thoughtful and civilized discussion. Rudeness and personal attacks will not be tolerated. Please stay on-topic.
Please note that your comment may not appear immediately after you post it.