Primero, ver la posibilidad de comprimir el png,al menos en los jog en php podés establecer un nivel de compresión
http://php.apsique.com/manuales_logi...presionpng.htm
Después, ver que pasa si precargas el html del iframe(y las imágenes si la tuviese) y el PNG, habria que experimentar, pero supongo, que la página entera globalmente, tardaría más en cargar, pero no habria demoras entre la visualización de la imagen y el contenido del iframe.
Con jquery podes precargar no solo imágenes, tambien html, css, js y php. yo lo hago asi
en el head
Código Javascript
:
Ver original<script type="text/javascript">
//<![CDATA[
$.PrecargarContenido = function(){
for(var i = 0; i<arguments.length; i++){
$("#preload").load(arguments[i])
}
}
//]]>
</script>
en el body creas una capa con id=preload, le das 0px de width y height, es decir que esté escondida
y antes del cierre en el body, el array de elementos que querés precargar
Código Javascript
:
Ver original<script type="text/javascript">
//<![CDATA[
$.PrecargarContenido(
'/load/menuterminos.jpg',
'/load/menucarac.css',
'/load/menufaq.php',
'/img/bullet_on.png',
'/load/menucontactenos.php'
);
//]]>
</script>
También ayudaría que hagas un adecuado cacheo de las imágenes con los headers apropiados, en .htaccess sería conveniente
En cuanto al link que te recomendé, si te fijas , te analiza cuanto tarda en cargar cada elemento individualmente.
Aunque indudablemente, el problema mayor es que la imagen está generada por php, lo cual implica un proceso extra
saludos