You may notice that several websites on the internet like Tom’s Hardware, Anandtech, and The TechReport have begun to use frame latency benchmarks instead of frames-per-second (FPS) averages. What is this new fandangled thing and how does it help you?
First, let’s get into refresh rates. When your GPU outputs images onto your screen, it separates them into multiple horizontal lines that match your resolution, e.g. 1080p has 1080 horizontal lines. The way your computer puts out images to your screen is by drawing the image onto the screen in a left-to-right fashion, completing each line before moving to the next. Completing all the horizontal lines gives you a single image, i.e. a frame. Once the frame is drawn, the screen resets itself to a blank state and then starts the process all over again for a new frame.
The redrawing of frames is a process called refreshing the screen. The faster these refreshes occur, the smoother the animations on the screen are, whether you’re typing or playing a game or watching a movie. Many computer screens available today refresh the image shown at speeds up to 60Hz – sixty refreshes per second. 120Hz is 120 frame redraws per second.
The acceptable threshold for fluid motion is a subjective one, but there are baselines. In film, the industry has standardised on 24 frames per second to accurately reproduce motion without blur. Many TVs only work at 30Hz. For consoles, many games are limited to a continuous 30fps for better performance. For many gamers, 30fps is their minimum allowance before they can perceive motion blur and lag.
Its important to note that displaying data is all the screen ever does. It runs at a constant speed that is matched to your resolution.
The process that those single frames take from creation to display in a game goes through a number of steps.
There are four steps to creating the frame. T_game is the hardware code that the processor and GPU work with. That gets put into a frame that the GPU spits out at T_present. FRAPS, a popular application to measure your game performance in FPS, measures how many and when the T_present frames are created. The next step involves DirectX or OpenGL and the GPU drivers, which make the finishing touches to the frame including removing jagged lines, changing colours and sharpening details.
That is then given back to the GPU to finally render (T_render) and display (T_display) on your screen. This process happens many times per second but it doesn’t always run on time. Remember, the screen’s only job is to display what it is given and it runs at a constant speed. Between T_present and T_display, driver software can impact your gaming performance greatly.
TechReport began with frame latency benchmarking in September 2011 by using FRAPS to show how many T_present frames were being delivered by the GPU after running through the game code, before being run through all the software. Notice their table, which shows the required time to finish the entire frame creation to match the refresh rate.
For a solid 60Hz, a new frame has to be created, drawn, rendered and delivered every 16.7 milliseconds. As you can see, the cards they were testing for Bioshock Infinite, AMD’s HD7850 and Nvidia’s GTX650 Ti Boost vary a lot in delivering frames at the required times, but this is still before the graphics drivers have their say in how things go.
Frames are both delivered early and late in several sections of the benchmark, which results in graphical artifacts like screen tearing, stuttering and missing frames. Too much performance is sometimes a bad thing. Because TechReport captures this data in game levels that are the most demanding, if a GPU does well here it’s a safe bet it’ll run through most of the game with ease.
Another website pioneering in frame latency benchmarks is PC Perspective. Partnering with Nvidia, they analyse frames using specialised software made by Nvidia to calculate the final latency after all the frame is delivered to the screen, at T_display.
Nvidia’s tool that they’ve been using to monitor frame latency in their labs is called FCAT (Frame Capture and Analysis Tool). FCAT takes the frames in the T_present stage and adds colour overlay on the left-hand side of the image, which is preserved throughout the rest of the process.
This overlay is then analysed by Nvidia’s FCAT on a machine that used a video capture card to record the frames as they’re delivered. The idea is to get a good look at how to best optimise frame delivery on both the game engine and the graphics drivers. You’ll notice that a single screen is never one solid colour – this is because frames are either delayed or delivered too early to match the refresh rate.
This is a highly simplified look at how the process works, but it gives you an idea of what frame latency benchmarking is used for. Reviews that only look at FPS averages miss this completely, because the game does not behave in the same way all the time and a simple driver or hardware hiccup every 60 seconds can ruin your experience. With these tools available, graphics card manufacturers like Nvidia, AMD and Intel will need to up their game and work harder to make their software better.