↑

Diskussion 🖼️
Kaputte Vorschaubilder verhindern

Es ist bei mit [j]-> generierten Vorschaubildern bei David mehr als einmal vorgekommen, dass diese nicht komplett waren. Leider konnte Martin das Problem nicht ebenfalls provozieren, um die genaue Ursache festzustellen, was ein Beheben schwierig macht. Martin hat zwar Ideen, wie man es beheben könnte, aber kann ihre Tüchtigkeit nicht testen, wenn er das Problem nicht erzeugen kann.

  1. Re: https://prlbr.de/2018/gaestebuch/#K299

    Ich habe mehrfach versucht, so viele Vorschaubilder berechnen zu lassen, dass die auf dem Server eingestellte PHP-Skriptlaufzeit überschritten wird. Nur wurde bei mir nie während des Speicherns eines Bildes abgebrochen, sondern immer zwischendurch.

    Dennoch vermute ich, dass das Problem beim Speichern des Vorschaubildes auftaucht (nicht beim Erzeugen des Vorschaubildes im Arbeitsspeicher). Die Idee wäre daher, das erzeugte Vorschaubild zunächst in eine temporäre Datei zu speichern und bei Erfolg die temporäre Datei in die Vorschaudatei umzubenennen.

  2. Vorschaubilder werden nun automatisch neu berechnet, wenn das Original aktualisiert wird. Das habe ich nach einer ausgezeichneten Frage von David implementiert.

    Zwar löst das nicht das hier diskutierte Problem, aber dank der Änderung kann man mit dem hiesigen Problem leicht umgehen. Wenn man das Original neu hochlädt (oder einfach per https://en.wikipedia.org/wiki/Touch_(command) aktualisiert), wird ein neues Vorschaubild berechnet und ist dann höchstwahrscheinlich komplett.

  3. Nachtrag zu @2: Bei aktiviertem Cache für Aneamal-Seiten werden die Vorschaubilder erst neu berechnet, wenn auch die einbindende Aneamal-Seite neu verarbeitet wird – also wenn die gecachte Version der Seite abgelaufen ist, die Seite geändert oder der Cache-Inhalt gelöscht wird.

  4. Wenn JPEG XL Browserunterstüzung erhält und von Aneamal für Vorschaubilder eingesetzt wird, dann sollten eventuell nicht vollständig gespeicherte Vorschaubilder visuell viel weniger störend aussehen, weil dennoch das ganze Bild dargestellt wird, nur in verminderte Qualität.

  5. @4: In Aneamal 29 werden bereits klassische JPEG-Vorschaubilder progressiv kodiert, sodass eine nur teilweise gespeicherte Bilddatei in der Regel schon Informationen über das ganze Bild enthalten wird, nur noch nicht in voller Qualität.

  6. Ich konnte das Problem nun erstmals reproduzieren: Lässt man das Vorschaubild schon automatisch generieren, während das Originalbild noch hochgeladen wird – also erst teilweise auf dem Server liegt –, dann kann das Vorschaubild auch nur einen Teil eines ganzen Bildes zeigen. Sekunden später ist das Original vollständig auf dem Server und man ahnt nicht, wieso sein Vorschaubild „kaputt“ erscheint.

    Das Problem ist leicht zu vermeiden: Seite aufrufen und Vorschaubilder erst berechnen, wenn die Originale hochgeladen sind. Wenn es schief gegangen ist, Original erneut hochladen und die Seite nach Abschluss noch einmal laden.

  7. Ich schließe die Diskussion, da das Rätsel gelöst und Abhilfe vorhanden ist.