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
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

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_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

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
vrs.3dmdefRun default VRS tier 1 test
vrs2.3dmdefRun default VRS tier 2 test
nvidiadlss.3dmdefRun default NVIDIA DLSS test

Stress tests

Definition file
Description
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

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.