AutoMemoryBenchmark

This test consists of multiple scenarios where a driver is evaluated for memory being consumed in the scenario. The benchmark aggregates results from different memory metrics to arrive to a final score for the scenario. This score is the key metric developer should optimize and the metric which is evaluated for Windows Hardware certification.

The memory benchmark is currently comprised of the following six scenarios:

  • Idle

  • Present

  • Textures

  • Buffers

  • Surfaces

  • Upload

For each of the rendering scenarios (all scenarios except Idle), the goals for the scenario are established such that:

  • 2MB allowed for OS overhead.

  • +2MB allowed for driver overhead per GPU in a link for x86 and x64 systems, +1MB per GPU in a link allowed for Arm systems. The number of linked GPUs on a system is determined and multiplied by the system-determined size per GPU to give the total driver overhead allowed.

  • +Size of surfaces explicitly created by application + 7.5% for alignment/padding in the case of non-power of 2 surfaces.

  • +4KB overhead per surface created on 32-bit systems, +8KB overhead per surface on 64-bit systems.

  • Except for the Present scenario, the rendering scenario targets are rounded to the next half-megabyte boundary.

Test details

   
Specifications
  • System.Fundamentals.Graphics.DisplayRender.Performance
Platforms
  • Windows 10, client editions (x86)
  • Windows 10, client editions (x64)
  • Windows Server 2016 (x64)
Supported Releases
  • Windows 10
  • Windows 10, version 1511
  • Windows 10, version 1607
  • Windows 10, version 1703
  • Windows 10, version 1709
  • Windows 10, version 1803
  • Windows 10, version 1809
  • Windows 10, version 1903
  • Next update to Windows 10
Expected run time (in minutes) 2
Category Benchmark
Timeout (in minutes) 120
Requires reboot false
Requires special configuration false
Type automatic

 

Additional documentation

Tests in this feature area might have additional documentation, including prerequisites, setup, and troubleshooting information, that can be found in the following topic(s):

Running the test

Before you run the test, complete the test setup as described in the test requirements: WDTF System Fundamentals Testing Prerequisites.

Troubleshooting

For generic troubleshooting of HLK test failures, see Troubleshooting Windows HLK Test Failures.

A stack that does not go all the way to thread creation indicates that ETW is having a problem walking the stack when the event is fired. ETW will log a maximum of 96 stack frame, but that limit is rarely hit. Typically the problem is a driver compiled with FPO optimization causing the stack walk to end abruptly.

If you do not have a stack, ensure that you are running the benchmark with the -details option.

For additional troubleshooting information, see Troubleshooting System Fundamentals Testing.

More information

Command syntax

Command option Description

AutoShell.exe Memorywlk.xml

Runs the test for WHLK

Note

   For command line help for this test binary, type /h.

 

File list

File Location

AutoShell.exe

[WTT\TestBinRoot]\nttest\windowstest\graphics\perfx2\

Memorywlk.xml

[WTT\TestBinRoot]\nttest\windowstest\graphics\perfx2\

Perl.exe

[WTT\OSBinRoot]\Perl\perl.exe

TestX.man

[WTT\TestBinRoot]\nttest\windowstest\graphics\perfx2\

setup.pl

[WTT\TestBinRoot]\nttest\windowstest\graphics\perfx2\MemoryBenchmark