| 

.NET C# Java Javascript Exception

2
Moin allerseits.

In einer Galerie habe ich alle Vorschaubilder in eine einzige JPG gespeichert. Diese Lade ich dann als Hintergrundbild und zeige sie mit verschiedenen Positionen an, um die Matrix einer Galerie anzuzeigen. (Damit will ich bei einer großen Galerie viele Requests vermeiden).

Ab einer bestimmten Anzahl der Bilder pro Galerie (z.B. 400, ich habe noch keine Grenze aufgespürt) kann der Firefox die Datei nicht darstellen, die Vorschau bleibt leer.

Beispiel 1:
- Datei: http://mp-pf.de/data/media/pictures/vorschau/2011-38/41.jpg
- Website: http://mp-pf.de/index.php/galerie#galerie/eventbilder/city-beatz-24-09-2011/album/

Beispiel 2:
- Datei: http://mp-pf.de/data/media/pictures/vorschau/2011-37/39.jpg
- Website: http://mp-pf.de/index.php/galerie#galerie/eventbilder/grand-opening-15-09-2011/album/

Komischerweise taucht das Problem nur im Mozilla Firefox auf, alle anderen Browser zeigen alles problemlos an. Ich habe schon eine Kompression von 30% angesetzt (die Thumbs werden mit PHP generiert), aber es hilft nichts.

Liegt es an einer Grenze der Dateigröße? Oder liegt es am Seitenverhältnis? Mein Kollege hat mit der Datei an der Auflösung so lange herumgespielt, bis der Firefox die Datei auf einmal darstellen konnte. Also dürfte es nicht am Seitenverhältnis liegen. Gibt es eine Lösung für das Problem oder sogar offizielle Angaben darüber, was angezeigt werden darf/kann?

Vielen Dank für eure Hilfe
26.09.2011
johny7 521 1 8
3 Antworten
1
Für alle, die auch eine Antwort haben möchten:

Das Limit liegt (bei der Breite) bei 32755 Pixeln. Darüber hinaus wird nichts angezeigt. Deshalb habe ich in meiner Galerie beim Upload die Anzahl der Bilder automatisch beschränken lassen. Die Anzahl errechne ich mit Hinzunahme der konfigurierten Breite pro Vorschaubild. Daraus ergibt sich:

Max. Bilder pro Album = floor(32755/Breite des Vorschaubildes);

So vermeide ich Fehlanzeigen. Im Notfall wird das Album eben aufgeteilt auf mehrere Alben.
21.10.2011
johny7 521 1 8
Ist das angegebene Limit rein experimentell ermittelt (wie in Deinem Kommentar vom 10.10. angegeben), oder hast Du inzwischen eine "offizielle" Quelle dafür, wie z.B. den FF-Sourcecode?
Matthias Hlawatsch 21.10.2011
Nee, nur experimentell. Funktioniert aber bisher einwandfrei.
johny7 21.10.2011
0
Das ist vielleicht eine Schutzfunktion das nicht wieder ein Bild mit 10000x10000 Pixel geladen wird das den Rechner zum Stillstand bring. Deine Beispiele gehen an meinem Firefox allerdings (Version 3.6.3, 4.0, Nightly Build).

Dein Vorhaben ist aber eigenartig, massenhaft Request sind doch kein Problem für Webserver wie Apache 2.3 und Lighttpd 1.5. Wenn du aber darauf aus bist die Request zu veringern, oder allgemein deine Last durch User, warum nimmst du nicht einfach eine Flash Gallery bis HTML 5 das kann.

Was allerdings passieren kann:
- Leute haben kein Flash installiert
- Firewalls sperren Flash Elemente

Alternativ:
Thumbs auf einen anderen Server legen den du mit http://img.mp-pf.de/ ansprichst (das machen alle großen Seiten) oder deine Thumbs per JQuery Dynamisch laden lassen, dann werden nicht alle Thumbs auf einen Schlag geladen sondern immer kleine Pakete. Wenn jemand kein Javascript aktiviert hat (wie ich mit NoScript), dann hat er eben Pech gehabt ;) Allen kann man es nicht recht machen.

Ist der Traffic wirklich so stark, dass du lieber einen Request mit einem großen Bild entgegenarbeiten möchtest? Das verschlingt ja auch Upload zum User.
26.09.2011
Lord_Pinhead 778 1 8
Ich weiß, es gibt verschiedene Möglichkeiten. Das Problem liegt nicht am Server, sondern daran, dass der Browser ein großes Bild schneller lädt, als 400 entsprechend kleinere.
Ich werde diese Architektur wohl kaum noch umstellen. Ich habe übrigens FF 6.0.2.
johny7 27.09.2011
0
Die Datei hat zwar nur 360kb, aber immerhin 40375 x 95 Pixel!!! Mir ist keine maximale Größe bekannt. Reduzier doch mal von Hand die Höhe und versuche herauszubekommen ab wann der FF sie wieder darstellen kann. Mit dem Wert findest Du dann vielleicht einen Hinweis im Netz.
27.09.2011
Xantiva 2,3k 2 9
Moment... Die Höhe ist doch schon sehr klein! Das Bild ist einfach sehr breit. Ich probiere mal rum...
johny7 27.09.2011
Also, ich habe jetzt ein Limit experimentell ermittelt:
Ab 32756px Breite wird nichts mehr angezeigt. Dabei spielt die Höhe keine Rolle.
Kann man das fixen oder muss man das Limit einfach berücksichtigen? Eine Websuche hat mir da nämlich nicht weitergeholfen.
johny7 10.10.2011

Stelle deine Web-Frage jetzt!