Pixel Bender is NOT hardware accelerated

After reading various tweets this morning coming out of the MIX09 conference I thought I needed to go on the record regarding Pixel Bender. The Pixel Bender toolkit runs filters using hardware acceleration. But Pixel Bender filters that are running inside of Flash Player 10 are not accelerated in any way and are instead rendered via software. This is a failure on our part for not communicating this clearly enough.

Lee


Commentary

  1. TIbi says:

    This is a true disappointment for me :(

  2. Jeff says:

    Communication and expectation fail.

    But its quite fast, even more so when running beside the normal code :)

  3. John O says:

    Lee –
    There is GPU compositing in Flash Player 10 though. Tinic mentioned it here: http://www.kaourantin.net/2008/05/what-does-gpu-acceleration-mean.html

    But have to be honest, I haven’t seen much about and when I read Tinic’s article, seemed like it was a scary blackbox that could help you or kill you.

    Is this something you could talk about or even demo at some point on GTAL?

  4. Jeethu says:

    So what if i had set my wmode to “gpu” ? What kinda situation would that be ?

    So even when wmode is set to “gpu”, Pixel Bender filters run on software acceleration ?

  5. Fu says:

    Ok so Pixel Bender is not GPU accelerated but it’s much more optimized and “close to the metal” than actionscript:
    - like alchemy, pixel bender as raw access to the memory. We’re talking of a possible ten-fold acceleration here (like Alchemy which brings also a couple more tricks like function inlining).
    - to the contraty of AVM2, pixel bender distributes its workload over all cores of the CPU (so it’s 2x or 4x speedier on most machines): cf. http://www.kaourantin.net/2008/05/adobe-pixel-bender-in-flash-player-10.html

  6. I tried to address this confusion on my blog back in September:
    http://blogs.adobe.com/kevin.goldsmith/2008/09/cpu_gpu_multico.html

  7. Kevin Newman says:

    I have been under the impression that GPU acceleration was removed at the last minute because of performance concerns (without proper understanding of the way GPU acceleration works, you can make things slower, instead of faster). That said, I also thought that PBJ filters do in fact scale across CPU cores – meaning 4 cores, are better than the one you usually get access to with straight AS3 code (though can you call multi-core CPU utilization hardware acceleration?).

    Note: I’d love to see an proper API (and education push from Adobe) that would allow GPU acceleration in Flash, through an explicit opt-in model. This would create quite a rich arena for performance optimization, giving you straight AS3 (perhaps with multi-thread extension, like in JS 1.7), the naturally multicore PPJ on CPU that Flash currently supports, as well as a final post process (or maybe async parallel process for sounds and other coolness) on the GPU – so we can get a way to get the benefits of GPU acceleration (maybe we can start calling it OpenCL accel, instead of GPU accel?).

    There would be a whole new world to learn when and where GPU acceleration should be used or avoided – this would also open a new world of possibilities with the power of these chips, beyond simple acceleration (and these chips do seem to be turning up everywhere) – and doesn’t that sound fun? :-)

  8. Jensa says:

    Yeah.
    This misunderstanding has been there since the before the Pixel Bender launch. There was quite some confusion on this even inside Adobe, so no wonder that has spread. The main confusion is that Pixel Bender IS accelerated when used with After Effects and Photoshop, but not when running the same code in the Flash Player.

    What you probably should point out is that PixelBender runs in a thread separate from the Flash Player, so it’s effectively a way to make use of a second core if the CPU has that. Ralph Hauwert just did a killer experiment that shows what this combination can pull off:
    http://www.unitzeroone.com/blog/2009/03/18/flash-10-massive-amounts-of-3d-particles-with-alchemy-source-included/

    J

  9. Laurent says:

    Hi,
    do you know if there is any progress on those GPU acceleration with AIR2.0 and also with pixel bender?
    I have been trying to check this with the beta2, but did not manage to get any good news so far? maybe need to regenerate an application with AIR2.00 SDK?

  10. so why does http://labs.adobe.com/technologies/pixelbender/
    say
    “Parallel processing — Pixel Bender allows the same filter to run efficiently on different GPU and CPU architectures, including multi-core and multiprocessor systems. It delivers excellent image processing performance in Adobe products. “

  1. [... After reading various tweets this morning coming out of the MIX09 conference I thought I needed to go on the record regarding Pixel Bender. The Pixel Bender toolkit runs filters ...]

  2. [... After reading various tweets this morning coming out of the MIX09 conference I thought I needed to go on the record regarding Pixel Bender. The Pixel Bender toolkit runs filters ...]

Leave a Comment