If you were a CAD/CAM/CAE software developer and had a technology that could turbocharge the real-time 3D performance of large assemblies, you’d have thought you’d be shouting about it from the roof tops. But Dassault Systèmes has been bizarrely quiet about its implementation of such a technology into CATIA V5R18; so quiet in fact that you can only turn it on if you know the secret passcode. This ‘secret’ technology goes by the name of Vertex Buffer Objects (VBOs) and has been made possible by AMD’s professional graphics division, the guys behind FirePro and FireGL.
VBOs work by taking raw geometry processing away from the CPU and moving it onto the GPU (Graphics Processing Unit). All 3D geometry is loaded up, stored and processed on the graphics card. And when changes to the geometry are made, data doesn’t have to be moved back and forth over the PCI Express bus, as has traditionally been the case. This helps minimise the instances when the GPU has to wait for the CPU (as it is often tied up with other tasks) and as a result boosts real-time 3D performance.
VBOs can also free up some of the workstation’s core system resources as data that previously resided in the CPU’s memory, now resides on the graphics card’s frame buffer memory. When working with large assemblies this not only gives you a higher ceiling before you run out of system memory and have to page to hard disk, but when using 32-bit Operating Systems, such as Windows XP, users may find they are now able to load up models that they couldn’t load up before simply because they couldn’t address any more memory.
VBOs in practice
To help us appreciate the real benefits of using VBOs inside CATIA, AMD came into DEVELOP3D’s offices armed with an HP xw8600 workstation (3.0GHz Xeon processor, 4GB RAM, Windows XP), an AMD ATI FireGL V5700 (512MB) graphics card and a license of V5R18.
Discovering VBOs in CATIA could be like finding out your car had a turbo button hidden away all these years that you never knew about
CATIA was loaded up with a large (5,000,000 polygon) model of an entire Peugeot car, and the model was manipulated in real time with VBOs switched on and off. With VBOs switched on frame rates were in the order of two to three times greater than when VBOs were switched off. In simple terms this is a colossal leap in performance.
With AMD playing such a key role in the implementation of VBOs in CATIA, it came as no surprise that its professional graphics division was also keen to demonstrate its technology advantage over nVidia in the V5R18 release of Dassault Systèmes’ core product development system.
Two identical HP xw8600 workstations were used; one with the AMD ATI FirePro V5700 and the other with an nVidia Quadro FX1700. Both are mid-range cards with 512MB RAM and similar price points, though it should be pointed out that the FirePro V5700 is a much newer card.
CATIA was put through its paces with a variety of model sizes and graphics modes (shaded, edges and shaded plus edges) using a benchmark that measured the time it took to load up the model and then perform a set number of rotations, zooms, pans, etc.
In most instances real time performance was significantly better with the AMD ATI FirePro card, with frame rates up to two or three times greater than nVidia’s Quadro. However, this varied greatly from model to model and, for particularly small assemblies, nVidia’s Quadro actually got the job done quicker. According to AMD, this was down to the time its cards took to load up geometry as VBOs, which for smaller models is a bigger percentage of the overall time.
The implementation of Vertex Buffers Objects (VBOs) is a huge leap forward for interactive 3D graphics in CATIA. While Dassault continues to keep this technology switched off by default, seemingly waiting for the right moment to go public, with a flick of a switch customers can turbocharge their professional graphics cards for free – now – and unleash power that could enable them to work fluidly with huge assemblies rather than having to break them down into manageable chunks.
The downside to VBOs is that it can take longer to load up models in the first place as it also has to transfer large amounts of data to the graphics card. However, this is a small one off price to pay for such a potentially huge performance boost.
If you use V5R18 you should certainly be investigating VBOs and trying it out with your own models to see what it can do for you. I, for one, would not want to miss out on such an opportunity. It could be like finding out your car had a turbo button hidden away all these years that you never knew about. And as the owner of a 1998 Vectra that struggles up hills, what a lovely surprise that would be!
A secret technology could revolutionise the way users work with large assemblies in 3D