Input lag - it's a crucial factor in defining the 'feel' of a game, and especially important for gameplay in the first-person shooter genre. Right now, two franchise giants battle it out for supremacy in this key market: Call of Duty and Battlefield. Which offers the fastest, most responsive controls? And in turn, how to do they compare with other key titles in this most competitive of genres?
First off, let's define input lag and how we measure it. Put simply, we define it as the time taken between pressing a button and the resultant action playing out onscreen. Actually measuring this is challenging: back in the day, we used a latency controller monitor board built by Ben Heck and used by Infinity Ward and others in measuring lag. It tied LEDs to controller inputs, you pointed a high-speed camera at the board and the display and you simply counted the frames between the LED lighting up and the animation kicking in on-screen. It's a great solution, but a little unwieldy and the only way to ascertain precisely when the button is pressed requires investing in a super high-speed camera. Enthusiast Nigel Woodall - a keen fighting game fan - has taken it to the next level with the technology that we use here at Digital Foundry today.
Woodall's equipment converts HDMI to analogue component, then disables two of the components when the button on the controller is pressed, producing a green bar on-screen. Then you simply count the frames between the green bar and the animation kicking in - for our tests, we used the most crucial of actions: firing a weapon. Woodall's method has two advantages: first of all, you no longer need a high-speed camera of any description. You simply capture the analogue component output, and count the frames from there. And secondly, you get sub-frame accuracy on the input phase, allowing for even tighter results.
It's a brilliant solution to get millisecond accuracy, but results can still vary. With that in mind, we believe the best methodology is to take lots of samples, averaging the numbers out - something Nigel Woodall does himself with the 'report cards' on his Twitter account. Another thing to bear in mind is that depending on the game, different button presses take different lengths of time to register. So, in Battlefield 1, for example, changing a weapon takes five or six frames from pressing the triangle button to getting a reaction on-screen. Firing the gun? Well that happens a lot sooner, between three to four frames. So, for all of our tests here, with the exception of Halo 5, we've standardised on playing the PS4 versions, using the R2 button to trigger a gunshot. Obviously, we would like to get more Xbox One tests in there, and hopefully that's something we can return to soon.
Now, the two key franchises - Call of Duty and Battlefield - both came to prominence in the last-gen era. They're 60Hz titles on current-gen, but back in the day only COD targeted that gold standard in console frame-rate. Based on the PS3 results (Xbox 360 may be tighter), Modern Warfare 2 produces input latency in the region of 77ms. Compare that to the 157ms we get from Battlefield 3, a 30fps game with drops below that, and it's clear why one felt tighter to control than the other. DICE adapted though, and Battlefield 4 - a cross-gen release with both PS3 and PS4 versions - handed in a massively improved 97ms, pretty good for a 30fps game on PS3. It felt better, but it still wasn't quite good enough. The PS4 release, based on the same engine and running at 60Hz, cut latency down to a highly competitive 63ms. Clearly the jump to 60fps plays a big part in this, but what happened to Call of Duty with newer titles, and has the situation improved for DICE on even later games?
The truth is that latency has reduced significantly, to the point where both key franchises are handing in sensational results. The established wisdom is that the more advanced the graphical pipeline, the laggier the experience. This is borne out to a certain extent in the fighting game genre, where the visually lush Tekken 7, running on Unreal Engine 4, has input lag in excess of 100ms. This is lag more in line with a 30fps game, even though the game is locked to a beautifully smooth 60fps.
DICE's Frostbite engine is one of the most advanced renderers around, but despite the many visual improvements made since Battlefield 4, latency has decreased - our measurements pin it at a very sharp 56ms. As good as it is, Call of Duty leapfrogs it with an even lower 39ms reading in Infinite Warfare. That's a lead of one frame, and it's the same story for the Modern Warfare remaster on PS4, again built on the same engine groundwork, where we get a 40ms reading. Effective parity is perhaps to be expected here, bearing in mind that both are built on the core engine developed for 2014's COD Advanced Warfare.
|Last-Gen Tests||Input Lag||Target Frame-Rate|
|Call of Duty: World at War||72.5ms||60fps|
|Call of Duty: Modern Warfare 2||77.5ms||60fps|
But let's be clear here. 56ms is still a phenomenal result for Battlefield. Provided the frame-rate sits at 60fps, the series has never felt snappier in the hand. This result even stands for the multiplayer mode, which hands in identical results. It's worth stressing though, that the perception of lag can come from all sorts of other factors, besides the game renderer. The dead zones on the analogue sticks are different for each game. Also, your TV settings can have a big effect too, as well as the latency of your TV panel. But in general, 56ms in Battlefield 1, and 40ms in today's Call of Duty games, gives you the best visual feedback - and let's be in no doubt about this, it's greatly attributable to a 60fps target.
And here's why: if we look at a game like Killzone Shadowfall, using the 30fps cap option in single-player, the difference in response is substantial. In this case, we get 110ms in the campaign, which that whether we're talking about the last-gen or this gen, 30fps titles simply operate with a higher level of latency. On the other hand, Killzone's multiplayer mode lets you see the same renderer operate at 60fps, this time hitting an average result of 89ms. That's a 20ms difference, surely down to running the game engine faster. It's still some way short of the franchise champions though, but more in line with other PS4 60fps shooters.
For example, Blizzard's Overwatch scores a 76ms latency result based on our tests. Curiously, we discovered that the first reaction comes from the results of Overwatch's physics engine, rather than the gunshot. So in effect, a physics-based object in your sights reacts to your gunfire one frame ahead of your weapon even firing the bullet. At 76ms, it's also in the same ballpark as the likes of Titanfall 2, which measures at 71ms from repeat R2 button presses.
|Current-Gen Tests||Input Lag||Target Frame-Rate|
|Call of Duty: Infinite Warfare||39.3ms||60fps|
|Call of Duty: Modern Warfare Remastered||40.3ms||60fps|
|Killzone Shadowfall Multiplayer||89.8ms||60fps|
|Killzone Shadowfall Single-Player||110.0ms||30fps|
Titanfall 2's result is a surprise, as it simply feels terrific to play - which initially we put down to tight input lag. Especially on the left stick controls, wall-running and strafing feels especially sharp. But again, that 71ms reading may be down to the difference between the sticks' reaction speeds, and the latency from buttons and triggers. Out of interest, we also tried Doom 2016: this gives some of the higher latency results from a 60fps shooter, at 86ms on average. It didn't matter which weapon we used, be it a shotgun or pistol, but that number is consistent.
Put it down to the game's complex rendering pipeline. Clearly, pushing for a maximum 60fps on console only takes you so far. Buffers for lighting, post-effects and even the method of v-sync can all play a role in the time it takes for an image to hit the screen. At five frames, Doom is on the higher side than what you'd expect, but it still feels rapid, and certainly there's no noticeable disconnect between controller and gameplay.
On the other hand, we have a game like Halo 5 on Xbox One, this time tested using Microsoft's standard pad. And the result here is encouraging. 343 Industries makes input latency a priority, and as the first new console Halo title to target 60fps, it pays off. 63ms is the average read-out from a trigger press, making it one of the fastest responding shooters on the market.The origins of the walking simulator A step back in time.
So what's the takeaway? While Call of Duty is the latency winner overall, Battlefield One is no slouch at all, and we must remember, the Frostbite engine offers high-end technologies that contribute to the difference. Factor in more advanced physics-based destruction, vehicles, and a sandbox design to maps, and no doubt DICE's engine has major advantages. Despite Battlefield's ambitions, it also beats games with far less sophisticated renderers. Infinity Ward and others have taken the COD engine in other directions but the fact that BF1 only just falls short of taking Call of Duty's crown as the fastest FPS on console, really is to its credit. However, our figures do need to be put into context. One thing worth pointing out is that our measurements were taken at the optimal 60fps for both major franchise titles. In busy 64-player maps, frame-rates will drop, which impacts latency. In this respect, while COD may be less sophisticated, it is more consistent, and we suspect that its rock-solid frame-rate and response are important to its playability.
We'll update this article when we can with further measurements - Destiny 2, Call of Duty WWII and Star Wars Battlefront 2 are in our crosshairs - and we'd also like to measure Xbox One versions too to check for variance between platforms, but in the here and now, the news in terms of playability is good. Games are getting prettier, but the two key FPS franchises are getting faster to respond too, with impressive improvements in the quality of the interface between player and game.