LLR & MaxFPS
The "Lag and Latency Reduction" and "MaxFPS" are features that optimize the KillerNIC for providing the best possible gaming experience. This is done by optimizing the network stack allowing for time critical data to get to and from the game at the lowest possible CPU usage and lowest latency.
The diagrams on this page are taken from the KillerNIC LLR White paper.
The main game loop is all of the calculations that the game engine performs for each rendered frame. Depending on what game you are playing this will differ a bit. In most FPS games the client side program does the following: Check for incoming updated information regarding player positions and game state, transmit your player position to the server and update your player state.
While doing this cycle the program updates the graphics and effects so that the viewed image matches the information received from the server. Now to combat packet loss and other network fluctuations most game engines uses interpolation to make player and vehicle movement seem smooth. Interpolation is a really simple concept, based on the current position, heading and speed of the player you predict where it will be after a certain time if no change in those three variables occurs. This interpolation actually makes the visible interpretation of player movement vary from where the player actually is if something changes in the timeframe the interpolation predicts. This isn't a problem in i.e. World of Warcraft or any other strategic game because it doesn't matter where you hit the object in game. But in FPS games like CS, CS:S, and BF2 this has a huge impact on hit-registration, because you can't tell whether what you see (and aim for) is in sync with the state on the server. MaxFPS ensures that CPU isn't burdened by network load and processing and ensures that packets can go from the NIC to the game client as fast as possible and therefore decreases your internal latency. Overall this should help to increase the accuracy of hit-boxes and make the game run smoother.
When the hit-boxes aren't in sync with the image displayed it may look as if you are hitting a player while you are actually shooting into thin air. This can cause a lot of frustration because you can't figure out how to kill the enemy.
Sometimes the hit-box movement can be quite erratic this makes it quite impossible to judge where to aim, the most likely cause of this is that the game lacks a valid update from the server. Now there can be several causes to this problem, the obvious are of course packet loss from and to the server or a latency that is above the interpolation time used by the game. Besides that these episodes can also be caused by some program using the same resources as the game, i.e. MSN / ICQ / AIM. The KillerNIC has a decent solution to this cause of "lag" and that is to prioritize game packets above instant messaging packets and the likes. This is done by the NPU and rest of the LLR chipset on the KillerNIC without any user intervention required.
Besides keeping the internal latency at a minimum the card has a ping throttle feature that allows you to increase your internal latency by up to 20 ms. This can be done to give equal opportunity for players of two teams located in different countries to have a good game experience.
Another important feature of the LLR chipset is to get data to and from the game as fast as possible. This diagram shows how this is done with regards to the rest of the system and the access to shared resources within your computer. Some of the latency inducing cycles are removed by implementing LLR technology. Besides increasing FPS, this should make the gameplay more coherent and using up to date info.
FNA
Flexible Network Architecture Applications are another way to offload some programs from you main hardware to the KillerNIC card. The FNA applications are run directly on the card’s hardware without affecting your primary hardware's performance. At the moment a lot of FNA applications are being developed for the KillerNIC series cards. One of the applications that was available from the launch of the card was the FNA Firewall, which works just like an ordinary software firewall that can be adjusted from Windows. The only difference is that it's run on the KillerNIC card so that you can have a high level of security without affecting your PC's performance.
Another interesting FNA application is the FNA BitTorrent client which can download torrents to an external hard drive hooked up to the KillerNIC. This means that you can download torrents without affecting the performance of your PC. Now anyone who has ever used a BitTorrent program will know that the kind of multi threaded network load they produce makes them take up quite a lot of both system memory and require a lot of read and write operations from your hard drive. When using a BitTorrent client you are often connected to up to 200 seeds / peers and since each client has to negotiate a contact, the network load is often high because it needs to open a lot of connections and update them from time to time. Besides that you have a multitude of packets coming from a lot different seeds / peers that the program has to keep track of and log so that as little as possible time is wasted.
If you are an experienced Linux user or coder you can actually code your own applications via the SDK provided by Bigfoot Networks. I'm sure that some of you out there will be able to code some smart and time saving applications to run on this card.