Aloha!
Da verlangt wurde sehr viele Bilder hochzuladen, habe ich mir gedacht, nimmst' dir ein kleines Tool und mache aus einem großen Bild mehrere kleine Bilder, denn ich habe gehört, daß sich mehrere kleine Bilder schneller laden lassen.
Das ist wohl eine Fehlinformation, denn:
Um ein einziges größeres Bild herunterzuladen wird _einmal_ eine Verbindung zum Server hergestellt und dann werden so schnell es geht Daten übertragen.
Teilst du das Bild in kleinere Teilbilder auf, dann werden _mehrere_ Bilder geladen - im HTTP/1.1-Standard sind vier Verbindungen zum Server erlaubt, also werden eigentlich maximal vier Bilder parallel geladen, aber keinesfalls viermal so schnell, sondern alle mit einem Viertel der Leitungsgeschwindigkeit - zaubern kann kein Modem (und auch schnellere Leitungen nicht).
Der Nachteil der kleinen Bilder: Es müssen logischerweise viel mehr Einzelbilder vom Server angefordert werden, und das macht pro Einzelbild schätzungsweise ein weiteres Kilobyte an HTTP-Headern aus, die über die Leitung gehen müssen. Außerdem braucht auch der Server Reaktionszeit - bei mehreren Bildern eben mehrere Male.
Deshalb: Speichere die Bilder als ganzes! Du kannst die Formate "progressive JPEG" oder "interlaced GIF" (letzteres ist für Fotos aber nicht geeignet) verwenden, um mit wenigen zuerst geladenen Daten schon mal ein wenig Pixelkram anzuzeigen, welcher dann durch nachfolgende Daten immer feiner angezeigt wird, bis schließlich das Originalbild zu sehen ist.
Da ohnehin kleine Vorschaubilder verwendet werden, sollten die großen Bilder ein wenig auf Größe optimiert werden, also möglichst kleine Dateigröße bei möglichst wenig Kompressionsartefakten und Qualitätseinbußen.
Es ist IMO kein Beinbruch, wenn ein einzelnes Bild 100 Kilobyte groß ist - sofern man das vorher irgendwie ahnen kann (indem es z.B. als genereller Hinweis oder speziell neben dem Vorschaubild dabeisteht). Die kleinen Einzelbilder sind garantiert insgesamt nicht kleiner - eher noch größer, und durch die zusätzlichen HTTP-Header, von denen der Benutzer absolut nichts sieht, die aber da sind, fällt die Größenbetrachtung eigentlich immer ungünstiger aus. Teile ein großes Bild in 6 Teile, und du hast 5 zusätzliche HTTP-Header = 5 KB zusätzliche Daten. Bei 16 Teilbildern sind es schon 15 KB...
- Sven Rautenberg