How to Avoid Lag When Taking Screenshot

Hi,

I am using the texture.ReadPixels and then encoding to PNG to take a screenshot; however, each time a screenshot is taken the screen lags. What is causing this lag? Will using render textures help this?

Thanks for any insight!

Why you no be normal human and use Unity - Scripting API: Application.CaptureScreenshot
?

I need to output the file over the network so after taking the screenshot I send the bytes to another computer.

Application.Screenshot lags each time as well.