Frame rate has been the only metric for comparing performance in games. Even at smooth frame rates, however, gaming can be uncomfortable if there is a significant amount of input lag – the game responds to controls with noticeable lag. There are countless tools for measuring frame rates, but unfortunately not for testing responsiveness. Here we introduce the specialized Frame Latency Meter recently made available by AMD.
You can also get a brief help directly from the command line running the command flm.exe -help.
c:\flm>flm -help
Frame latency meter v1.0.0 command line options
=== How to run a test ===
Step 1: Configure your primary monitor to run the game on.
Set the monitor to use free sync or have it set to an appropriate refresh rate.
Step 2: Run flm.exe
when you press the right Alt key, you should see a yellow capture region box.
Step 3: Run the game
Adjust the game scene placement so that the FLM capture region is situated in an area
where the scene transitions from dark to bright when the mouse is moved horizontally.
Note: The bounding box will only show if the game is running in window mode.
Step 4: Select start measurements key sequence (default is ALT+T)
Wait for the capture process to start, it may take a few seconds to start as FLM process data
you should see the mouse move left and right in rapid concession while the application records
latency measurements.Some games may require you to press down on the mouse keys to move the mouse
left and right.
Console output will show the running latency and frame latency when FLM detects a change
RUN: .|.. FPS xx.xx, Latency xxx.x ms, x.xx frames
A running series of dots and a vertical bar will indicate at what rate these
latency measurements are occurring.
Step 5: Select stop measurements and review the console outputs values.
Starting measuring
RUN: .... FPS xx.xx, Latency xxx.x ms, x.xx frames
Stopped measuring
=== How to change the capture codec for a test ===
Running flm.exe with no command line option, will auto detect the systems vendor and GPU,
then it will select the best capture codec to use.
if you want to override this feature, simply specify the capture codec to use in the command line.
Capture codec options:
-AMF : Capture frames using AMF codec (Default option, works only for AMD GPU's)
-DXGI : Capture frames using DXGI codec (Works on any GPU connected to main display)
Runtime options:
-FG : Use this flag when measurements are for games with frame generation enabled.
Example usage:
flm.exe -DXGI
Will use the desktop capture codec, which will run on any GPU supported by DX11
For more details on this and more see the users guide.
c:\flm>
There are many more settings in the ini file. They are commented in detail, below is just a list of the keys it contains. Seeing this it’s probably clear that learning how to set up FLM and measure something with it correctly won’t take only an hour.
- InitAMFUsingDX12: To use DX12 instead of DX11 (default).
- PrintLevel: Output level (0-3, different measurement modes, normal measurement, accumulated, all measurements on a line, debug).
- AppWindowTopMost: Sets the FLM console window to “always on top” (true/false).
- GameUsesFrameGeneration: Adds time delays to measurements using frame generation (true/false).
- MinimizeApplication: Minimizing the application during measurement (true/false).
- MouseEventType: Which mouse mode will be used for measurement (0: move, 1: click).
- MonitorCalibration_xxx: Monitor latency calibration value for refresh rates (240Hz, 144Hz, etc.).
- AutoBias: Automatic bias calibration (true/false), default is true, if active, ignores the monitor calibration setting.
- ThresholdCoefficientMove: Threshold coefficient for mouse movement.
- ThresholdCoefficientClick: Threshold coefficient for mouse click.
- AppExitKeys: Keyboard shortcut to exit the application.
- CaptureFileKeys: Keyboard shortcut to save an image.
- ExtraWaitMilliseconds: How long to wait after detecting mouse movement before starting the next measurement (default 10 ms).
- ExtraWaitMillisecondsFG: Same, but with frame generation active (default 20 ms).
- ExtraWaitFrames: Number of additional frames to prevent frequency doubling or motion blur problems (default 1 frame)
- ExtraWaitFramesFG: Same, but with frame generation active (default 3 frames)
- MeasurementsPerLine: Number of measurements per line to obtain an average value (default 16)
- MeasurementKeys: Keyboard shortcut to start/stop measurement.
- MouseHorizontalStep: Horizontal mouse step (default 50 pixels).
- NumDequantizingPhases: Number of stages for dequantization.
- OutputFile: File name for saving the measurements (saved in the flm.exe directory, default is FLMlatency.csv).
- SaveToFile: Saving measurements to a file (true/false).
- ShowBoundingBox: Showing the capture area (true/false).
- ShowAdvancedMeasurements: Show advanced measurements (true/false).
- ValidateCaptureKeys: A keyboard shortcut for testing capture speeds to BMP files.
- ValidateCaptureNumOfFrames: Number of frames captured (BMP).
- Codec: Codec for capturing (AUTO/AMF/DXGI).
CAPTURE
- StartX: Initial X coordinates of the capture area.
- StartY: Initial Y coordinates of the capture area.
- CaptureWidth: The width of the capture area (relative to the screen width).
- CaptureHeight: The height of the capture area (relative to the screen height).
- CaptureFile: The file name for saving an image.
- AVGFilterFrames: Number of frames to achieve 1% stable value.
- FilmGrainThreshold: Threshold for film grain effect.






