When you use tables for layout you need to optimize them to perform well. Otherwise your content may not display until every last bit of code has downloaded. Specifically you need to define the width and height of all your tables to prevent this delay. A page the size of yours should be able to download on my network within a couple seconds, so there may also be server-side scripts that are delaying the display. This is just one of the many drawbacks in using table layouts.
Without width and height explicitly defined, browsers need to download all your content before they can draw your tables. Adding table widths and heights will allow some of your content to be drawn while the rest continues to download.
The best approach, in my opinion, is to abandon table layout and go with semantic markup and CSS. Most professional coders made that move 5+ years ago.