I think it may be the browser. Some browser can only render certain web page all at once after all embedded elements has been received, image, css, js, etc.
Other browser maybe do better, try different browser, like IE, FF, Opera, etc.
For subsequent requests, the images, css, js have been cached, so once the main page html has been received, the page can show up.
You can check the loading speed with FireBug and find the request that takes long time to complete.