Seite 1 von 1

Full Album Pack beschleunigen - Snippet

Verfasst: 16.06.2006 16:33
von bazillus
Moin,

ich hab die letzten Tage etwas mit dem Full Album Pack gearbeitet und dabei festgestellt, dass der Seitenaufbau der Kategorien (album_cat.php) trotz Thumbnails, im Gegensatz zu anderen Fotoalben, verdammt lange dauert - bzw. die Bilder nur einzeln geladen werden.

Der Grund war auch recht schnell gefunden, jedes Thumbnail wird über die album_thumbnail.php geöffnet. Diese führt für jedes Bild eine Abfrage aus und generiert, wenn kein Thumbnail existiert ein Neues.

Leider dauert der Prozess für meinen Geschmack viel zu lange, mit diesem quick&dirty Snippet wird bereits beim Aufruf der album_cat.php geprüft ob Thumbnails aktiviert sind und eines für das Bild existiert, falls ja wird das Thumbnail direkt aus dem Ordner Cache geladen, sonst wird die album_thumbnail.php aufgerufen.

Der Code kann mit Sicherheit noch optimiert und verbessert werden, aber für mich reicht er!

Code: Alles auswählen

#
#-----[ OPEN ]------------------------------------------
#

album_mod/album_hierarchy_sql.php

#
#-----[ FIND ]------------------------------------------
#

SELECT ct.cat_user_id, ct.cat_id, ct.cat_title, p.pic_id, p.pic_title, p.pic_filename, p.pic_desc, p.pic_user_id,

#
#-----[ IN LINE, FIND ]------------------------------------
#

 p.pic_id, p.pic_title

#
#-----[ AFTER, ADD ]-----------------------------------
#

, p.pic_thumbnail

#
#-----[ FIND ]------------------------------------------
#

					$approval_link .= '</a>';
				}
			}
			
#
#-----[ AFTER, ADD ]-----------------------------------
#

if( ($album_config['thumbnail_cache'] == 1) && ($picrow[$j]['pic_thumbnail'] != '') && file_exists(ALBUM_CACHE_PATH . $picrow[$j]['pic_thumbnail']) )
 {
 $picture_thumb = $picrow[$j]['pic_thumbnail'];
 $pic_thumb = "album_mod/upload/cache/$picture_thumb";
 }
 else
 	{
 		$pic_thumb = append_sid(album_append_uid("album_thumbnail.$phpEx?pic_id=". $picrow[$j]['pic_id']));
	}
	
#
#-----[ FIND ]------------------------------------------
#

'THUMBNAIL' => append_sid(album_append_uid("album_thumbnail.$phpEx?pic_id=". $picrow[$j]['pic_id'])),

#
#-----[ REPLACE WITH ]-----------------------------------
#
				'THUMBNAIL' => $pic_thumb,
				#'THUMBNAIL' => append_sid(album_append_uid("album_thumbnail.$phpEx?pic_id=". $picrow[$j]['pic_id'])),
Mit Änderungen an der Variabeln kann man auch die Blöcke mit
- neuesten Bildern (function album_build_recent_pics)
- den höchstbewerteten Bildern (function album_build_highest_rated_pics)
- den am häufigsten betrachteten Bildern (function album_build_most_viewed_pics)
- zufälligen Bildern (function album_build_random_pics)

optimieren. Alle Blöcke finden sich ebenfalls in der album_hierarchy_sql.php.

greetz

/edit: Fehler beim FIND beseitigt

Verfasst: 17.06.2006 00:51
von darkon
Alternativ kann man auch den völlig überladenen FullAlbum Mod ignorieren und stattdessen das Smartor Album mit "Pimp my Album" aufpeppen.

Der ist nicht so überladen und meinem Empfinden nach schneller.

Verfasst: 26.08.2006 14:04
von bgx
Klasse Hack!

Danke dir! Läuft 1a.

Hab mich eh schon gewundert, weil im FF sah es immer so aus als würden die Bilder 2x geladen werden.