Seite 1 von 1

Optimierung des CSS-Parsings in phpBB3

Verfasst: 04.12.2008 19:48
von Balint
Hallo!

Nachdem phpBB3 freundlicher Weise die vielen CSS-Dateien zu einer zusammenfügt und sie im Optimalfall mit GZIP versorgt, habe ich mir überlegt, wie man es noch etwas besser machen könnte. Die Online-Compression-Tools (Bsp. hier: http://compressor.ebiene.de/) sind für kleinere Sachen bestimmt geeignet - ich wollte meinen Code lokal noch bequem bearbeiten können. Die mehrere Dateien umfassenden Optimiser wollte ich dem System nicht antun. Es sollte ja nicht weniger Dateigröße mit mehr Last erkauft werden.

Daher habe ich ein wenig herumgeforscht und bin einen ersten Schritt mit folgendem Code gegangen:

Öffne die style.php und finde

Code: Alles auswählen

echo $theme['theme_data'];
füge davor ein

Code: Alles auswählen

$theme['theme_data'] = preg_replace('!/\*.*\*/!Us', '', $theme['theme_data']);
$theme['theme_data'] = str_replace(array("\r\n", "\r", "\n", "\t"), '', $theme['theme_data']);
Tests auf meinem Live-Board ergaben folgende Werte

Ohne Fix:
Dateigröße style.php: 77,8KB (gemessen mit http://tools.pingdom.com/)
Time : 0.142s | 8 Queries | GZIP : On

Mit Fix:
Dateigröße style.php: 60,4 KB (gemessen mit http://tools.pingdom.com/)
Time : 0.092s | 8 Queries | GZIP : On

17 KB ist sicherlich nicht viel in Zeiten von DSL und lokalem Caching der CSS-Datei. Dennoch finde ich, dass es sich gelohnt hat und würde gerne weitere Ideen sammeln, was man noch unternehmen kann, um die Seiten schneller zu laden und damit komfortabler zu gestalten.

(Ich denke hier an Subdomains für Bilder, GZIP, etc.)


Viele Grüße,
Bálint

Re: Optimierung des CSS-Parsings in phpBB3

Verfasst: 03.10.2009 12:22
von benchfrooser
Danke für den tollen Tipp. Finde es etwas schade, dass du nicht mehr Resonanz bekommen hast und so etwas nicht standardmäßig in phpbb3 integriert ist.

Re: Optimierung des CSS-Parsings in phpBB3

Verfasst: 03.10.2009 13:36
von Pyramide
Im Bugtracker wurde vorgeschlagen, den Header bereits auszuliefern, während der Rest der Seite berechnet wird:
#52005 - Performance: Flush page_header()