The scarcity of network cards isn't entirely surprising. Onboard options offer more than adequate performance for most, especially considering that the majority are stuck behind Internet connections that can at best muster only a few megabits per second—hardly a challenge for Fast Ethernet controllers, let alone today's GigE chips. With freebie onboard networking failing to limit performance, not even picky enthusiasts have been able to support a market for high-end consumer networking controllers.
Bigfoot Networks thinks it can change that with the Killer NIC, a network card the company claims reduces lag and improves overall responsiveness in online games. Lag is the scourge of online gaming—a very real impediment to serious players and an almost universal excuse for the poor performance of the rest of us. Surely, the promise of eliminating a problem so widespread would have gamers lined up ready to open their wallets. But the Killer NIC costs around $250, and that's a big ask for a component we've grown accustomed to getting for free.
I've spent the last few weeks exploring the Killer NIC's impact on lag and game responsiveness, and I've come away rather surprised by the results. Are those results, combined with the Killer's other unique capabilities, worth $250? Read on to find out.
Lag and what can be done about it
Anyone who has played an online multiplayer game—and that's just about every enthusiast—knows what lag is: stuttering, jerky gameplay, and an overall lack of the creamy smoothness we've come to expect from modern PCs. Lag's origins can be traced back to issues with the game server, the client, or problems with the network that connects the two.
The most persistent and thorniest source of lag, of course, is the public Internet, a collection of networks that may or may not have the capacity to transfer packets between your PC and the game server in quick, consistent fashion. If any point in the path between the client and server becomes congested, the flow of packets carrying game updates may be delayed or interruptedand in a real-time application like a game, a long delay is just as good as a lost packet. There's no sense in using outdated data or in negotiating to have it sent again. Instead, most games just work around lost or stale packets.
If packet loss or delays become too great, you're suddenly knee-deep in lagfrantically keying in control inputs while the display stutters or freezes. Moments later, when the lag resides, you get to watch your character responding to those commands by firing rockets off into oblivion in a whirling dervish of virtual futility, shortly before being blasted into a fountain of meaty gibs by a quad-damage-enhanced shotgun volley.
Unfortunately, the Killer NIC is simply a client-side device, so it's very limited in its ability to affect what happens in the wilds of the Internet. Clients can mark packets as important and request priority for them, butyou may be shocked to hear thiseven the best ISPs probably don't consider transporting your Battlefield 2142 packets promptly their most urgent custodial duty. As a result, even the best client-side NIC-fu will likely have little effect on network-induced lag.
Interestingly enough, Bigfoot's own whitepaper claims the biggest cause of lag in gaming is "server congestion/slowness whether by CPU limit or bandwidth limit." If you've ever peered at a long screenful of options in a server browser and found yourself thinking that there's really no good place to play, you're probably familiar with this problem. The Killer NIC can't solve this one, either, although Bigfoot says it is working with game developers to deploy solutions that combine the company's hardware with tighter game-engine integration to reduce server-side lag.
So the Killer NIC can't do everything, but it can address one source of lag: the kind caused by the client, your PC. This more limited sphere of influence is where a device like the Killer NIC will have to earn its keep.
The client side of lag
Bigfoot claims client-side lag can be attributed to several things, including optimizations that favor throughput at the expense of latency, limited system resources, and a lack of packet prioritization. The Killer NIC deals with them all under the umbrella of its so-called Lag and Latency Reduction (LLR) technologies.
Bigfoot's most important efforts involve rebalancing the tradeoff between latency and throughput. Generally speaking, if all other things remain equal, networking performance can be optimized to favor either throughput or latency. Many NICs these days use a technique known as interrupt moderation to increase throughput and lower CPU utilization by queuing packets and issuing fewer interrupts. For instance, both Marvell's Yukon and Nvidia's nForce Ethernet controllers offer this feature and enable it by default (though it can be disabled in the NIC control panel for both products) The more packets are queued before an interrupt to deliver them, the higher your throughput becomes, and the less CPU overhead is required to handle a given amount of data. However, the more packets you queue, the longer the delay until they're delivered.
Most users want fast file transfers and smooth streaming media—tasks more dependent on throughput than latency—so these optimizations tend to make sense for the majority. That doesn't help gamers, though, because higher latency can lead to lag in online multiplayer games. Today's games don't really require a lot of bandwidth, but what they do need is constant updates on the state of the game world. You want those updates to be delivered to the game right away rather than languishing in a queue while precious cycles pass by.
To facilitate the quick delivery of important game data, Bigfoot has taken a default "one packet, one interrupt" approach. Every time a packet hits the network card, an interrupt is issued and that packet is delivered—no caching, no queuing, no waiting.
Bigfoot mitigates the CPU overhead associated with frequent interrupts by using its own custom hardware to offload much of the math involved in network processingand by bypassing the layers of abstraction built into the Windows networking stack. When the Killer NIC is switched into "game" mode, Bigfoot's own networking stack replaces the Windows networking stack, saving what Bigfoot claims is as much as three to five milliseconds of latency per packet.
Via Bigfoot's replacement networking stack, the Killer NIC performs hardware offload for not only TCP calculations, but UDP as well. Games typically use UDP rather than TCP, and offloading related calculations can pay dividends by freeing up CPU cycles for the game engine. Since the entire network stack is running on the card, every step of the process is done in the Killer NIC's hardware. Bigfoot says that gives it an edge over other networking controllers with offload engines because they don't handle as much of the work themselves. (That's a plausible claim, since full TCP chimney offload hasn't yet made it into consumer-level NICs.)
Since its own hardware-driven network stack communicates directly with the application, the Killer NIC is uniquely positioned to serve games well. The degree to which the Killer NIC's custom network stack can reduce lag depends very much on how games actually ask for network data. In some cases with well-designed multithreaded games, claims Bigfoot, the Killer NIC can receive a buffer address from a game and perform a DMA operation to populate the buffer directlywithout involving the host CPU and without making additional copies of the data in main memory. The company concedes that some games will see more gains than others based on how their engines interact with the network stack. Some games, or even genres, may be more effective at masking the effects of lag, as well. Bigfoot has produced a white paper with some interesting information about how its NIC interacts with several common types of networking implementations in games, if you'd like to read more.
The final ingredient in Bigfoot's LLR technology is a packet prioritization scheme. Nvidia's nForce GigE controllers offer a similar scheme called FirstPacket, but it can only affect outbound packets. Bigfoot claims its GameFirst feature can affect both inbound and outbound packets. Packet prioritization can't shape how data is delivered to and from your PC once it leaves the network card, but from your RJ-45 jack in, the Killer NIC juggles packets to ensure that games always have priority over other applications. This behavior could help to ensure smooth gameplay while network-intensive tasks are running in the background.