phpbar.de logo

Mailinglisten-Archive

[php] Performancefrage imagecreate

[php] Performancefrage imagecreate

Jens Kohl php_(at)_phpcenter.de
Sat, 18 May 2002 14:50:31 +0200


> Nachteil:
> - Im Verzeichnis liegen mehrere Ausfertigungen der gleichen Grafik
> (Speicherplatzverbrauch)

Ist relativ zu sehen, bei vielen Bildern kann das durchaus ein Problem
werden.

> - In den Datenbanktabelle brauche ich mehrere Spalten (name,width,height)
> für jede Ausfertigung (Übersichtlichkeit)

Das liegt dann aber an deinem Programierstil, wenn du die Dateien als Kopien
hast, brauchst du die Daten nicht doppelt in der Datenbank zu halten. Ist
wohl auch etwas unflexibler.

> - Wird einmal eine bestimmte (zusätzliche) Grafik-Größe benötigt, steht
sie
> nicht zur Verfügung. (Mangelnde Flexibilität)

Nein? Wenn das richtig programmierst, guckste auf der Platte ob eine Kopie
vorhanden ist, wenn ja wird sie angezeigt, wenn nein generierst du schnell
eine neues Bild.

> [...]

> Vorteile:
> + Eine Kopie kann in der jeweils benötigten Größe erstellt werden (hohe
> Flexibilität)

Wie gesagt, das liegt nur an dir.

> [...]

> Jetzt stehe ich vor der Frage ob Lösung 1 oder 2. Tendenziell würde ich
> Lösung2 vorziehen, jedoch bin ich mir in der Performance-Frage nicht
sicher.
> Wie sieht das aus, führt Lösung2 zu bedeutenden Geschwindigkeitsverlusten?
> In der Spitze werden bei einem Seitenaufruf ca. 10 Grafiken auf diese
Weise
> eingefügt.

Mit GDlib kannst zusehen wie jedes einzelne Bild gerendert wird. Kommt dann
auch immer drauf an, wieviele Leute gleichzeitig sich die Seite angucken.
Bei 10 Bildern die nacheinander generiert werden müssen, fällt ist bei der
GDlib schon sehr auf. Dort sollte man unbedingt cachen.

Die Alternative ist Imlib, die ist um Faktor 5 schneller, da fällt das
weniger auf. (Wenn nur ein User grad Bilder generiert bekommt).

Der folgende Link sollte dann für dich auch interessant sein:

http://www.ps4u.de/main/stories/stories.php?id=3

> Bitte sagt mir Eure Meinung. Ich sag schon mal Danke.

Ist damit getan, ich hoffe dir hilft mein Artikel weiter.


php::bar PHP Wiki   -   Listenarchive