StarCraft II Kills Both Time and Graphics Cards
If you love video games, you’ve probably felt the excitement around the launch of StarCraft II – the long awaited sequel to the classic real time strategy game StarCraft. With over 1.5 million copies sold in the first 48 hours after launching, StarCraft II is on its way to becoming a hit video game. Yet like most new video games just released into the market, StarCraft II has its share of bugs and issues. For example, it overheats graphics cards and causes system crashes.
Wait, since when can software break modern hardware, and shouldn’t there be some kind of protection in place to keep that from happening? The answer is “yes,” and despite all the protections that do exist in a modern computer, StarCraft II can still overheat a graphics card.
To understand why, you first have to understand how video games render visuals. Over and over, many times per second, a game scene is processed and then displayed to the monitor. Once the game exceeds a certain number of display updates, or “frames,” in a given second, your brain stops seeing rapidly changing pictures and starts seeing animation. The faster your hardware, the more frames you can show per second (a term called framerate). The more frames you can show, the smoother the animation.
Besides faster hardware, the other way to increase framerate is to simplify the software so there is less work to do in a given scene. It turns out that StarCraft II has a few scenes that aren’t that complicated to render – mostly things like cut-scenes and game menus. Those kinds of things can be rendered and updated fast – really fast. Usually a game will cap the number of updates that can be run in a given second because nobody can see the difference above about 30 or 40 frames per second. But StarCraft II forgot to include a framerate cap, so some of the simple scenes are rendered over and over so quickly that the game can overheat a graphics card.
So why do the video drivers allow this to happen? Shouldn’t they prevent a game from asking too much of the graphics card? Well, those drivers do have built-in limits, but those limits are based on some assumptions. In most computers, a graphics card gets its cooling from fans moving air through the case, and in most computer cases there is enough airflow to keep everything sufficiently cool. The video drivers assume that so long as the workload never exceeds a certain limit, then the graphics hardware will stay plenty cool if the fans are working properly.
So why are those assumptions wrong? Because real computers have imperfect airflow, mostly because they’re dusty or have old fans. So if you’re a frustrated StarCraft II player whose game keeps crashing, then you might just need to find a can of compressed air and clean out your computer or replace some of your older cooling fans. If that doesn’t work, Blizzard has also posted a workaround that will limit the game’s performance until they can release a proper fix.
If you read my previous blog post about glass factories and variability, then this is yet another example of how variability can create bugs despite near perfect software testing. The solution is to understand that randomness and then test in way that captures as much real-world variability as possible.








I think that GeForce is one of the best graphic card…