vkmark1
Vulkan benchmark suite
Usage
vkmark [options]
Overview
vkmark is an extensible Vulkan benchmarking suite with targeted, configurable scenes.
Options
-
-b, --benchmark BENCH -
A benchmark to run: 'scene(:opt1=val1)*' (the option can be used multiple times)
-
-s, --size WxH -
Size of the output window (default: 800x600)
-
--fullscreen -
Run in fullscreen mode (equivalent to --size -1x-1)
-
-p, --present-mode PM -
Vulkan present mode (default: mailbox) [immediate, mailbox, fifo, fiforelaxed]
-
--pixel-format PF -
Vulkan pixel format (default: choose best)
-
-l, --list-scenes -
Display information about the available scenes and their options
-
--show-all-options -
Show all scene option values used for benchmarks (only explicitly set options are shown by default)
-
--winsys-dir DIR -
Directory to search in for window system plugins
-
--data-dir DIR -
Directory to search in for scene data files
-
--winsys WS -
Window system plugin to use (default: choose best) [xcb, wayland, kms]
-
--winsys-options OPTS -
Window system options as 'opt1=val1(:opt2=val2)*'
-
--run-forever -
Run indefinitely, looping from the last benchmark back to the first
-
-d, --debug -
Display debug messages
-
-D, --use-device -
Use Vulkan device with specified UUID
-
-L, --list-devices -
List Vulkan devices
-
-h, --help -
Display help
Benchmarks
vkmark offers a suite of scenes that can be used to measure various aspects of Vulkan performance. The way in which each scene is rendered is configurable through a set of options. To get the available scenes and their acceptable options you can use the -l, --list-scenes command line option.
In vkmark, a benchmark is defined as a scene plus a set of option values. You can specify the list and order of the benchmarks to run by using the -b, --benchmark command line option (possibly multiple times). If no benchmarks are specified, a default set of benchmarks is used. If a benchmark option is not specified it assumes its default value (listed with -l, --list-scenes).
As a special case, a benchmark description string is allowed to not contain a scene name (i.e. to start with ':'). In this case, any specified option values are used as the default values for benchmarks following this description string.
Examples
To run the default benchmarks:
vkmark
To run a benchmark using scene 'vertex' with a 'duration' of '5.0' seconds and 'interleave' set to 'false':
vkmark -b vertex:duration=5.0:interleave=false
To run a series of benchmarks use the -b, --benchmark command line option multiple times:
vkmark -b vertex:duration=5.0 -b clear:color=1.0,0.5,0 -b cube
To set default option values for benchmarks and run them:
vkmark -b :duration=2.0 -b vertex -b clear -b :duration=5.0 -b cube
To set default option values for the default benchmarks and run them:
vkmark -b :duration=2.0