Most of us haven’t really experienced low-latency gaming or wouldn’t be able to tell the difference unless it is explicitly pointed out. If you prefer single-player games with campaigns that rarely have quick reflexes or RPG games where the focus is more on character building and strategic combat instead of fast reactions, then low system latency will hardly matter. In fact, we’ve all certainly experienced really high system latencies during gaming and weren’t really bothered by it. It becomes a nuisance when you start noticing your ingame characters lagging a little behind your controller input. Again, the most noticeable instances would be experienced in online games wherein your ISP’s connection to the game servers take a slightly longer route resulting in higher network latency, and thereby, causing your ingame characters to lag behind a little. Did you notice that we were talking about two different kinds of latencies here? There’s actually a lot more.
Simply put, latency is the time delay between an action and its expected result. If you’re playing an FPS game such as Valorant or CS:GO, the time taken from the moment you press the left-click on your mouse to the moment your weapon inside the game fires a round is the latency that we’re looking at. The term latency can be applied to any such pair of action and reaction but since we’re only concerned with gaming, we’re going to look at two types of latencies – system latency and network latency.
It should be understood that we don’t all experience it in the same manner across all video games. A lot of that rides on how the game developer implements their netcode (the code that lets your video game instance talk to a server and respond back). For example, in Valorant you’ll experience a more generic regression across all game mechanics except movement. Your character will still move freely across the game map but you won’t see your enemies or any skill animations properly. Whereas in CS:GO, you’ll experience enemies teleporting from one spot to another and a little bit of rubberbanding i.e. your character ends up being pulled back in time and you see all your recent steps in reverse order, after which it all reverts back to your original position. Team Fortress 2 acts in a similar manner as CS:GO and that has a lot to do with both games being developed by the same company, Valve. Whereas Valorant is made by Riot and has a different netcode. Hopefully, you now understand network latency because what we just explained has mostly to do with network latency.
Let’s do away with network latency for a while. Imagine you’re sitting right next to the game server and you’re experiencing near 0ms network latency. However, your actions still seem to have a slightly delayed reaction ingame. It’s a very negligible amount of delay but just about enough to make you grind your teeth with each shot that you miss. You could swear that you had the enemy all lined-up in your crosshair but your shot seems to have miraculously missed the moving target. Time and time again. This is especially experienced when you’re scoped into an enemy at a mid-to-long distance.
The latency at play here is the system latency or total system latency. And it involves several components of your PC from the mouse that you’re using to the processor, graphics card and even the monitor that you’re playing the game on. The impact of each component adds up to the overall system latency. A poorly designed mouse could add a delay to your clicks specially when you’ve connected it to your PC via a USB hub or if it’s using one of the antiquated wireless technologies. A weak processor could lead to sluggish gaming performance and the same can be said about the graphics card. Then comes the monitor which would add a few milliseconds of its own to the overall mix.
Now, this is quite common when the hardware isn’t up to the mark. What happens if you’re running really powerful and fast hardware but you’re still experiencing high system latencies? In this situation, you’re either looking at a poorly made video game or your PC components aren’t talking to each other properly. For the sake of this article, we’re going to rule out the former possibility.
Game developers have to account for a wide assortment of hardware combinations when building PC games. There’s little chance that gamers are all running the exact same configuration using the exact same set of PC components bought from the exact same set of brands. So when you have to factor in so many different combinations, you can’t really optimise your game for every combination out there. As a result, you’ll end up giving little leeways. These leeways then have other impacts, one of them being higher system latency.
This is where NVIDIA Reflex comes into the picture. NVIDIA Reflex is a collection of technologies which help gamers and game developers measure system latency and take appropriate actions to improve the same. Getting your hardware to talk to each other in the right fashion is NVIDIA Reflex’s job. Here are all the technologies within NVIDIA Reflex at a glance:
NVIDIA Reflex SDK - A software development kit for game developers to implement a low-latency mode and other features within their video games. These include - Reflex Low Latency Mode, Low Latency Boost, Reflex Low Latency Mode UI, In-Game Latency stats, and Reflex Latency Analyzer Flash Indicator. Apex Legends, Call of Duty: Black Ops Cold War, Call of Duty: Modern Warfare, Call of Duty: Warzone, CRSED F.O.A.D., Destiny 2, Enlisted, Fortnite, Kovaak 2.0, Mordhau, Rainbow Six: Siege, Valorant and Warface are the games that have currently incorporated it.
NVIDIA Reflex Low Latency Mode - Boosts responsiveness by getting the CPU and GPU to work in an optimal fashion so that the GPU does not have waste time while pushing out frames to the display.
Low Latency Boost - Overrides the power saving feature within the GPU to allow the GPU to run at higher clocks, especially with CPU-bound games.
Reflex Low Latency Mode UI - A graphical in-game overlay that provides gamers stats such as Render Latency, Game to Render Latency, Client FPS and Game Latency.
Reflex Latency Analyzer Flash Indicator - A flashing box that can be placed anywhere on the screen. This box flashes in response to your mouse clicks and provides a clear and very visible indicator that can be used to measure latency.
NVIDIA Reflex Latency Analyzer - A feature in select 360 Hz G-SYNC gaming monitors that enables measuring end-to-end system latency.
To understand this, we need to look at the entire process that each action has to undergo before you see the reaction within the game. It starts with the moment you press the left-click button on your mouse to the time your in-game character shoots their weapon.
End-to-End System Latency - This is the total time taken per frame from the very first input given via a keyboard or mouse to the final output seen on your monitor.
Peripheral Latency - Time delay resulting from the hardware and firmware within the mouse.
PC Latency - Time involved by all components of the PC to react to your action and then send out the proper response via the GPU.
Game Latency - Latency within the game engine when it updates positions of various animate and inanimate objects within the frame which is then sent to the graphics API runtime.
Render Latency - Once the graphics API receives the updates from the game engine, it will send the same into the GPU render queue. Render latency involves the delay within the render queue and the actual render process within the GPU.
Display Latency - The time taken when the GPU is feeding each ready frame to the display, line-by-line as per the refresh rate of the display. Which will then be processed by the monitor and then each pixel is activated to the corresponding value from the frame.
All of the above work together in a linear fashion with some amount of parallelism. To better visualise the same, we can take a look at the render pipeline of a typical game. Here we’re looking at four simultaneous frames of a video game being processed across different stages of the render pipeline.
It should be understood that not every frame requires a human input to be generated which is why even if you are not moving within a game, the entire game continues to run and the display continues to be updated.
The very first frame is ‘Frame 4’ followed by ‘Frame 3’, ‘Frame 2’ and ‘Frame 1’. Let’s look at the CPU, Render Queue and GPU timelines. We can see that there’s plenty of time delay between the processing of two subsequent frames at the CPU level which means that the CPU is making quick work of whatever frames are assigned to it. The CPU then puts frames that it is done processing into the render queue. The render queue then feeds the GPU. At both these stages, we see there’s no waiting time between two subsequent frames. This tells us that the workload is GPU bound i.e. the GPU is the bottleneck. And this is where NVIDIA Reflex comes into the picture.
NVIDIA Reflex empties the Render Queue and the game is able to time the CPU workload so that it keeps pace with the GPU. This way the CPU doesn’t run off ahead of the GPU. Another benefit of delaying the CPU work is that peripheral inputs can be sampled at the very last moment. So that leads to a reduction of peripheral latency as well. Overall, you experience very low latency and that improves your gameplay experience. Here are some benchmark numbers from NVIDIA to showcase the impact of NVIDIA Reflex.
It can be seen that the impact varies across different video games and depends on how the game developers implement NVIDIA Reflex SDK. Certain games such as Valorant show significant improvement that could aid eSports professionals to gain an advantage over the competition.
While NVIDIA Reflex is a new technology, it is not limited to the latest GPUs from NVIDIA. In fact, if you have any graphics card from NVIDIA after the GTX 900 series, you can run games that have incorporated NVIDIA Reflex technologies. Moreover, NVIDIA is working with hardware partners to ensure that more gaming mice and displays support NVIDIA Reflex technologies. So the ecosystem is expanding on a daily basis.