PHP Image Funktionen sehr langsam?

multimolti

Erfahrenes Mitglied
Hallo!
Bin grad dabei eine Foto-Website von meinem Urlaub zu machen. Dachte daran, das so zu machen:
- Fotos liegen in Vollauflösung auf dem Server vor (3 MP)
- im View-Mode wird das aktuelle Bild von PHP auf 800x600 runtergerechnet
- im Overview-Mode werden alle Bilder auf 200x150 runtergerechnet
- das Fullsize-Bild ist einzeln herunterladbar

Aber das geht nicht, weil bei mir auf dem Rechner mit 3,2GHz Dual-Core und 2GB RAM PHP ungefähr 3 Sek. braucht, um die Bilder zu skalieren, das kann der dann nicht jedes mal machen. Habe jetzt eine Batch-konvertierung gebastelt, also man packt alle Bilder auf den Server, lässt das Script laufen und hat nachher ein 2000, ein 800 und ein 200 Pixel Bild. Dann muss das nur ein mal gerechnet werden, ist trotzdem extrem langsam, kann man etwas tun um das schneller zu machen?
 
Hi,

mit PHP wirst du keine großen Performancepunkte sammeln können in diesem Bereich. Weitere Informationen über Betriebssystem wären hilfreich.

Unter Linux könntest du einfach Imagemagick installieren, alle Bilder in ein Verzeichnis packen und

Code:
mogrify -resize 1024x768 *.jpg

oder ähnliches ausführen.
 
Ja, man kann den Server vom prinzip her auf reines imaging konfigurieren aber das wird auch nicht viel bringen zumal der rest dann leidet. Das beste was man bei sowas machen kann ist das was du gerade macht, Thumbnails erstellen, das spart auch Traffic/Bandbreite weil beim skalieren ist es egal wie groß PHP das Bild macht, geladen werden die gesamten Bilddaten des Vollbildes.
 
Das beste was man bei sowas machen kann ist das was du gerade macht, Thumbnails erstellen, das spart auch Traffic/Bandbreite weil beim skalieren ist es egal wie groß PHP das Bild macht, geladen werden die gesamten Bilddaten des Vollbildes.

Code:
mogrify -resize 1024x768 *.jpg

Das erstellt dir, wie schon gesagt, Thumbnails ohne PHP. Sollte also etwas schneller sein. Ich dachte, dass es selbstverständlich ist, Bilder nicht erst beim Seitenaufruf zu skalieren
 
Ist es eben nicht, ich sehs immer wieder das es direkt beim Aufruf skaliert wird anstatt es beim Upload oder bei der Erstellung der Gallery zu machen. :rolleyes:

Außerdem ist es doch nun egal ob ich es mit PHP oder direkt mit ImageMagic mache wenn ich es nur einmal machen muß und zwar beim Erstellen der Gallery, da kann mir die Wartezeit nun wirklich egal sein denn es handelt sich dabei ja wie gesagt im unter 5sek-Bereich. ;)
 
Erst mal Danke für die Antworten.

Also, das erst beim Laden skalieren wollte ich deswegen machen, um nicht zu viel Speicherplatz zu verbraten, der Server ist ja nicht unendlich groß.
Das mit dem Skalieren durch PHP kommt von der Idee, das jeder, der im Urlaub dabei war, seine Bilder selbst hochladen kann und das dann automatisch gemacht wird, ich habe ja keinen Bock, das alles selber zu machen, also automatisches Script.
Und an den Servereinstellungen kann ich nichts rumpfuschen, weil der Online-Server ja nicht mit gehört, hier zuhause geht das, aber den funpic-Server kann man nicht selber konfigurieren.
Naja dann muss ich das eben aushalten, das Problem ist nur dass der funpic-Sicherheitsmechanismus nach 30 Sek. automatisch das Script abbricht, und wenn ich dann 100 Fotos hochlade, muss ich das Script dauernd neu starten.
 
Zurück