3DMark definition files let you set up and run benchmarks with standard or custom settings. By default, these definition files are found in C:\Program Files\UL\3DMark\.

Benchmarks

The default definitions are the same as running a test from the GUI.

Definition file
Description
steelnomad_dx12.3dmdef
Run the default Steel Nomad test using DirectX 12
steelnomad_vulkan.3dmdef
Run the default Steel Nomad test using Vulkan
steelnomad_light_dx12.3dmdef
Run the default Steel Nomad Light test using DirectX 12
steelnomad_light_vulkan.3dmdef
Run the default Steel Nomad Light test using Vulkan
speedway.3dmdef
Run the default Speed Way test
solarbay.3dmdef
Run the default Solar Bay test
firestrike.3dmdefRun the default Fire Strike test
firestrike_extreme.3dmdefRun the default Fire Strike Extreme test
firestrike_ultra.3dmdefRun the default Fire Strike Ultra test
nightraid.3dmdefRun the default Night Raid test
portroyal.3dmdefRun the default Port Royal test
timespy.3dmdefRun the default Time Spy test
timespy_extreme.3dmdefRun the default Time Spy Extreme test
wildlife.3dmdefRun the default Wild Life test
wildlife_extreme.3dmdef
Run the default Wild Life Extreme test
cpuprofile.3dmdef
Run the default CPU Profile test

Benchmarks with custom settings

Custom definition files mirror the options available on the Custom tab of the GUI. Copy the appropriate custom definition file and edit it to match your desired settings. Note that custom runs only produce sub-scores, never an overall score.

Definition file
Description
custom_steelnomad.3dmdef
Run Steel Nomad with custom settings
custom_speedway.3dmdefRun Speed Way with custom settings
custom_solarbay.3dmdefRun Solar Bay with custom settings
custom_firestrike.3dmdefRun Fire Strike with custom settings
custom_ firestrike_extreme.3dmdefRun Fire Strike Extreme with custom settings
custom_ firestrike_ultra.3dmdefRun Fire Strike Ultra with custom settings
custom_ nightraid.3dmdefRun Night Raid with custom settings
custom_ portroyal.3dmdefRun Port Royal with custom settings
custom_ timespy.3dmdefRun Time Spy with custom settings
custom_ timespy_extreme.3dmdefRun Time Spy Extreme with custom settings
custom_ wildlife.3dmdefRun Wild Life with custom settings
custom_ wildlife_extreme.3dmdef
Run Wild Life Extreme with custom settings
custom_cpuprofile.3dmdef
Run the CPU Profile with custom settings

Feature tests

Definition file
Description
directxraytracingft.3dmdef

Run default DirectX Raytracing feature test

meshshaderft.3dmdef
Run default Mesh Shader feature test
pciexpress.3dmdefRun default PCI Express test
samplerfeedbackft.3dmdefRun default Sampler Feedback test
vrs.3dmdefRun default VRS tier 1 test
vrs2.3dmdefRun default VRS tier 2 test
nvidiadlss.3dmdefRun default NVIDIA DLSS test
nvidiadlss2.3dmdef
Run default NVIDIA DLSS 2 test
nvidiadlss2.3dmdef
Run default NVIDIA DLSS 3 test
intelxessft.3dmdef
Run default Intel XeSS test

Stress tests

Definition file
Description
stresstest_steelnomad_dx12.3dmdef
Run the Steel Nomad Stress Test with DirectX 12
stresstest_steelnomad_light_vulkan.3dmdef
Run the Steel Nomad Stress Test with Vulkan
stresstest_steelnomad_light_dx12.3dmdef
Run the Steel Nomad Light Stress Test with DirectX 12
stresstest_steelnomad_vulkan.3dmdef
Run the Steel Nomad Light Stress Test with Vulkan
stresstest_speedway_performance.3dmdefRun the default Speed Way Stress Test
stresstest_solarbay_performance.3dmdefRun the default Solar Bay Stress Test
stresstest_firestrike_performance.3dmdefRun the default Fire Strike Stress Test
stresstest_firestrike_extreme.3dmdefRun the default Fire Strike Extreme Stress Test
stresstest_firestrike_ultra.3dmdefRun the default Fire Strike Ultra Stress Test
stresstest_nightraid_performance.3dmdefRun the default Night Raid Stress Test
stresstest_portroyal_performance.3dmdefRun the default Port Royal Stress Test
stresstest_timespy_performance.3dmdefRun the default Time Spy Stress Test
stresstest_timespy_extreme.3dmdefRun the default Time Spy Extreme Stress Test
stresstest_wildlife_performance.3dmdefRun the default Wild Life Stress Test
stresstest_wildlife_extreme_performance.3dmdef
Run the default Wild Life Extreme Stress Test

Unlimited Mode

In Unlimited mode, the benchmark runs offscreen using a fixed time step between frames. Unlimited mode renders exactly the same frames in every run on every device. You can use Unlimited mode to make chip-to-chip comparisons without vertical sync, display resolution scaling, and other operating system factors affecting the result. 

Definition file
Description
steelnomad_light_unlimited_dx12.3dmdef
Run Steel Nomad Light in Unlimited mode with DirectX 12
steelnomad_light_unlimited_vulkan.3dmdef
Run Steel Nomad Light in Unlimited mode with Vulkan
stresstest_steelnomad_light_unlimited_dx12.3dmdef
Run the Steel Nomad Light Stress Test in Unlimited mode with DirectX 12
stresstest_steelnomad_light_unlimited_vulkan.3dmdef
Run the Steel Nomad Light Stress Test in Unlimited mode with Vulkan
solarbay_unlimited.3dmdefRun Solar Bay in Unlimited mode
stresstest_wildlife_unlimited.3dmdefRun the Solar Bay Stress Test in Unlimited mode
wildlife_unlimited.3dmdefRun Wild Life in Unlimited mode
stresstest_wildlife_unlimited.3dmdefRun the Wild Life Stress Test in Unlimited mode 
wildlife_extreme_unlimited.3dmdefRun Wild Life Extreme in Unlimited mode
stresstest_wildlife_extreme_unlimited.3dmdefRun the Wild Life Extreme Stress Test in Unlimited mode 

Examples

timespy.3dmdef

<?xml version="1.0" encoding="utf-8"?>
<benchmark>
  <application_info>
    <selected_workloads>
      <selected_workload name="TimeSpyDemoP"/>
      <selected_workload name="TimeSpyGt1P"/>
      <selected_workload name="TimeSpyGt2P"/>
      <selected_workload name="TimeSpyCpuP"/>
    </selected_workloads>
  </application_info>
</benchmark>

The test names are fairly self-explanatory, for example, "TimeSpyDemoP" is the demo, "TimeSpyGt1P" the Graphics test 1, and so on. Note that you will only get an overall score when all sub-tests are included.

If all you want is to specify which tests to run (for example, to skip the Demo), just make a copy of the appropriate definition file and edit the list of tests.

stresstest_firestrike_performance.3dmdef

<?xml version="1.0" encoding="utf-8"?>
<benchmark>
  <application_info>
    <selected_workloads>
      <selected_workload name="FireStrikeGt1XST"/>
    </selected_workloads>
  </application_info>
  <settings>
       <setting>
         <name>loop_count</name>
         <value>20</value>
       </setting>
    </settings>
</benchmark>

The stress test definitions function in a similar manner to other definition files but must also contain a valid loop count setting (between 2 and 5000).

Note that when specifying file paths in a custom definition file, for example for outputting frames via the Image Quality Tool feature, do not add quotation marks around the path or the test will fail.

Setting command-line options with .3dmdef files

Some command-line settings can be set within .3dmdef files, for both default and custom benchmark runs. 

If the same setting is set from both the command line and the .3dmdef file, the value differing from the default value will be used. For example, if --debug-log=off is specified on the command line, but the .3dmdef file contains the code below, then the debug log will be enabled since it is the non-default setting.

    <setting>
      <name>enable_debug_log</name>
      <value>1</value>
    </setting>

The table below lists all settings that can be set within a .3dmdef file.

.3dmdef setting name
.3dmdef default value
Command-line option with default value
enable_debug_log
0
--debug-log=off
swapchain_height
0 (auto)

swapchain_width
0 (auto)

enable_audio
1
--audio=on
enable_systeminfo_monitor
0
--systeminfomonitor=off
enable_systeminfo_collect
0
--systeminfo=off
gpu_count
0 (auto-detect)

scaling_mode
centered
--scalingmode=centered

Note that using the --scalingmode setting on the command line always overrides the value in .3dmdef file.

Using custom settings

Custom workloads have separate identifiers. For example, to run Fire Strike with a non-default resolution or other setting:

  <application_info>
    <selected_workloads>
      <selected_workload name="FireStrikeDemoC"/>
      <selected_workload name="FireStrikeGt1C"/>

Specifying the "C" version of each workload name is required for the custom settings to have an effect. If another name (for example FireStrikePhysicsP) is used, all custom settings that could potentially affect the score will be ignored.