Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Thumbnail al volo e volecità caricamento

    Ciao a tutti,
    recentemente ho meso mano al sito di un fotografo per svuotare le gallerie e ricaricare nuove foto che mi ha dato. Purtroppo lo spazio web è di concezione un pò vecchiotta, considerati i 60mb di sole foto, ed avendo a disposizione non più di 100mb ho pensato di eliminare i file di anteprima per crearli invece al volo con uno script che sfrutta la libreria GD.

    Lo script funziona benissimo, prende come argomento l'url dell'immagine grande e trasmette lo stream immagine risultante, se non fosse che nelle pagine in cui è sfruttato, deve generare mediamente 30 o 40 thumbnail e ho la quasi certezza che questo rallenti notevolmente il caricamento della pagina.

    Ora le mie domande sono:

    - E' un dato di fatto che la pagina impieghi meno tempo a richiedere un file di piccole dimensioni piuttosto che eseguire uno script che carica un file grande per poi ridurlo?

    - Ci sono cose che potrei fare, al di là del classico ridimensionamento qualitativo delle immagini, per rendere più veloce il caricamento evitando di ritornare alle anteprime statiche?

    - Mi suggerite altre possibili soluzioni?
    "Una volta che si saranno esaurite senza successo tutte le possibilita', ci sara' una soluzione, semplice e ovvia, che saltera' immediatamente all'occhio di chiunque altro."

    Guardate: Il Miracolo delle Noci!!

  2. #2
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230

    Re: Thumbnail al volo e volecità caricamento

    Originariamente inviato da Lathspell
    Ciao a tutti,
    recentemente ho meso mano al sito di un fotografo per svuotare le gallerie e ricaricare nuove foto che mi ha dato. Purtroppo lo spazio web è di concezione un pò vecchiotta, considerati i 60mb di sole foto, ed avendo a disposizione non più di 100mb ho pensato di eliminare i file di anteprima per crearli invece al volo con uno script che sfrutta la libreria GD.

    Lo script funziona benissimo, prende come argomento l'url dell'immagine grande e trasmette lo stream immagine risultante, se non fosse che nelle pagine in cui è sfruttato, deve generare mediamente 30 o 40 thumbnail e ho la quasi certezza che questo rallenti notevolmente il caricamento della pagina.
    Un thumbnail enorme, 220x200 in jpeg a 100% occupa 50kb.
    Quindi 50 thumb occupano 2-3 mb. Sei proprio convinto che risparmi cosi tanto spazio?

    Ora le mie domande sono:

    - E' un dato di fatto che la pagina impieghi meno tempo a richiedere un file di piccole dimensioni piuttosto che eseguire uno script che carica un file grande per poi ridurlo?
    Si

    - Ci sono cose che potrei fare, al di là del classico ridimensionamento qualitativo delle immagini, per rendere più veloce il caricamento evitando di ritornare alle anteprime statiche?
    Per velocizzare il ridimensionamento - puoi usare qualche altro metodo, ad esempio netpbm. Per avere un tempo migliore con il ridimensionamento al volo, rispetto ai files statici - no.
    Se nei tuoi 100mb non e' compreso lo spazio occupato dal mysql, potresti salvare i thumb nel db.

    - Mi suggerite altre possibili soluzioni?
    Tornare alle anteprime statiche

  3. #3

    Re: Re: Thumbnail al volo e volecità caricamento

    Originariamente inviato da bubi1
    Un thumbnail enorme, 220x200 in jpeg a 100% occupa 50kb.
    Quindi 50 thumb occupano 2-3 mb. Sei proprio convinto che risparmi cosi tanto spazio?
    Se avessi una galleria sola si, ma siccome in totale sono 570 foto, (50kb*570)=28 e rotti mb di anteprime. Capisci bene che lo spazio disponibile si riduce notevolmente.

    Grazie comunque per la risposta. Tonerò alle anteprime statiche se proprio non riuscissi.
    "Una volta che si saranno esaurite senza successo tutte le possibilita', ci sara' una soluzione, semplice e ovvia, che saltera' immediatamente all'occhio di chiunque altro."

    Guardate: Il Miracolo delle Noci!!

  4. #4
    Beh, le thumbnail possono anche essere più piccole e non perforza al 100%, del resto sono solo delle mini anteprime

    Un'anteprima di 200x150 al 75% con le JPEG viene 7.5kb, che per 570 fa 4mb e qualcosa e si vedono perfette! Riducendo ancora la qualità al 50% viene 5.3kb e uno si deve sforzare per vedere che le immagini sono leggermente disturbate ... ma parliamo di anteprime quindi non ha importanza! A 5.3kb vengono usati meno di 3mb.

    Il tutto senza considerare che non saranno mai 200x150 bensì avranno uno solo di questi due lati a quella dimensione quindi al 50% saranno sotto 5.3kb

    Se poi vogliamo essere puntigliosi, anche 200x150 è enorme, infatti a 1024x768 occupa 1/5.12 dello schermo ... non è esattamente una thumbnail quindi si può ridurre ancora scendendo quindi di parecchio sotto i 3mb

    Detto tutto questo, ti conviene usare i file statici: proprio male che va modifichi lo script che genera le thumbnail al volo per far si che le salvi in una cartella chiamata cache cosi che prima di generarle controlli li dentro l'esistenza (magari tramite un hash) e se non esiste verifica la dimensione complessiva cosi che se non ci entra (mediamente sai che è 5.3kb, diciamo 6) fai spazio eliminado le più vecchie con un semplice algorittimo di ordinamento (glob, usort, www.php.net/filemtime) e poi generi la nuova

    Anzi, se vuoi farla più evoluta, invece di guardare la data di modifica guardi la data di accesso cosi che le meno viste vengano eliminate per prime

    Direi che questo sistema è molto più che sufficente per gestire tutta la situazione automaticamente senza distruggere nulla

    Per completare, se hai la possibilità di lanciare degli eseguibili tramite php, puoi usare nconvert ( http://www.xnview.com/en/nconvert.html ) che è qualcosa di fighissimo e velocissimo e ti risolvi il problema alla base ^^

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.