Crossfire, Eyefinity and You.

May 18, 2013 Off By ReverEND

Recently, I upgraded my computers video card from a GTX275 to dual 5870’s to, hopefully, increase the framerate and overall enjoyment of having 3 monitors.

Prior, I was using SoftTH for 3×1 gaming.  While the software was extremely flexible and, personally, a more preferred method of Mult-monitor gaming as it allowed far more customization.  The 5xxx cards are MADE for multi-monitor gaming thru Eyefinity.  Sure, it sounds like just a gimmick, given that SoftTH proved just about anything could do it.  But, the Radeon 5xxx line was designed with this in mind, with the ability to hook up 3 displays to one card, and a hefty amount of streaming units to help keep those higher resolutions running smooth.  Going from SoftTH to the built in Eyefinity setup, I gained anywhere from 20fps to 50fps.  Some of the negatives of Eyefinity are few, but substantial.

First, in order to use bezel compensation, the ability to “increase the screen size past the bezel around the viewing screen.” so you get a more seamless, window like view is only allowed when you have 3 of the same monitor.  Second, all monitors must be pointing the same direction when using 3 in a portrait fashion.  May not sound like a problem, but not all monitors are symmetrical.  some have larger bezels at the bottom, or even curved, non-uniform bezel bottoms near the base, making it impossible to get a clean, gapless look between the monitors unless you swivel one of the end screens the opposite direction.  but this isn’t something you can do with Eyefinity, you could with SoftTH.

And the single biggest issue I am having right now with Eyefinity actually has to do with Crossfiring 2 cards together.  Not too long ago, Crossfire simply didn’t work at all with Eyefinity.  When Eyefinity was enabled, Crossfire was ignored.  Until the 5970 was released (2 5870’s on one board.) with that, ATI released the 9.12hotfix drivers that allowed for Crossfire+Eyefinity (Cross-finity)  But this had issues, and to this day, it is still far from spectacular… lets face it, it’s just about useless.

–Know the lingo–

So, I’ve thrown around some fancy words that a few people aren’t accustom to.  Lemme explain a few key items that this article talks about.

SLi and Crossfire:
Sli (Scanline Interleave.) was originally developed by 3dfx in 1998 and used in there Voodoo2 line of videocards.  What you would do, is you could buy 2 Voodoo2 cards, connect them via a cable, and the cards would trade off duty on who rendered each set of interlacing frames.  think of it as a rail trolley cart where you have to bump one side and then the other to move.  Imagine doing that by yourself (slow.) now imagine a friend helping.  it was a lot like that.

Fast forward to 2010, Nvidia and ATI now use the same principle.  The latest line of Video cards from both companies can actually run up to 4 cards at one time.  While the technique and coding is different, it all started from 3dfx so long ago.  SLi is now known as “Scalable Linked Interface” and is used by Nvidia, while Crossfire is the term used by ATI and there ability to run multiple cards.

With the release of ATI’s Radeon 5xxx series of video cards, They have introduced the ability to connect up to a staggering 12 displays simultaneously.  While the most common configuration is 3×1.  Meaning 3 displays in a single line (like the picture above.) They are also selling a card with the ability to run 6 displays (3×2. 3 displays on top of 3 more.) Powercolor is staging to release a card that can run 12 at once.  Pictured here.  While the basics of this aren’t particularly new, the technique is.  instead of the computer thinking you have 3/6 or 12 different monitors hooked up.  With Eyefinity enabled, the computer will think you have one single LARGE display hooked up.. meaning, when you start up a game, movie, etc.  instead of the software thinking “Ok, I’ll just run right this screen only.”  the software sees a single huge display and goes “lets run in this one giant screen.”  This may sound like it’s just a simple software trick, which, in kindof is…the way that the Radeon 5xxx cards are made is what makes them stand up to the added resolution spike!

This one should be easy to get, if you google the term only a couple hits come up, This is when you have both Crossfire, and Eyefinity enabled.  Simple as that.

—The Myths Debunked—

8x-8x motherboard is why is sucks!
My computer is no slouch.  i7 860 overclocked to 3.8ghz, 8gb 1666mhz RAM, 620gb RAID-0, 2×5870’s.  a Few reading this are going to go “Well, the 1156 sux0rz for crossfire stupid, 8x-8x is why it fails. lololol.”  To that I say, you’re an idiot, and read THIS. Which basically says there is a meager 4% performance hit.  so, instead of getting a 61% increase on a 16x-16x motherboard, because you’ll never get 100% more performance from adding another card, I’d only get a 57% increase.  Lemme explain a little:

Newer motherboards have PCI-e slots. These slots are what you put your video cards, sound cards, etc into to communicate with your computer.  These slots run and certain “speeds” 1x, 4x, 8x, 16x and 32x.  16x, which 1366 socket motherboards have 2 of, can move data back and forth from the card at 16,000MB per second.  Yeah, that’s a lot. The 1156 socket board also has 2, but is only able to run one of these slots at 16x at one time.  Meaning, when you put in another card into the other 16x slot.  BOTH slots drop down to 8x. (8,000MB of data both directions.)  Now, that may sound like a huge disadvantage.  But again, it’s only 4%.  Now, back to the Myths.

Only 9.12hotfix is supported!
This is not accurate at all, each driver SINCE the 9.12hotfix is able to run Cross-finity.  The 9.12hotfix was just the first driver to enable it, but every release since then can do it.

You’re CPU is bottlenecking!
…While this may technically, as crazy as it sounds that a 3.8ghz quad core 8-hyperthreaded CPU be true that it is the bottleneck, at super high resolutions, it’s possible… but, it would NOT warrant the kind of performance or flat out LACK of crossfire activation as I am having, and many others are having.

There is no such thing as Microstuttering
I have seen a few forum threads trying to say that Microstuttering doesn’t exist…. which is complete crap.  For everyone not “in the know”.  “Microstuttering” is a phenomenon deeply inherent in the SLi/Crossfire experience.  What is “theorized” as happening, is that when the 2 cards are swapping data, one card will either miss the data for a frame being rendered and just wait for the next one.  this can happen hundreds of times per second which results in a sudden, sharp drop in framerate.  but then the game goes back up to it’s regular framerate a split second later.  What this will result in is a gameplay feeling that is slower than what your framerate readout is..  So, while in crossfire mode, you can brag about having 120fps in a game, but,.. really.. it only feels like 60fps, or, but getting 50fps in CF (crossfire.) but it feels like 25.  What this can cause is a laggy feeling in controls, less then smooth framerates…and just an overall feeling that it totally isn’t worth it to even have the second card installed!  This has happened to me in many games.  While a single monitor is fine because you’re getting such a high framerate, spanned across 3 monitors, Crossfire is almost unusable in many instances without dropping the detail.. which is exactly WHY I bought the second card to begin with.. defeating the purpose.

–My problems–

While testing my CrossFinity setup, I have come across 2 major problems that nearly warrant the return of one of my cards.  Both have been tested individually, and are working properly.  But in crossFinity, I have this happen:

1.) Performance at ultra high resolutions (above 4900×1600.) doesn’t “feel” as smooth as simply having 1 card.  While, technically, according to the Frame Rate output, it is.

Crossfire Enabled Crossfire Disabled
Dirt 2 51fps 28fps
Bad Company 2 42fps 31fps
Metro 2033 31fps 22fps
As you can see, Crossfire definitely adds Frames per second.  But, the microstuttering makes it, a lot of the time, actually feel slower than with Crossfire disabled!.  its quite annoying.  This isn’t just isolated to these 3 games, it’s most the games that I have tried this with.  Keep in mind, this is Crossfire+Eyefinity. (CrossFinity.) The only way I have found to “fix” this issue, is to drop the detail levels of the game, which defeats the entire purpose of owning a second card, as I could just disabled Crossfire and enjoy the game at a smoother FPS, granted, a lower one, but it feels better.  This behavior was exhibited in every driver version I have tried. (9.12hotfix, 10.2, 10.3, 10.4, 10.5 and 10.x) every single driver felt the same.. there was just something “off” that felt WORSE than a single card.
2.) The other issue I have had was only recently “answered” in the form of this post at FiringSquad (scroll down to the last paragraph of the “Radeon 5970 Eyefinity Support.)  My problem is I primary like my monitors in Portait Mode.  Where instead of the screens being LOooONG and short (like having them lined up regularly.) I like to have them on there sides, tall and narrow.  so it’s like one big screen, like the picture to the right.  I think it’s better for First person shooters such as Left 4 Dead 2 (Pictured.) Borderlands, Call of Duty, etc. etc.
The Problem, was Crossfire was not activating in nearly every game that I tried while in Portrait Eyefinity.  out of the 20 some games installed on my computer…2 so far have worked… just 3.  out of these 20, probably 15 will work when the monitors are in Landscape mode.  Interestingly, those 4 games are the only games that I have are DX10 games.  I decided to run a couple in DX9 only.  Oddly, they didn’t enable Crossfire this time.  Once I went back to DX10, Crossfire was enabled.  I decided to google this weird issue and so far, have only found a hand full of other people who have noticed.  I’m guessing, not many people use portrait mode for there eyefinity setup.  Let’s recap.
Directx 9 Directx 10 Directx 11
Crossfinity/Landscape Crossfire enabled Crossfire enabled Crossfire enabled
Crossfinity/Portrait Crossfire Disabled Crossfire enabled Crossfire enabled
Above you’ll see that Directx 10 is yellow for enabled, thats because there where a few Dx10 games that didn’t work, or wouldn’t start crossfire while in portrait.  the couple of dx 11 games I have use crossfire in any monitor configuration though.  since I only have a couple, I can’t say that dx11 is the saving grace.  especially when I have far more dx9 games….which flat out won’t start Crossfire while my monitors are in Portrait mode.
–The Verdict–
While I can say that Crossfire on a single screen could increase your frame rate to crazy amounts and allow for a lot of Anti-aliasing and AF.  Right now, I simply don’t see it as a viable option for those that where hoping for it to work miracles with multiple screens hooked up.  I dunno… maybe it is just something with my motherboard or something like that.. but, when I can get better performance out of 1 card as opposed to 2… there is a problem somewhere.
—–UPDATE: ———
Well, I kept messing with it, over and over, trying to figure out what the hell the problem was with the performance.  I realized after some close watching, that in nearly all games that ran “Smooth” in Crossfinity, that every 5 seconds exactly, the frame rate would drop for a split second, and go back up.  if the framerate was 60, it would drop to 45 for a a couple frames and than go right back up until 5seconds past.  This caused an extremely annoying “hitch” to all games.  The only real things that can cause such a behavior is bad ram timings, USB devices polling for too much data in that interval, some sort of monitoring program (firewalls, Anti-virus software, Hardware monitors like RivaTuner or MSI Afterburner.) or a HDD on the way out.  After messing with RAM timings endlessly, I found that wasn’t the problem.  I even messed with the PCI-E “Request Packet Size” thingy, didn’t work.  Changes PCI Latency, PCI-E Mhz, CPU speeds, Ram speeds… still nothing.  So, I basically removed the theory it was a hardware issue (on my computer, anyways.)
So, I started looking at different programs and processes that where running in the background.  Turned off every, what I thought, non-essential process and program running I could find.  Still, the same thing. On a last ditch effort I turn off “MOM.exe” (ATI Catalyst Control Center Monitoring service.) and “CCC.exe” (The actual Catalyst Control Center service.)  Now, I’m not sure which one it actually was, as I haven’t had time to do it all again.  But this removed the 5-second stutter!!.  I was so relieved.
Now, if only Portrait Mode was better supported, and some games still didn’t simply run like crap (Crysis, AvP.)