Seems that the slowdown is actually related to the fact that I create a lot of new ShaderJob instances at once.
The delay occurs when you set the shader property of a ShaderJob instance, this shader has loaded a PBJ and thus contains byteCode, setting a new Shader() without byteCode does not slow down the player.
Note to the above: in my code I just set the byteCode property, I put the 'start()' line in comments, so Pixel Bender is NOT triggered in my test, but the delay does occur and increments even with the more ShaderJobs I create.
Is there any workaround for this? Once a ShaderJob has started, it cannot be reused (throws Error: job has already started...) so keeping ShaderJob instances won't do
After playing with the ShaderJob class, I too think that it should support restarting.
A job instance has to be created every time when shader parameters change which is not good for animations.
ShaderFilter seems to give smoother results.
I also couldn't queue Shaderjobs, each time I executed a new job it tramples the Shader parameters of old jobs so only the last job was executed properly. I ended up with a AS queue function...