What Do Windows 10 and DirectX 12 Mean for CAD Users?29 Jun, 2015 By: Alex Herrera
Herrera on Hardware: Should you upgrade to the new version of Microsoft's operating system, or hold off?
DirectX refers to the set of Windows media APIs that first and foremost allow applications such as AutoCAD, SolidWorks, and Revit the means to render the desired visuals, especially 3D graphics. While Windows 10 will run on DirectX 9, a version supported by the vast majority of older PCs and workstations currently in use, Windows 10's launch will coincide with the debut of DirectX 12.
Higher performance through lower API overhead. DirectX 12 offers a range of enhancements that should improve the rendering of 3D CAD content, though not universally and probably not immediately. One enhancement that should benefit all is a reduction in CPU overhead from previous DirectX versions. What ultimately materialized in response to AMD's Mantle API, targeted at independent game software vendors, DirectX 12 engineers have cut (dramatically, it appears) the amount of processing that takes place to set up and invoke graphics processing unit (GPU) rendering operations. Streamlined processing should mean a material boost in performance for all applications using Direct3D rendering, and that includes most popular CAD packages.
Enhancements to improve rendering. All else being equal, adding individual features to enhance visual quality is always a good thing. Still, the impact of new features can range from the nice-to-have to the game-changing. An example of the latter was Direct3D 8's introduction of programmable shaders to replace fixed functions in the rendering pipeline, a true paradigm shift.
With respect to features, DirectX 12 is more of the former, introducing enhancements that are certainly of value, but are more evolutionary than revolutionary. Also, even if DirectX 12 benefits were compelling on paper —with respect to new features and more improved performance — it's worth remembering that very few users will reap those benefits on the day Windows 10 is released. When and how you see rendering benefits from DirectX 12 will depend primarily on how quickly your independent software vendor (ISV) adopts it for the application you run, and secondarily on whether your GPU supports DirectX 12 feature levels. If the application supports it, you will see many of the benefits, including lower-overhead, higher-performance operation. And if the GPU supports it, you'll get acceleration to DirectX 12's new rendering modes.
Now in professional computing especially, ISVs are not known to immediately support the newest versions of APIs, for two reasons. First, they have the difficult task of supporting a range of hardware and software configurations in the installed base, and it often becomes challenging enough to support the least common denominator, let alone the snazziest new API. The least common denominator today is in the DirectX 9 neighborhood, so it will take some time before ISVs will feel an urgent need to jump into new DirectX 12 capabilities. Second, unlike game developers, professional-caliber ISVs are more concerned about reliability and compatibility than eking out the last few drops of possible performance. So there will typically a bit of extra time required to test and certify new versions.
A look at Autodesk's system requirements for AutoCAD 2016 recommends "DirectX 9 or DirectX 11" GPU support, with the majority of users unlikely to notice or care if it's 9instead of 11. So support of DirectX 12, while likely eventually, is not necessarily on a tight schedule — at least not for all.
Explaining explicit asynchronous multi-GPU support. While definitely not a feature name that rolls off the tongue, DirectX 12's promised "explicit asynchronous multi-GPU support" certainly intrigues. It sounds wonderful when you first hear it — taking advantage of two or more GPUs in your system, regardless of vendor or model, to make your visualization tasks process faster than if you were using just one. It will likely turn out, however, to be an idea more appealing in theory than in practice.
Having more than one GPU is far more common than it used to be, and many users have two in their machines already, even if they didn't know it. Say you bought a new workstation, and it comes with an Intel Core i7 or Xeon processor that has an integrated GPU embedded with the CPU. However, to tackle more aggressive CAD rendering, the workstation supplier also stuffs an Nvidia Quadro or AMD FirePro add-in card GPU in one of the available system card slots. Such is the case for many entry-class workstations and virtually all mobile workstations. You've now got two GPUs available, but prior to DirectX 12, it wasn't possible to take advantage of both to work on the same visualization task. Now it will be — at least in theory.
On the surface, it sounds like a no-brainer to leverage all the resources in your system to maximize performance. But now for the caveats — and there are many of them, most of which relate to the fact that applications need to explicitly support the feature. And while I think some gaming applications will, I'm skeptical as to whether professional-caliber vendors such as Autodesk will do so in the near future, if ever.
Explaining why in detail would require many more pages, but suffice it to say that balancing a graphics workload across two GPUs, of potentially very different levels of performance and features, is problematic in many respects. At best, attempting as much would offer a modest return in performance. And at worst, doing so risks more bugs, decreased reliability, more complex testing and certification, a step down in features, and, quite possibly, decelerated performance.
So why would vendors risk all those potential headaches for what might be very modest performance gains? Well, that's where my skepticism comes in, because I think the answer very well may be, "Well, they wouldn't." So while the possibility of leveraging multiple GPUs to render a single CAD scene faster sounds great, I wouldn't hold my breath waiting for it.
When Should You Update?
Ultimately, we've got a new Windows release coming that will offer different levels of appeal, depending on which OS, machine, and GPU you're running with currently. However, outside of simply returning to a more comfortable desktop experience, there's probably not much here to compel anyone to make the switch before they're ready. If you're on Windows 8, and struggling with it, you'll probably want to consider the upgrade (just make sure your machine meets the base-level Windows 10 requirements Microsoft has set). It shouldn't cost existing users anything, either, as Microsoft promises a free upgrade (see instructions at www.microsoft.com/en-us/windows/windows-10-upgrade).
And if you're on Windows 7, you'll likely want to stick with it until you buy your next machine. At that time, if Windows 10 is proving itself — in terms of reliability, bug fixes, and user experience — by all means get it pre-installed. You might appreciate some of the new bells and whistles, and DirectX 12 will eventually be beneficial, though probably a bit down the road as ISVs catch up.
Running AutoCAD? Test Your Hardware! Designed to test and compare the performance of systems running AutoCAD, Cadalyst's Benchmark Test is a popular and long-time favorite.