EVER FELT LIKE your graphics card was twiddling its digital thumbs while you're not gaming? Here, we'll be looking at a new breed of applications that exploit the untapped processing power of your graphics card to accelerate a variety of non-gaming tasks.
Modern graphics cards have considerable processing power and memory bandwidth, yet they're only generally fully engaged when playing 3D games or high-definition videos.
Over the past few years, a handful of other products have tapped into this resource, most notably Vista with its Aero interface, but it's only recently that application developers have really begun to exploit this untapped power.
Some programs make use of instruction sets specific to certain vendors or graphics chipsets, such as Nvidia's Cuda, while others simply use the industry-standard OpenGL which has much broader compatibility.
Arguably the highest profile applications to date that exploit GPU power are those in Adobe's latest Creative Suite 4 (CS4).
Contrary to popular belief, Adobe's built-in GPU acceleration in CS4 is via standard DirectX and OpenGL, not Cuda, although several third-party products exploit Nvidia's technology within CS4 applications.
Compatible software
According to Adobe, Acrobat 9, After Effects CS4, Bridge CS4, Flash Player 10, Photoshop CS4 and Premiere Pro CS4 will all exploit compatible graphics hardware to accelerate certain tasks.
You will need a graphics chipset and driver that supports DirectX 9 and Shader Model 3, while support for OpenGL 2 is additionally required by Photoshop CS4 and Bridge CS4. As the most popular application in the suite, we'll take a closer look at the impact of GPU acceleration in Photoshop CS4.
Graphics acceleration brings a number of enhancements to Photoshop CS4 including smooth display at all zoom levels, quick canvas rotation with the new Hand Rotate Tool, and a neat hand-toss function where a magnified image can be gently nudged or thrown around the screen smoothly as if it were on casters.
The latter is fun to use and you can watch Nvidia's demonstration videos.
Adobe recommends a GPU backed up by a minimum of 128MB of graphics memory for accelerating Photoshop CS4, with 256MB preferred and 512MB or more suggested for handling really large or multiple images.
Sadly, dual graphics cards are not exploited by CS4, so if you're speccing-up a new system specifically for use with Photoshop, get yourself a single card with a fast GPU and plenty of memory.
In its trouble-shooting section Adobe also advises downloading the very latest graphics driver for your chipset.
Unlike Nvidia's Cuda, which is only supported on Geforce 8 GPUs upwards, Adobe CS4 should make use of earlier chipsets with the company quoting compatibility with certain Geforce 6 and Radeon X1000 models onwards, again, so long as they and their drivers support the requirements above.
If your current graphics configuration is supported, you'll see your chipset listed and a box to Enable OpenGL Drawing on the Performance tab under Preferences; an Advanced settings button allows you to further configure the OpenGL options.
We first tried Photoshop CS4 running on a Quad Core 9650 system with 2GB of RAM and an ageing Geforce 6600 graphics card with 256MB of video memory.
The application recognised the chipset and, with OpenGL Drawing enabled, offered the enhancements described above. The free canvas rotation and hand-toss features felt responsive, although they weren't as silky smooth as seen in some demos.
When throwing around a very large 300MB image file, there were also fractional delays while new portions represented by a lower resolution preview were replaced by the actual pixel-level detail. To be fair, this was a huge file being handled by a relatively old chipset, so the performance was still impressive.
We noticed the ‘Use for Image Display' box under Advanced Drawing on the Advanced OpenGL options was unticked by default.
Enabling this option and restarting Photoshop saw a dramatic reduction in the speed and fluidity of the rotation and scrolling, so we kept it disabled.
To see if Photoshop's performance would benefit from a quicker graphics card, we switched the Geforce 6600 for a faster Geforce 8600 GTS model, albeit with the same amount of video memory.
The zooming, tossing and rotating felt fractionally smoother with the same 300MB file, but there was hardly anything between it and the older Geforce 6600 card, which leads us to believe graphics memory was the limiting factor here.
Switching to a smaller 60MB file with both cards saw improvements to response, although again there was little between them.
3D effects
3D filter effects may better exploit a faster GPU, but if you're into fast screen redraws when zooming and panning, it looks like a card with more (and preferably faster) graphics memory is the answer.
In the meantime, cynics may note the GPU acceleration in Photoshop is mostly used for fancy new user interface effects, and doesn't really make much difference to existing bottlenecks.
This is a fair comment, but most Photoshop users will appreciate and enjoy these enhanced means of handling images on screen.
Certainly, if you're a fan of Hollywood-inspired future user interfaces or enjoy Vista's 3D stacked application switching, you'll have a blast.
Find out how to configure and troubleshoot Photoshop CS4's GPU acceleration.
We want to briefly mention acceleration in CS4 using Nvidia's Cuda. At the time of writing, this appears to be via third-party products only, the most notable being Nvidia's top-end Quadro CX card (pictured left), which is described by the company as an accelerator for CS4.
With a fast GPU and a whopping 1.5GB of GDDR3 memory, the Quadro CX unsurprisingly makes short work of CS4's built-in GPU acceleration, but the card also comes with a ‘RapiHD' plug-in that exploits CUDA support to greatly cut H.264 encoding times in Premiere CS4.
RapiHD was developed by Elemental Technologies and exclusively distributed by Nvidia, which only supplies it with the Quadro CX card.
Since RapiHD uses Cuda it could theoretically accelerate the same tasks with any Cuda-compatible card, such as a common Geforce 8 model (albeit not as quickly as the Quadro CX), but Nvidia is reserving it for its top-end card only.
While the Quadro CX is undoubtedly an impressive piece of hardware, its price of around £1,500 restricts it to graphics and video professionals.
If it is indeed compatible with any Cuda product, we hope Nvidia makes the RapiHD plug-in available to Geforce owners in the future, or that Elemental Technologies or an alternative developer targets consumers and enthusiasts with a similar product.
We realise it won't be as quick as the Quadro CX, but any acceleration when encoding would be appreciated. µ
Another example of GPU acceleration in non-games using OpenGL is Core Image and Core Video in OS X Tiger which has been available since 2005. It's actually an OS framework which any developer can use to accelerate features in their applications. Apple itself uses Core Image for filtering, compositing, etc. in programs such as Aperture and Motion. Core Animation in OS X Leopard and the iPhone is also GPU accelerated so that developers can GPU accelerate their UI.
"Arguably the highest profile applications to date that exploit GPU power are [adobe]."
that point is like so arguable. 2/3rds of their video applications are so broken, they're useless (yeah i'm looking at you, encore).
it should read:
"premiere pro CS4 managed to cut the time between crashes in half by the cunning use of GPU ;)"
Too bad that Adobe Photoshop CS4's new interface is such a hulking piece of shit that it counteracts any gains you might get from the GPU acceleration. Then again, I shouldn't expect much more from the likes of Adobe. I just hope other software vendors don't follow Adobe's example.
No mention of ATI Stream or the very promising, cross platform OPENCL technology?
My feeling on Adobe products - meh.
Is this article about promoting nVidea and Adobe or 'Apps that exploit graphics cards' ?
What about ATI cards ?
What about non-Adobe applications ?
What about the 'Hybrid' chip ?
Adobe's apps are definitely not broken especially if you have the OS/Apps set up right and you have the latest updates including 4.1 FOR PP. That update fixed the importer service bug which caused half the hangs and the AVCHD issue. The Multi-threading in Adobe and the codecs they have native support for is far superior than anything else out especially FCP or Avid. The threading in OSX and FCP is dreadfull which makes the new Mac Pro sit at 90% to 94% idle even during playback/rendering. Avid MC is so full of issues including compatiblity limits it's not worth even talking about. Add to that the limited codec support and hardware support and you have a 5 year old program that hasn't evolved. That is why they didn't review others here. No other program is even up to speed yet. The new FCP may fix some of the issues. Still waiting for my copy. But likely it will require many updates into Snow Leopard. Oh and the Quadro CX is now discontinued. That H264 plugin is now available on any new Quadro card with a 200 series GPU.