More on Adobe’s Pixel Bender in CS4 and Flash, GPUs, and Performance
In case you didn’t watch comments on my Pixel Bender preview, there was some good discussion, including Kevin Goldsmith, who manages the Adobe Image Foundation group; he blogs at digital-motion.net and specifically on these technologies at blogs.adobe.com (and he’s a musician, too).
I overstated the importance of Pixel Bender being GPU accelerated. First off, of course, you really don’t care where code executes, whether on the CPU or GPU – you care about whether it’s fast, and whether it does what you need. In this case, different CS4 tools accomplish that differently:
- After Effects CS4: GPU-accelerated
- Photoshop CS4: GPU-accelerated (as is the new pan/rotate/zoom feature, as I indicated)
- Flash 10 (in CS4 Suites): CPU, multi-threaded
So, it was effectively the Flash answer I got wrong. That’s not to say Flash doesn’t use the GPU; it accelerates some drawing routines with the GPU (as, incidentally, Java and by extension Processing have done in the past, even in 2D).
Tinic Uro, an engineer on the Flash team, explains that the reason is compatibility:
Running filters on a GPU has a number of critical limitation. If we would have supported the GPU to render filters in this release we would have had to fall back to software in many cases. Even if you have the right hardware.




