Stretching faces with optimized performances

My question is actually more webgl specific, hopefully that’s fine.

I am manipulating PlaneBufferGeometry vertices and shaders to create different effects. I am running into an issue where I stretch all faces of plane, all faces are visible in view. While I get good performances with million particles without stretching them, performance drops significantly the more I stretch faces. Right now I can only get good performance with 40k faces. I believe this has to do with fragmentShader needing to do extra work for these stretched faces, is that correct? Are there any tricks to boost performances with this approach? Maybe instancing will help?