It appears that the latest version of Flash (11.7.700.232 / 11.8.800.94) has removed support for Just-In-Time compilation of PixelBender shader programs into machine code. For example, you can compare the FPS of this animation:
with the latest Flash vs. any previous versions, and the FPS on the latest Flash runs at nearly a fivefold slowdown. I've verified that the PixelBender program is no longer running directly via machine code, but is instead interpreted by the runtime.
Is there something different that has to be set via the wmode parameter or some other HTML parameter to maintain the old behavior? Or has JIT support been dropped entirely from PixelBender?
We are having the same issue here and right now striving to find a workaround. Please let us know if there are any workarounds. This is affecting many businesses right now who runs filters on pixel bender. The performance is unacceptable.
Just adding our name to the list of affected businesses with this issue. We use Pixel Bender Shaders heavily in our customization of graphic content, which directly affects our customers' experience and likelyhood of them renewing or subscribing to our site. Sincerely hoping this issue is resolve or that someone else finds a workaround. Really not looking forward to redeveloping everything in HTML5...
Another name in the list of disapointed (albeit not exactly surprised) users now faced with negative business reprecussions as a result of this undocumented and unsubstantiated change in performance and behavior. We are using PB as a number cruncher, and our critical section is going from average worse case of 400ms to a whopping 5000ms - thats a ten fold reduction in performance. Seriously guys, this is a "Production Software 101" mistake. How can you knowingly drop a release with this kind of a change and not notify your users?
Here is an email I received about this issue from an Adobe engineer:
...this was a permanent change that was made to address a security issue with the player. In our decision making we believed that this feature was seldom used and that while falling back to the interpreter would be slower, since the feature was designed 5 years ago, current desktop system speeds should help compensate for the decreased performance. We also believed that performance should be acceptable on mobile for small filtered areas (it's been implemented in interpreted mode on mobile from the beginning.)
We are still gathering feedback from customers on [this] bug report and there are internal discussions about the ramifications of this change.
So it looks as though this change is not going to be reversed any time soon, given that there are security implications.
The only workaround is to reduce the dimensions of the bitmapData object that the Pixel Bender shader uses. This will improve frame rate performance, but will of course mean images will be pixelated if the bitmapData is then enlarged to its previous size.
There is a bug in Adobe's system for this issue:
Please vote it up so that it gets addressed.
It appears as though Adobe are not going to resolve this issue, as their bug has now been marked "NeverFix" https://bugbase.adobe.com/index.cfm?event=bug&id=3591185
This feature was disabled due to security issues. Stage3D and AGAL should be a more than adequate replacement. For the users that were using PixelBender "off-label" for data processing, Alchemy is a good alternative.
An unsatisfactory conclusion IMO, but a conclusion nonetheless.