I've been experimenting with windows/vncinject/reverse_tcp

When connecting to a computer in my network, the desktop loads fairly quickly.

I tried this setup on my dad who lives in another city. It worked, but it took about 5 mins for the whole desktop to come out on my screeen. I noticed that I could increase loading performance a bit by moving my mouse.

Is there anyway to improve performance when using vncinject across the internet? Perhaps using two ports instead of one? What's the bottleneck? Is it just the packet loss the connection experiences when going through many different routers(hops) across to the other end of the connection?