{"id":209375,"date":"2024-11-04T23:59:16","date_gmt":"2024-11-04T22:59:16","guid":{"rendered":"https:\/\/www.hwcooling.net\/?p=209375\/"},"modified":"2024-11-05T18:37:01","modified_gmt":"2024-11-05T17:37:01","slug":"introduction-to-input-lag-testing-with-amd-frame-latency-meter","status":"publish","type":"post","link":"https:\/\/www.hwcooling.net\/en\/introduction-to-input-lag-testing-with-amd-frame-latency-meter\/","title":{"rendered":"Introduction to input lag testing with AMD Frame Latency Meter"},"content":{"rendered":"<p><!--nextpage-->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 \u2013 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.<!--more--><\/p>\n<p>In single-player games, players typically prefer the highest possible graphics quality. In competitive gaming, the opposite approach is more common. There are several reasons for this: lowering graphical details helps achieve higher frame rates (FPS), which reduces latency. It also removes unnecessary visual effects and objects, simplifying the scene and making it easier to spot important elements and stay oriented.<\/p>\n<p>With higher frame rates, motion becomes less choppy and more fluid, allowing players to better track fast-moving objects and react more precisely to sudden scene changes. The reduction in significant differences between frames makes characters\u2019 motion easier to recognize and makes aiming easier. Incoming shots are also more distinct, allowing players to anticipate and dodge them more effectively.<\/p>\n<p>Lower latency is crucial for reducing the delay between a player&#8217;s input, like pressing a key or clicking a mouse, and seeing the action taking effect on the screen. Minimizing this lag allows players to react more quickly to on-screen events, resulting in gameplay that feels more responsive and seamless.<\/p>\n<p>The average human reaction time to visual signals is typically between 200 and 250 milliseconds. For experienced players who have trained their reflexes, this time can be slightly shorter, usually between 150 and 200 milliseconds. Given the reaction times being so long, one might think that an additional difference of forty or twenty milliseconds in a game\u2019s response time wouldn\u2019t matter much, as human senses can\u2019t detect such a slight variation.<\/p>\n<p>In real life, responses are instantaneous, which is what the human brain expects. Any further delay disrupts this expectation, making players feel they have less precise control over their actions. Although a difference of 20ms might be too subtle to consciously notice, it significantly impacts the brain&#8217;s ability to synchronize inputs with on-screen responses.<\/p>\n<p style=\"text-align: center;\"><iframe loading=\"lazy\" title=\"YouTube video player\" src=\"https:\/\/www.youtube.com\/embed\/BtX0v8r3M-8?si=k8rWS9uVLpJcIf9B\" width=\"786\" height=\"442\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><span data-mce-type=\"bookmark\" style=\"display: inline-block; width: 0px; overflow: hidden; line-height: 0;\" class=\"mce_SELRES_start\">\ufeff<\/span><\/iframe><\/p>\n<p>A long response time causes your character or vehicle to react in a delayed manner to your input, making the controls feel slow and unresponsive. This makes quick turns, dodging attacks, or precise aiming more difficult, often causing players to react later to what&#8217;s happening on the screen.<\/p>\n<p>With practice, you can learn to compensate for the delay by moving the mouse or pressing keys in advance. However, during rapid scene changes, it increases the probability of failing to react appropriately.<\/p>\n<p>You\u2019ll notice this when you don\u2019t hit doorways perfectly while running, start turning either too early or too late in a corner while driving, mistime a jump, or have your shots go wildly off target instead of achieving a headshot.<\/p>\n<p>That&#8217;s why it&#8217;s important not to focus solely on high frame rates. Response times are also crucial during the process of optimizing your system and game settings, as they significantly impact your gameplay experience.<\/p>\n<p>There are many tools for measuring frame rate. You can even use an application connected to AMD, Nvidia or Intel drivers to display the current frame rate in an overlay text. Measuring response time is much more complicated.<\/p>\n<p>The basic principle is simple; just record the time of a button press or mouse movement and measure how long it takes for it to show up on the screen. It&#8217;s also easy to measure if you have the necessary equipment \u2013 a high-speed camera or a latency measurement tool like Nvidia LDAT or the open-source OSLTT. With these tools, you can measure the entire response from mouse input to the displayed action on the monitor \u2013 the system latency.<\/p>\n<p><a href=\"https:\/\/www.hwcooling.net\/wp-content\/uploads\/2024\/11\/nvidia-reflex-end-to-end-system-latency-terminology.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-209259\" src=\"https:\/\/www.hwcooling.net\/wp-content\/uploads\/2024\/11\/nvidia-reflex-end-to-end-system-latency-terminology-1024x485.png\" alt=\"\" width=\"790\" height=\"299\" \/><\/a><\/p>\n<p>Source: <a href=\"https:\/\/www.nvidia.com\/en-us\/geforce\/news\/reflex-low-latency-platform\/\">Nvidia.com<\/a><\/p>\n<p>Response time can also be measured software way. The peripheral latency and display latency are not reflected in the overall response time, but it is possible to measure how long it takes to process and render the image on the computer itself (PC latency).<\/p>\n<p>To do this, Nvidia is using Reflex libraries that are integrated into games and are able to detect mouse action and when the graphics card has rendered a frame. The problem is that they only work on GeForce cards and in games with Reflex integrated.<\/p>\n<p>It&#8217;s probably not easy to develop a universal application \u2013 you can capture mouse movement, but you can&#8217;t easily find out how much time the game spent rendering the image and exact moment it displays updated the image.<\/p>\n<p>Nevertheless, AMD recently introduced an alternative to both specialized tools and Nvidia&#8217;s Reflex \u2013 an open source Frame Latency Meter application. It neatly sidesteps the problem of the game&#8217;s inability to look into the render pipeline by using an API commonly used for image recording to detect the change. It works on all manufacturers&#8217; graphics chips, supports DirectX 11 and DirectX 12 APIs, and Windows 10 and Windows 11 operating systems.<\/p>\n<p><a href=\"https:\/\/www.hwcooling.net\/wp-content\/uploads\/2024\/11\/flm-download.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-209261\" src=\"https:\/\/www.hwcooling.net\/wp-content\/uploads\/2024\/11\/flm-download-1024x753.png\" alt=\"\" width=\"790\" height=\"346\" \/><\/a><\/p>\n<p>It uses Advanced Media Framework (AMF) for screen capture on AMD cards, and Desktop Duplication (DXGI) on other cards. With DXGI, it can then run on any graphics card. The output is latency statistics per frame in a CSV file.<\/p>\n<p>What principle it works on and what it can do, we will discuss further&#8230;<br \/>\n<script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script>\n<!-- responsive -->\n<ins class=\"adsbygoogle\"\n     style=\"display:block;background-color:transparent\"\n     data-ad-client=\"ca-pub-8150419924824893\"\n     data-ad-slot=\"6522017574\"\n     data-ad-format=\"auto\"><\/ins>\n<script>\n(adsbygoogle = window.adsbygoogle || []).push({});\n<\/script><br \/>\n<br \/>\n<span class=\"nextpage\">\u00a0<\/span><br \/>\n<!--nextpage-->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 \u2013 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.<!--more--><\/p>\n<p>&nbsp;<\/p>\n<p>The whole app looks simple on the outside. It only knows a few parameters when run from the command line, and there are also only a few things to set up in the context menu, and it doesn&#8217;t look complicated in the documentation either. So I wasn&#8217;t sure why the internet and YouTube aren&#8217;t already full of tutorials on how you can measure input lag in games from the comfort of your home with AMD&#8217;s free tool, and I wanted to make a quick tutorial that would be easy to follow.<\/p>\n<p>And when I started digging more into Frame Latency Meter, I realized why this is probably the case. It&#8217;s not that easy to set everything up correctly, and you run into a number of problems in the measurement process. Rather than being a simple, bug-proof application for everyone, FLM is a classic open source application whose developers assume that you are familiar with latency measurement and won&#8217;t have a problem with the command line or other &#8220;hidden&#8221; settings that you can find in the .ini configuration file. And, unfortunately, it can&#8217;t be said to work seamlessly either. So far, it seems to me that AMD has laid some groundwork on which the community will have to build their own tools with more user-friendly controls if normal people are to be able to use it.<\/p>\n<p>So, consider today&#8217;s article more as an introduction to the application and the basic principles of how it works in case you are one of the more proficient ones and would like to get into experimenting as well. I&#8217;ll try to look at it in more depth later, and when I get some useful and publishable measurement results, we&#8217;ll come back to Frame Latency Meter.<\/p>\n<p>The AMD Frame Latency Meter application can be downloaded from the AMD <a href=\"https:\/\/gpuopen.com\/flm\/\">gpuopen.com<\/a> website. Source code, bug reports and discussion is <a href=\"https:\/\/github.com\/GPUOpen-Tools\/frame_latency_meter\">on GitHub GPUOpen<\/a>.<\/p>\n<p>There are only four files in the zip file, we can extract them to, for example, the directory c:\\flm<\/p>\n<p>readme.pdf<br \/>\nflm.exe<br \/>\nflm.ini<br \/>\nusers_guide.pdf<\/p>\n<p><a href=\"https:\/\/www.hwcooling.net\/wp-content\/uploads\/2024\/11\/flm-extracted.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-209370\" src=\"https:\/\/www.hwcooling.net\/wp-content\/uploads\/2024\/11\/flm-extracted.png\" alt=\"\" width=\"790\" height=\"395\" \/><\/a><\/p>\n<p><strong>readme.pdf<\/strong> is a brief description of the application and a quick setup.<\/p>\n<p>The <strong>users_guide.pdf<\/strong> contains the most detailed description of settings and functions, including keywords for keyboard shortcuts, which are then used to configure keyboard shortcuts in the ini file.<\/p>\n<p>There are some important notes at the end of both the readme.pdf and the users_guide.pdf files. From them you can guess that <strong>for tuning response times for esports games or online shooters<\/strong>, frame latency meter is not the most suitable, and results measured on Radeons with Advanced Media Framework and GeForce or Intel with DXGI are probably not exactly comparable either. AMD comments that in user guide: &#8221; AMF captures frames using driver level components, whereas desktop duplication is<br \/>\ntriggered at operating system levels. The difference in captured frames is not significant to trigger measurements consistently.&#8221; without any further details.\u00a0Therefore, the frame latency meter might be more useful for comparing different system and game settings on the same platform.<\/p>\n<p>AMD has noted the following limitations in the documents:<\/p>\n<blockquote>\n<h3>Known issues and limitations<\/h3>\n<h4>\u00a0Desktop Capture codec (DXGI) performance<\/h4>\n<ul>\n<li>Desktop capture is too slow when monitors refresh rate is set too high &gt; 144 Hz. Try setting the monitor refresh rate to 60 Hz while you get accustomed to how FLM works, then try higher rates.<\/li>\n<li>Certain games may limit the utilization of desktop duplication screen capture, making the option to use the DXGI codec inoperable.<\/li>\n<li>DXGI capture codec must be running on the primary display, else frame capture will be too slow.<\/li>\n<li>The current capture codecs are processing SAD measurements using CPU and may be too slow on some PC<\/li>\n<\/ul>\n<h4>No result shown<\/h4>\n<ul>\n<li>The default settings may not trigger latency measurements. Try adjustments to settings for ThresholdCoefficient\u00a0and AVGFilter in the flm file.<\/li>\n<li>FLM will not work using remote desktop connections<\/li>\n<\/ul>\n<h4>\u00a0Latency results shown are too high<\/h4>\n<ul>\n<li>When games are running at high frame rates FLM measurements show higher values then those measured by<br \/>\nhardware devices.<\/li>\n<\/ul>\n<\/blockquote>\n<p>With the principle on which the frame latency meter works, it can happen that it will not be able to capture all the frames and the measurement in such a case will not correspond to reality. There is a keyboard shortcut for capturing control frames to check if it can handle this, see the readme file for details. The short way to describe this is to run some application that displays a counter for each frame, capture the area with the counter, and after saving the sequence of control frames, go through them to verify that all of them are captured. You can find more detailed descriptiption of testing procedure in user_guide.pdf<br \/>\n<script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script>\n<!-- responsive -->\n<ins class=\"adsbygoogle\"\n     style=\"display:block;background-color:transparent\"\n     data-ad-client=\"ca-pub-8150419924824893\"\n     data-ad-slot=\"6522017574\"\n     data-ad-format=\"auto\"><\/ins>\n<script>\n(adsbygoogle = window.adsbygoogle || []).push({});\n<\/script><br \/>\n<br \/>\n<span class=\"nextpage\">\u00a0<\/span><br \/>\n<!--nextpage-->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 \u2013 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.<!--more--><\/p>\n<p>&nbsp;<\/p>\n<p>You can also get a brief help directly from the command line running the command <strong>flm.exe -help<\/strong>.<\/p>\n<pre style=\"background-color: #000000; color: #eeffee; padding: 10px; border-radius: 3px; font-family: 'Consolas', 'Courier New', Courier, monospace; font-size: smaller; line-height: 1.0; overflow-x: auto; width: 90%; margin: 2em;\">c:\\flm&gt;flm -help\r\nFrame latency meter v1.0.0 command line options\r\n\r\n=== How to run a test ===\r\n\r\nStep 1: Configure your primary monitor to run the game on.\r\n        Set the monitor to use free sync or have it set to an appropriate refresh rate.\r\nStep 2: Run flm.exe\r\n        when you press the right Alt key, you should see a yellow capture region box.\r\nStep 3: Run the game\r\n        Adjust the game scene placement so that the FLM capture region is situated in an area\r\n        where the scene transitions from dark to bright when the mouse is moved horizontally.\r\n        Note: The bounding box will only show if the game is running in window mode.\r\nStep 4: Select start measurements key sequence (default is ALT+T)\r\n        Wait for the capture process to start, it may take a few seconds to start as FLM process data\r\n        you should see the mouse move left and right in rapid concession while the application records\r\n        latency measurements.Some games may require you to press down on the mouse keys to move the mouse\r\n        left and right.\r\n        Console output will show the running latency and frame latency when FLM detects a change\r\n\r\n        RUN: .|.. FPS xx.xx, Latency xxx.x ms, x.xx frames\r\n\r\n        A running series of dots and a vertical bar will indicate at what rate these\r\n        latency measurements are occurring.\r\nStep 5: Select stop measurements and review the console outputs values.\r\n\r\n        Starting measuring\r\n        RUN: .... FPS xx.xx, Latency xxx.x ms, x.xx frames\r\n        Stopped measuring\r\n\r\n=== How to change the capture codec for a test ===\r\n\r\n   Running flm.exe with no command line option, will auto detect the systems vendor and GPU,\r\n   then it will select the best capture codec to use.\r\n   if you want to override this feature, simply specify the capture codec to use in the command line.\r\n\r\n   Capture codec options:\r\n\r\n   -AMF  : Capture frames using AMF codec  (Default option, works only for AMD GPU's)\r\n   -DXGI : Capture frames using DXGI codec (Works on any GPU connected to main display)\r\n\r\n   Runtime options:\r\n\r\n   -FG   : Use this flag when measurements are for games with frame generation enabled.\r\n\r\n   Example usage:\r\n\r\n   flm.exe -DXGI\r\n\r\n   Will use the desktop capture codec, which will run on any GPU supported by DX11\r\n\r\n   For more details on this and more see the users guide.\r\n\r\nc:\\flm&gt;\r\n<\/pre>\n<p>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&#8217;s probably clear that learning how to set up FLM and measure something with it correctly won&#8217;t take only an hour.<\/p>\n<ul>\n<li><strong>InitAMFUsingDX12<\/strong>: To use DX12 instead of DX11 (default).<\/li>\n<li><strong>PrintLevel<\/strong>: Output level (0-3, different measurement modes, normal measurement, accumulated, all measurements on a line, debug).<\/li>\n<li><strong>AppWindowTopMost<\/strong>: Sets the FLM console window to &#8220;always on top&#8221; (true\/<strong>false<\/strong>).<\/li>\n<li><strong>GameUsesFrameGeneration<\/strong>: Adds time delays to measurements using frame generation (<strong>true<\/strong>\/false).<\/li>\n<li><strong>MinimizeApplication<\/strong>: Minimizing the application during measurement (true\/<strong>false<\/strong>).<\/li>\n<li><strong>MouseEventType<\/strong>: Which mouse mode will be used for measurement (0: move, 1: click).<\/li>\n<li><strong>MonitorCalibration_xxx<\/strong>: Monitor latency calibration value for refresh rates (240Hz, 144Hz, etc.).<\/li>\n<li><strong>AutoBias<\/strong>: Automatic bias calibration (true\/false), default is true, if active, ignores the monitor calibration setting.<\/li>\n<li><strong>ThresholdCoefficientMove<\/strong>: Threshold coefficient for mouse movement.<\/li>\n<li><strong>ThresholdCoefficientClick<\/strong>: Threshold coefficient for mouse click.<\/li>\n<li><strong>AppExitKeys<\/strong>: Keyboard shortcut to exit the application.<\/li>\n<li><strong>CaptureFileKeys<\/strong>: Keyboard shortcut to save an image.<\/li>\n<li><strong>ExtraWaitMilliseconds<\/strong>: How long to wait after detecting mouse movement before starting the next measurement (default 10 ms).<\/li>\n<li><strong>ExtraWaitMillisecondsFG<\/strong>: Same, but with frame generation active (default 20 ms).<\/li>\n<li><strong>ExtraWaitFrames<\/strong>: Number of additional frames to prevent frequency doubling or motion blur problems (default 1 frame)<\/li>\n<li><strong>ExtraWaitFramesFG<\/strong>: Same, but with frame generation active (default 3 frames)<\/li>\n<li><strong>MeasurementsPerLine<\/strong>: Number of measurements per line to obtain an average value (default 16)<\/li>\n<li><strong>MeasurementKeys<\/strong>: Keyboard shortcut to start\/stop measurement.<\/li>\n<li><strong>MouseHorizontalStep<\/strong>: Horizontal mouse step (default 50 pixels).<\/li>\n<li><strong>NumDequantizingPhases<\/strong>: Number of stages for dequantization.<\/li>\n<li><strong>OutputFile<\/strong>: File name for saving the measurements (saved in the flm.exe directory, default is FLMlatency.csv).<\/li>\n<li><strong>SaveToFile<\/strong>: Saving measurements to a file (<strong>true<\/strong>\/false).<\/li>\n<li><strong>ShowBoundingBox<\/strong>: Showing the capture area (true\/false).<\/li>\n<li><strong>ShowAdvancedMeasurements<\/strong>: Show advanced measurements (true\/false).<\/li>\n<li><strong>ValidateCaptureKeys<\/strong>: A keyboard shortcut for testing capture speeds to BMP files.<\/li>\n<li><strong>ValidateCaptureNumOfFrames<\/strong>: Number of frames captured (BMP).<\/li>\n<li><strong>Codec<\/strong>: Codec for capturing (AUTO\/AMF\/DXGI).<\/li>\n<\/ul>\n<h3>CAPTURE<\/h3>\n<ul>\n<li><strong>StartX<\/strong>: Initial X coordinates of the capture area.<\/li>\n<li><strong>StartY<\/strong>: Initial Y coordinates of the capture area.<\/li>\n<li><strong>CaptureWidth<\/strong>: The width of the capture area (relative to the screen width).<\/li>\n<li><strong>CaptureHeight<\/strong>: The height of the capture area (relative to the screen height).<\/li>\n<li><strong>CaptureFile<\/strong>: The file name for saving an image.<\/li>\n<li><strong>AVGFilterFrames<\/strong>: Number of frames to achieve 1% stable value.<\/li>\n<li><strong>FilmGrainThreshold<\/strong>: Threshold for film grain effect.<\/li>\n<\/ul>\n<p><span class=\"nextpage\">\u00a0<\/span><br \/>\n<script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script>\n<!-- responsive -->\n<ins class=\"adsbygoogle\"\n     style=\"display:block;background-color:transparent\"\n     data-ad-client=\"ca-pub-8150419924824893\"\n     data-ad-slot=\"6522017574\"\n     data-ad-format=\"auto\"><\/ins>\n<script>\n(adsbygoogle = window.adsbygoogle || []).push({});\n<\/script><br \/>\n<br \/>\n<!--nextpage-->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 \u2013 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.<!--more--><\/p>\n<p>The measurement approach is similar to that of latency testing equipment. These typically support multiple measurement modes. One is measuring the response via mouse button press, another is measuring the response to mouse movement. The button press measurement usually records the difference in time between the mouse button press and the muzzle flash of a gun.<\/p>\n<p>When measuring the response to mouse movement, you need to find a scene that has a sufficiently contrasty transition to move the mouse over. This means standing in front of a solid dark area in front of a light background or vice versa to get contrast vertical transition. The software then simulates side-to-side mouse movement and moves back and forth across the transition, measuring how long it takes the game to change the color in that area under the surface the sensor is scanning in response to mouse movement.<\/p>\n<p>An example with the hardware OSLLT (Open Source Latency Tool) box is in the photo below. The software starts moving the mouse left and right when the measurement is started and the scene moves between the dark column and the brighter road under the sensor.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.hwcooling.net\/wp-content\/uploads\/2024\/11\/flm-osltt-crop.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" src=\"https:\/\/www.hwcooling.net\/wp-content\/uploads\/2024\/11\/flm-osltt-crop.jpg\" alt=\"\" width=\"790\" height=\"443\" \/><\/a><\/p>\n<p>Frame Latency Meter works in a similar way, but instead of a box with a sensor, you set an area where the application will capture the images.<\/p>\n<p>AMD recommends <strong>running<\/strong> the application from the <strong>command line<\/strong> with administrator privileges. In the command line, you start the application with the flm.exe command with the appropriate parameter. You should use the <strong>-AMF<\/strong> parameter on Radeons, <strong>-DXGI<\/strong> on other cards, and add the <strong>-FG<\/strong> parameter for tests with frame generation active.<\/p>\n<p>Once started, right-click in the command line console and a window will open to set additional parameters. In it, the key setting is the region to capture.<\/p>\n<p><a href=\"https:\/\/www.hwcooling.net\/wp-content\/uploads\/2024\/11\/amd-flm.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-209258\" src=\"https:\/\/www.hwcooling.net\/wp-content\/uploads\/2024\/11\/amd-flm-1024x576.jpg\" alt=\"\" width=\"640\" height=\"360\" srcset=\"https:\/\/www.hwcooling.net\/wp-content\/uploads\/2024\/11\/amd-flm-1024x576.jpg 1024w, https:\/\/www.hwcooling.net\/wp-content\/uploads\/2024\/11\/amd-flm-300x169.jpg 300w, https:\/\/www.hwcooling.net\/wp-content\/uploads\/2024\/11\/amd-flm-768x432.jpg 768w, https:\/\/www.hwcooling.net\/wp-content\/uploads\/2024\/11\/amd-flm.jpg 1920w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p>Then just launch the game, load the scene for testing, set the color vertical transition near the region and start testing with the keyboard shortcut (Alt+t by default). And after some time, stop the measurement. You can find the results in the file c:\\flm\\FLMlatency.csv.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.hwcooling.net\/wp-content\/uploads\/2024\/11\/flm-csv-notepad.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.hwcooling.net\/wp-content\/uploads\/2024\/11\/flm-csv-notepad-300x197.png\" alt=\"\" width=\"300\" height=\"197\" \/><\/a>\u00a0<a href=\"https:\/\/www.hwcooling.net\/wp-content\/uploads\/2024\/11\/flm-csv.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.hwcooling.net\/wp-content\/uploads\/2024\/11\/flm-csv-300x201.png\" alt=\"\" width=\"300\" height=\"201\" \/><\/a><\/p>\n<p>Copy it right away, because the utility overwrites it with each new measurement.<\/p>\n<p>The data are in a classic CSV, which you can open in any spreadsheet editor, for the localized ones you have to make sure that the separators are set correctly.<\/p>\n<p>I was planning to do a some tests on Radeon RX 7700 XT using AMD Frame Latency Meter and compare it with the values measured using OSLTT. But when I started comparing the results from OSLTT and from AMD FLM, for some reason the FLM measurements didn&#8217;t seem to reflect the Antilag+ state in the drivers, while the OSLTT measurements did. So I&#8217;ll have to spend more time on this, and if I get results corresponding to OSLTT values, we&#8217;ll come back to Frame Latency Meter with some comparative measurements and experiences with tool.<\/p>\n<p>And for GeForce owners, I like to remind that they have a solution that is not as universal, but works easier and better in games with the Reflex API integrated. In these, you can measure latency with Nvidia&#8217;s FrameView. Maybe we can take a deeper look at it another time.<\/p>\n<p style=\"text-align: right;\"><em>English translation and edit by Jozef Dud\u00e1\u0161<\/em><\/p>\n<p><script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script>\n<!-- responsive -->\n<ins class=\"adsbygoogle\"\n     style=\"display:block;background-color:transparent\"\n     data-ad-client=\"ca-pub-8150419924824893\"\n     data-ad-slot=\"6522017574\"\n     data-ad-format=\"auto\"><\/ins>\n<script>\n(adsbygoogle = window.adsbygoogle || []).push({});\n<\/script><br \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>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 \u2013 the game responds to controls with noticeable lag. There are countless tools for measuring frame rates, but unfortunately not for testing responsiveness. Here [&hellip;]<\/p>\n","protected":false},"author":92,"featured_media":209365,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[770,658],"tags":[255,1194,1191,1192,1193],"class_list":["post-209375","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-analysis","category-graphics","tag-amd-en","tag-esport","tag-input-lag","tag-latency","tag-progaming"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Introduction to input lag testing with AMD Frame Latency Meter - HWCooling.net<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.hwcooling.net\/en\/introduction-to-input-lag-testing-with-amd-frame-latency-meter\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Introduction to input lag testing with AMD Frame Latency Meter - HWCooling.net\" \/>\n<meta property=\"og:description\" content=\"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 \u2013 the game responds to controls with noticeable lag. There are countless tools for measuring frame rates, but unfortunately not for testing responsiveness. Here [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hwcooling.net\/en\/introduction-to-input-lag-testing-with-amd-frame-latency-meter\/\" \/>\n<meta property=\"og:site_name\" content=\"HWCooling.net\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-04T22:59:16+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-05T17:37:01+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hwcooling.net\/wp-content\/uploads\/2024\/11\/amd-flm-630px.jpg\" \/>\n<meta name=\"author\" content=\"Adam V\u00e1gner\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Adam V\u00e1gner\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"16 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.hwcooling.net\/en\/introduction-to-input-lag-testing-with-amd-frame-latency-meter\/\",\"url\":\"https:\/\/www.hwcooling.net\/en\/introduction-to-input-lag-testing-with-amd-frame-latency-meter\/\",\"name\":\"Introduction to input lag testing with AMD Frame Latency Meter - HWCooling.net\",\"isPartOf\":{\"@id\":\"https:\/\/www.hwcooling.net\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.hwcooling.net\/en\/introduction-to-input-lag-testing-with-amd-frame-latency-meter\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.hwcooling.net\/en\/introduction-to-input-lag-testing-with-amd-frame-latency-meter\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hwcooling.net\/wp-content\/uploads\/2024\/11\/amd-flm-1.jpg\",\"datePublished\":\"2024-11-04T22:59:16+00:00\",\"dateModified\":\"2024-11-05T17:37:01+00:00\",\"author\":{\"@id\":\"https:\/\/www.hwcooling.net\/#\/schema\/person\/6e0d316adb2f740a7aa5770e08aa4d03\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.hwcooling.net\/en\/introduction-to-input-lag-testing-with-amd-frame-latency-meter\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.hwcooling.net\/en\/introduction-to-input-lag-testing-with-amd-frame-latency-meter\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.hwcooling.net\/en\/introduction-to-input-lag-testing-with-amd-frame-latency-meter\/#primaryimage\",\"url\":\"https:\/\/www.hwcooling.net\/wp-content\/uploads\/2024\/11\/amd-flm-1.jpg\",\"contentUrl\":\"https:\/\/www.hwcooling.net\/wp-content\/uploads\/2024\/11\/amd-flm-1.jpg\",\"width\":2560,\"height\":1440},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.hwcooling.net\/en\/introduction-to-input-lag-testing-with-amd-frame-latency-meter\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Dom\u016f\",\"item\":\"https:\/\/www.hwcooling.net\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Introduction to input lag testing with AMD Frame Latency Meter\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.hwcooling.net\/#website\",\"url\":\"https:\/\/www.hwcooling.net\/\",\"name\":\"HWCooling.net\",\"description\":\"Performance can have many forms...\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.hwcooling.net\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.hwcooling.net\/#\/schema\/person\/6e0d316adb2f740a7aa5770e08aa4d03\",\"name\":\"Adam V\u00e1gner\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.hwcooling.net\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/799e099115fa5293fa667b5e0408998705705788c94878982db7c02848a7ecac?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/799e099115fa5293fa667b5e0408998705705788c94878982db7c02848a7ecac?s=96&d=mm&r=g\",\"caption\":\"Adam V\u00e1gner\"},\"url\":\"https:\/\/www.hwcooling.net\/en\/author\/adam-vagner\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Introduction to input lag testing with AMD Frame Latency Meter - HWCooling.net","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.hwcooling.net\/en\/introduction-to-input-lag-testing-with-amd-frame-latency-meter\/","og_locale":"en_US","og_type":"article","og_title":"Introduction to input lag testing with AMD Frame Latency Meter - HWCooling.net","og_description":"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 \u2013 the game responds to controls with noticeable lag. There are countless tools for measuring frame rates, but unfortunately not for testing responsiveness. Here [&hellip;]","og_url":"https:\/\/www.hwcooling.net\/en\/introduction-to-input-lag-testing-with-amd-frame-latency-meter\/","og_site_name":"HWCooling.net","article_published_time":"2024-11-04T22:59:16+00:00","article_modified_time":"2024-11-05T17:37:01+00:00","og_image":[{"url":"https:\/\/www.hwcooling.net\/wp-content\/uploads\/2024\/11\/amd-flm-630px.jpg","type":"","width":"","height":""}],"author":"Adam V\u00e1gner","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Adam V\u00e1gner","Est. reading time":"16 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.hwcooling.net\/en\/introduction-to-input-lag-testing-with-amd-frame-latency-meter\/","url":"https:\/\/www.hwcooling.net\/en\/introduction-to-input-lag-testing-with-amd-frame-latency-meter\/","name":"Introduction to input lag testing with AMD Frame Latency Meter - HWCooling.net","isPartOf":{"@id":"https:\/\/www.hwcooling.net\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hwcooling.net\/en\/introduction-to-input-lag-testing-with-amd-frame-latency-meter\/#primaryimage"},"image":{"@id":"https:\/\/www.hwcooling.net\/en\/introduction-to-input-lag-testing-with-amd-frame-latency-meter\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hwcooling.net\/wp-content\/uploads\/2024\/11\/amd-flm-1.jpg","datePublished":"2024-11-04T22:59:16+00:00","dateModified":"2024-11-05T17:37:01+00:00","author":{"@id":"https:\/\/www.hwcooling.net\/#\/schema\/person\/6e0d316adb2f740a7aa5770e08aa4d03"},"breadcrumb":{"@id":"https:\/\/www.hwcooling.net\/en\/introduction-to-input-lag-testing-with-amd-frame-latency-meter\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hwcooling.net\/en\/introduction-to-input-lag-testing-with-amd-frame-latency-meter\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hwcooling.net\/en\/introduction-to-input-lag-testing-with-amd-frame-latency-meter\/#primaryimage","url":"https:\/\/www.hwcooling.net\/wp-content\/uploads\/2024\/11\/amd-flm-1.jpg","contentUrl":"https:\/\/www.hwcooling.net\/wp-content\/uploads\/2024\/11\/amd-flm-1.jpg","width":2560,"height":1440},{"@type":"BreadcrumbList","@id":"https:\/\/www.hwcooling.net\/en\/introduction-to-input-lag-testing-with-amd-frame-latency-meter\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Dom\u016f","item":"https:\/\/www.hwcooling.net\/"},{"@type":"ListItem","position":2,"name":"Introduction to input lag testing with AMD Frame Latency Meter"}]},{"@type":"WebSite","@id":"https:\/\/www.hwcooling.net\/#website","url":"https:\/\/www.hwcooling.net\/","name":"HWCooling.net","description":"Performance can have many forms...","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.hwcooling.net\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.hwcooling.net\/#\/schema\/person\/6e0d316adb2f740a7aa5770e08aa4d03","name":"Adam V\u00e1gner","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hwcooling.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/799e099115fa5293fa667b5e0408998705705788c94878982db7c02848a7ecac?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/799e099115fa5293fa667b5e0408998705705788c94878982db7c02848a7ecac?s=96&d=mm&r=g","caption":"Adam V\u00e1gner"},"url":"https:\/\/www.hwcooling.net\/en\/author\/adam-vagner\/"}]}},"_links":{"self":[{"href":"https:\/\/www.hwcooling.net\/en\/wp-json\/wp\/v2\/posts\/209375","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hwcooling.net\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hwcooling.net\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hwcooling.net\/en\/wp-json\/wp\/v2\/users\/92"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hwcooling.net\/en\/wp-json\/wp\/v2\/comments?post=209375"}],"version-history":[{"count":12,"href":"https:\/\/www.hwcooling.net\/en\/wp-json\/wp\/v2\/posts\/209375\/revisions"}],"predecessor-version":[{"id":209426,"href":"https:\/\/www.hwcooling.net\/en\/wp-json\/wp\/v2\/posts\/209375\/revisions\/209426"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hwcooling.net\/en\/wp-json\/wp\/v2\/media\/209365"}],"wp:attachment":[{"href":"https:\/\/www.hwcooling.net\/en\/wp-json\/wp\/v2\/media?parent=209375"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hwcooling.net\/en\/wp-json\/wp\/v2\/categories?post=209375"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hwcooling.net\/en\/wp-json\/wp\/v2\/tags?post=209375"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}