It might be that your shader could be written in a more optimized way, but we can't judge that without seeing the code. However, shaders applied to level geometry are always slow. Personally, I use models for all my levels.