The raison for the low fps is this fx was applied to layer... you must apply this fx to sprite in the back layer for example and of course the complexity of this fx drop fps... so reduce sprite size.
The other problem is when you are changing the speed on an animated fx on the fly , the fx will restart or redraw;
This is caused by the timer of the fx , the solution is using position or value instead timer..
Consider timer like "infinite for-loop" ... you can not change value during execution ...
** The fx and the demo were now updated...capx file is included you can now see the difference
between speed and position value.