Wednesday, May 25, 2011

Thoughts on video cards for Altium Designer

When specifying my latest workstation, I lost a lot of sleep over the video card.

First, I wanted a multi-monitor setup - 3 monitors, to be exact.  I had a dual-monitor setup and wanted to upgrade.

Second, I wanted a Solidworks-capable video card.  That means a "workstation" class card.  SW does not screw around, and although it is not the most graphics-intensive program in the world, it's up there.

Third, I needed (not wanted) something that would run Altium 2006 and Altium Summer '09 flawlessly.

And therein lay the problem.  Altium, in their infinite wisdom, recommends a list of obsolete gaming-class video cards, last updated 2010.  They have never tested a workstation-class card like a Firepro or Quadro - or, at least, never said they did.  Most of the cards on their 'good' list don't even exist any more.

Altium even goes so far as to recommend gaming cards over pro cards, as well as saying bad things about OpenGL-based cards.

This contrasts pretty strongly with SolidWorks, who has an extensive list of pre-tested certified hardware for use with their software.  No dicking around there.

Not wanting to take a risk, I did a LOT of homework trying to reconcile these two lists to each other, as well as to what hardware was actually available in retail shops.  Not surprisingly, 80% of the Altium cards were discontinued, while 95% of the SolidWorks cards were current.  And there was virtually no overlap.

Now, given that Altium now supports limited 3D functionality, I was getting kind of worried about this.  I didn't want Altium - which I needed - to have problems just because I kind of felt like maybe having Solidworks running in the future.

Ultimately, though, I realized I had been going about this the wrong way.

Despite their speed and sophistication, video cards basically only do a few things.  I'm no expert, and I'll get it wrong, but lets say they interpret vector commands, do shading, and so on and so forth.  They all do these things and then do the grunt work of mapping this stuff to the display devices.

That's not to say it's simple - it's not.  And the amount of information involved is fearsomely big.  But, like so many other things, the underlying principles ARE simple.

From this, it's pretty easy to see that Altium is on drugs.  Sure, they may recommend certain cards.  But fundamentally, you cannot tell me that a workstation-class card is somehow inferior to a gaming class card when doing these basic fundamental operations.

Not to mention that most workstation cards will do this stuff for up to 4 monitors,  A 2 or 3 monitor setup should be cake.

[OK, ok, I can see you guys screaming now:  "Gaming cards are FAST!  Workstation cards are PRECISE!  There's a DIFFERENCE!"  Yeah, yeah, ok.  But let's leave the speed thing alone for the moment, and instead assume that any decent video card is going to be able to handle a relatively static, non-gaming, non-motion display with reasonable speed. 

Yes, a gaming card might be able to output 50 fps.  The workstation card might do more work to get every pixel precise, and only output 25 fps.  But we're not talking about that here.  Primarily, this is for relatively static work displays, and not full-motion full-bore triple-screen-wraparound animation.]


Anyway, this may seem obvious to somebody out there, but it wasn't to me. 

Once I had this little epiphany, choosing a card was easy.  I ended up with a FirePro V8800 because I heard the Quadros ran really, really hot.  And that was that.

Altium works great on the V8800, and I expect it would do so on any other FirePro card.  I'm sure the Fermi architecture would do really well, too, and I'm not slagging it.  I just didn't want my office to turn into an oven, because it's already hot enough in here with 5 PCs and 3 LCDs chugging away 24/7.  I dread my first summer in here with the new system.

Ironically, I haven't actually done any 3D work aside from loading a simple design into Altium to check that it works.  But it does work.  And I'll bet that this card would do pretty damn well for WoW and CoD too.  (As if I have time to bother finding out.)

Now, on other fronts, Altium 6 has problems, but they're all Windows 7 related.  Certain features such as print preview, page settings, and BOM generation just will not work under W7 x64.  Not just me, I know, because colleagues of mine have similar issues, as well as the odd user who posts for help on the net somewhere.  Problems occur on both W7 x32 and x64, so it's not just this flavor of OS.

Fortunately I still have my old workstation, which gets around that problem, but it is annoying.  Not annoying enough to pony up $5k for Altium 10, which - I hear - has similar problems.

So, the moral of the story is:  Altium will work fine on workstation cards.  Ignore what Altium says, fear not, and buy one if you want to.

Thursday, May 5, 2011

WinDVD and ATI Firepro Multi-Monitor Support (or lack thereof)

Today I decided I'd like to watch a bit of film on my brand-spankin' new workstation.  I haven't even so much as popped a DVD in the drive yet.

I try it and Windows Media Player has no sound.  Probably doesn't understand AC3.  I could have tried to hack in the codec, but I'm rather partial to WinDVD anyway.

After buying (gasp!) and installing WinDVD Pro 2010, I fire it up.  Looks good!  Lots of nice logos.

Until I get about three seconds into my movie, only to see "Your display environment does not support protected content playback."  WTF!?!

So it turns out that the "new" players simply do not like multimonitor setups.  Apparently, without HDMI to "properly" protect the digital signal, it can't "guarantee" that my triple monitor setup isn't some kind of surrogate for a devious copy-protection bypass mechanism.

So I've gone and sprung for a beautiful triple monitor setup, with requisite massive (and expensive) triple monitor stand, and a high-horsepower professional-grade ATI FirePro V8800 capable of leaping tall SolidWorks buildings in a single bound, SSD, the works - and the g*dd*mn thing can't play simple DVDs?!?!

ARE YOU SERIOUS?  Who in God's name decided that this was going to be the case, and WHEN???

It's not like there is even any option here.  The FirePro ONLY comes with 4 DisplayPort outputs on it - that's it, that's all.  No direct HDMI connection is possible!  In fact, there are few options besides the DP-to-VGA and DP-to-DVI converters I already have in place!

And honestly - who the hell is going to try to rip the movie directly from the video stream anyway?  With all the copy-protection-bypass software out there - easily capable of breaking the codes on 99% of commercial DVD and Blu-Ray movies, why bother?

(Oddly enough, this seems like it's supposed to be a BD-only problem.  But it does affect WinDVD Pro 2010 playing good ol' regular DVDs.  If it was only Blu, I wouldn't care - I have no BD discs or players, as I still view them as a solution looking for a problem.)

So thank you very much, whoever was on the Sony committee that decided that the latest in PC technology was going to be crippled so I can't play any of my own legally purchased DVDs on my own legal PC running legal software.  I hope you all rot in a special circle of hell, screw you very much, and thanks for ruining my evening.

Ironically enough, I am now going to have to crack my own DVDs just to be able to watch them.  Which I can easily do without touching the video output stream.  Thanks for forcing me to do what you didn't want me to do in the first place.

If this wasn't proof positive that DRM has gone way too far, I don't know what is.