Quite often, we hear the question that is posed above – what is the best video card for Civil 3D? At one point in my career, the answer was very clear-cut, but times are definitely changing. First of all, I have to set the expectations for this post – you will not read this and be able to go pick out one specific part number on newegg.com or Tiger Direct. I am not going to say which brand or particular card is better than any other. As a matter of fact, I run a card from each of the major players in the graphics card game (ATI and nVidia) and have excellent performance with both of them. I will simply compare some of the video card architectures and explain how this applies to your daily Civil 3D use.
So what has that clear-cut answer been in the past? My standard tech support answer in years past was “you should buy a workstation-class dedicated graphics card, and not a gaming card.” Now, to clarify, when I said “workstation-class” I was typically referring to an OpenGL card. “Gaming” cards were Direct3D cards. Familiar card brand names would be nVidia Quadro FX and ATI FireGL for OpenGL compatibility and ATI Radeon and nVidia GeForce for Direct3D. However, my answers tend to be a bit more even these days, leaning in the exact opposite direction – I think “gaming” cards are coming of age for AutoCAD-based applications due to the enhanced Direct3D support in the core AutoCAD program.
First, a bit of history between the two. Silicon Graphics created OpenGL, which was the successor to Iris GL. Iris GL was a major component of many old UNIX workstations. It was meant to be used on a variety of operating systems, and was meant as a very precise way of drawing graphics. OpenGL is a trademark of the OpenGL Architectural Review Board (ARB.) The ARB writes the definition of OpenGL, and governs a strict series of testing by which an implementation can call itself as an OpenGL device.
Direct3D is a Microsoft technology, and is a COM based 3D graphics API. Microsoft acquired this technology in 1996 and has been offering it as a component of DirectX technology. Direct3D is widely considered a gaming architecture, as it allows for much more advanced mapping of 3D graphics.
As I stated earlier, in the past everyone was always saying “nothing but OpenGL” – however as Microsoft changed platforms, they have gone away from native OpenGL support out of the box. This emphasis is very important, since the common misconception has been that Windows Vista does not support OpenGL. This is incorrect, since Vista does support two primary OpenGL implentations:
- Hardware manufactures provide OpenGL installable client driver with variable renderer string.
- Microsoft’s software OpenGL 1.1 implementation is clustered in higher numbered pixel formats.
Simply put, OpenGL and Direct3D are treated the same by Windows Vista, resulting in full integration into the OS. Even better, users will normally experience fewer BSOD’s in Vista than in XP because of the way the new Windows display driver model works. In the article referenced above, we find the following:
Because Windows Vista controls the submission of graphic command buffers to the hardware, detecting hangs of the graphics chip due to invalid programming is now possible across the operating system. This is achieved via Windows Vista's Timeout Detection and Recovery (TDR). When a command buffer spends too long in the graphics chip (more than two seconds), the operating system assumes the chip is hung, kills all the graphics contexts, resets the graphics chip and recovers the graphics driver, in order to keep the operating system responsive. The user will then see a popup bubble notifying that the "Display driver stopped responding and has recovered."
Since most of those hangs typically ended up with a pretty blue screen, having the driver recovery is a blessing. Now, even though this is good news, there is still some not-so-great news for AutoCAD users running on Vista – OpenGL software is currently not supported in AutoCAD 2009 when running on Windows Vista. However, I can say that my OpenGL card runs Civil 3D perfectly fine in both Vista and XP. All effects are enabled and on, but only when using the Direct 3D driver, as indicated in the image below:
So how does the program determine what is on and what is off in the manual tune dialog? This is determined by the AdskHwCertificationDatabase.xml file that is installed with the software. This hardware database checks your card name, your driver version, your operating system, and your version of AutoCAD to figure out what can be turned on and what should be disabled. For example, my graphics card is an nVidia Quadro FX 1700 running on Vista x64 – the entry in the XML file for this card is as follows:
- <cardDriver testedOn="7.15.0011.6939">
- <certified by="Autodesk" os="WinVista64" status="Passed" overallStatus="1" comments="" default="D3D" osID="2048" reject="" commentsOGL="" commentsD3D="">
<effect name="AALines" status="3" driver="ALL" />
<effect name="phong" status="1" driver="D3D" />
<effect name="gooch" status="1" driver="D3D" />
<effect name="shadows" status="1" driver="D3D" />
<effect name="TextureCompression" status="1" driver="D3D" />
As you can see, everything I have is enabled, just set to use the Direct 3D driver.
So with this all being said (it certainly is a long read, isn’t it?) what’s best for you? I believe a decent mid-range Direct3D capable video card will get most people the performance that they need, but OpenGL will still perform decently as well. Don’t go overboard – dual higher end video cards may be good for playing Crysis late at night (what I should be doing instead of writing…) but you won’t get any special usage out of a setup like that from Civil 3D. As far as memory is concerned, discrete is the keyword here. Discrete means that the video memory is not shared with system memory (that stuff Justin wrote about a week or so ago) but comes with memory installed on the video card just for the card. More is usually better – both of mine run with 512 MB of discrete memory, which gives me good performance.
Want to find out if a card that you're thinking of purchasing will work well with AutoCAD? You can find certified garphics cards here. Autodesk graphics hardware certification indicates that Autodesk has worked with the graphics hardware vendor to test the graphics hardware to ensure that it supports the real-time 3D shading, shadows, and smooth-line display features of products based on AutoCAD 2007, AutoCAD 2008, or AutoCAD 2009 software. It also indicates that the card supports 2D drawing in the Windows Vista operating system when using hardware acceleration.
Perhaps this clears things up a bit, perhaps it muddies the waters even more. If you’d like verification on a point, feel free to leave a comment!