In the Viewports tutorial it says to yield() twice before copying a texture so that it gives the Viewport a chance to render. Last year the signal "frame_post_draw" was added to VisualServer. It is ...