Wednesday, October 19, 2011

Sampling Different Types of Anti Aliasing

Anyone who pays much attention to settings that can be forced in drivers or games has probably noticed by now that there's a whole lot of different types of Anti-Aliasing. The main two things people know about it though, are that it murders GPU and VRAM, and that it makes things look smoother. The method behind the madness, however, is generally regarded with the same apprehension usually reserved for Voodoo rituals.

In a recent post, I discussed the benefits of Anti-Aliasing and how they apply to the average gamer. That doesn't change the fact that there are a whole helluva heap of acronyms, and apparently some of them are easier than others, and they theoretically all do the same thing, in different ways, using different amounts of resources, and for some reason, we always refer to it in multiples, like x4, x8, and so on.

Just as a quick recap, Aliasing is what we call it when a line that isn't directly vertical or horizontal is depicted in pixels, and gets a little staircase effect. Anti-Aliasing is just there to make your eye think that isn't happening to things look pretty.

One of the earliest forms of AA in gaming was SuperSampling AA, or SSAA. It just happened to be a bit too brutal for the graphics cards of the day, and got phased out for a while, but is making a comeback now. Supersampling basically means rendering the scene at a higher resolution so that each pixel you'll see is composed of more pixels. These pixels then get blended based on various algorithms, which were either determined by throwing darts or by someone way smarter than me. There's also adaptive supersampling, which mostly seems to involve a combination of witchcraft and tarot to determine which pixels actually need to be full supersampled, which means your GPU takes longer to explode trying to do all that work.

FSAA, or Full Scene AntiAliasing, is just another name for Supersampling, since they needed something new to call it to not scare the pants off of people who watched SSAA turn games into slideshows back in the day.

MultiSampling AntiAliasing, or MSAA, one of the versions we see more often, is essentially a refinement of SSAA that uses less GPU horsepower by only sampling certain portions of textures and polygons, based on depth and location in the scene. The best I've managed to understand the specifics imply some sort of mathematical formla involving the cosine of the square root of negative infinity minus pi. Or some such nonsense. Basically, it isn't quite as pretty, does part of the same job, and beats less of the shit out of your graphics card. Got it? Good, now help me figure it out, it gets more confusing every time I try to understand it.

Of course, there's still one thing we haven't covered. Where the hell does the x4, x8, etc. come from? Well, roughly, that tells it how many "samples" you want rendered for pixels that it decides need samples rendered for. Then it promptly goes back to the roulette wheel to decide which pixels to make prettier, and hey presto, it automagically looks better!

I hope this has been either educational or entertaining, if not go back and re-read the parts that confused you, (paragraphs 1-7?) while I go take a tylenol.

Tuesday, October 18, 2011

Anatomy of an E-Sport

E-Sports are starting to be something that people occasionally hear about. Big international gaming tournaments, with prizes of thousands, or tens of thousands of dollars. That's a lot of damn money for a video game. Especially if you're a top player, salaried, on a team, we ain't in momma's basement no more.

Just a couple of days ago, I was sitting in a sports bar, watching the finals of Major League Gaming's Orlando event. Dozens of other people there, cheering for some awesome Starcraft 2 players, having a couple of beers, yelling, big screen TV's, the works. This is getting big, and with the increasing emphasis of technology in the modern world, it's not going anywhere.

So what makes for a game that can be an E-Sport? We have various games to look at, Halo, Call of Duty, League of Legends, DOTA, HoN, Starcraft 2. Not all of these games seem to have much in common. From the shooters, to the real time strategy, to the Multiplayer Online Battle Arena.

The first factor they need, obviously, is a means of direct competition. A means of pitting people against each other, rather than just the game. This lets you see whose tactics, strategy, mechanics, and game knowledge is actually superior in a tangible sort of way. Team play isn't required, but it does add some depth to some games.

Next, they need little to no random factors. People don't watch professional Yahtzee, for some weird reason. Might have something to do with the fact that random chance can have too much of an adverse effect on skill. I still don't have a clue why people enjoy watching poker tournaments. Sure, there's some cool dynamics, but when the best player can be crushed by the vagaries of fate, it's kind of detrimental to enjoyment, at least for me.

Another important notion is a high skill cap. If it's easy to keep pace and do everything, it takes challenge out. This is why certain games, particularly fighters and shooters, will occasionally put limits on what is allowed in competitive play, whether it's disallowing specific weapons, characters, or anything else. This is there so that something that requires demonstrably less skill to be effective doesn't skew the competition by forcing everyone to use to stupid overpowered stuff to be competitive at all.

Also important is a certain amount of tension. There needs to be some sort of edge, a palpable means of pressure building on the players. American football has third and long, or fourth and inches, field goals, and other moments where one exceptional play can make or break a team. If the game is capable of hanging by a thread, or balancing on a narrow ledge, where it can go either way at any second, it draws in attention.

Finally, for an E-Sport to be successful, there needs to be some sort of exterior community. People gathering, whether it's online or in sports bars, at tournaments or in houses, there needs to be sufficient gatherings of people to draw the sponsors. Without sponsors, you don't have player salaries, you don't have big tournament payoffs.

There may be other factors you can think of, but this is, I think, the true essence of an E-Sport. Just about anything that combines these factors is likely to succeed.

Saturday, October 15, 2011

Anti Aliasing, GPU Murder, Justified, or No?

Anti-Aliasing, multi-sampling, 8x, 16x? Analytical? FSAA? What the hell is this shit, why can't I max it, and what am I looking for that makes it worth turning my GPU into an EZ-Bake oven? It can be kind of annoying when you're beating your framerate into the floor for something that's pretty hard to spot specifically unless you know what to look for.

Lucky for you, you don't need to look any further to find at least some of the answers. Simply put, AA is designed to make angled line on square pixels not look like a staircase. Since each pixel can only have one RGB value at any given time, you can't just have it be half and half with two different colors. The way Anti-aliasing fixes this, roughly, is to take raw texture data for some or all of the pixels involved, and kind of blend the colors in a way that lends itself to both sides of the line, making the transition appear smooth.

One of the reasons this is difficult to spot for a lot of people is pixel density. Most displays have fairly high density, which basically just refers to how much area the pixels are packed into. 22" 1920x1080 has the same number of pixels to play with as 30" 1920x1080. That means that the bigger your display, the larger the pixel, which can exaggerate the staircase shape on angled lines.

The fun thing here, is that the better your pixel density, the less you need AA. You might need 4x or so at 22" 1080p, but at 32", you should be trying to max it for lines that look similarly smooth. The different varieties and multiples involved, like 8xMSAA, or 4xSSAA are just different methods that can be used to determine what the resulting pixel data will be.

0xAA
4xaa
8xAA 




















These three images were originally taken in 1080p from Dragon Age 2, DX11, Highest quality everything, with the only thing changing in each shot being the level of Anti-Aliasing, as seen in the captions.

Now that I've explained anti-aliasing, spotting it should be easy, right?

 I'm guessing a lot of you out there actually have to work really hard to spot it, right? Like I said, the smaller the pixel, the smaller the square shape, the smoother the line, even without anti-aliasing.

On my 32" TV, I can barely see the difference between 4x and 8x at desk viewing distance.


 So, now that we've gone over exactly how big of a difference it makes, you can see that trying to max this may not really matter for your overall gaming experience. Given the massive GPU horsepower needed for high AA with decent quality textures, it can be an expensive prospect to truly max every game that comes out.

But, if you can live without something you can't see or can barely see, you can generally get by with a lot less power. The exact difference will vary a good bit from game to game, but frequently, if you're getting slightly jerky FPS at 8xAA, dropping to 4xAA will get you fairly smooth, in my experience. That's a big performance difference for a barely visible change.

Now obviously, this is one of those things where everyone needs to draw their own conclusions. I'll keep using insane PCs, because getting performance out of them is half the fun. But for people wanting performance on a budget, check the AA used in benchmarks, and you might just find that you'll be ok with a card that doesn't look quite as pretty if all you see is how long the bars are.