![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
Ostatnio eksperymentuje z nowym (nowym dla mnie) podejściem do elementów graficznych layoutu strony.
Obrazki przechowuje w plikach .css w stylach background: url(data:image/png;base64,iVBORw0KGgo......) zakodowane w base64.. Plusy: - łatwiejsze grupowanie, znika potrzeba tworzenia map obrazków, nie pamiętam jak ta technika się nazwała, chodzi o to, że kiedy mamy wiele obrazków o małej wielkości, to celem unikniecia wielu połączeń z serweram, tworzymy jeden obrazek zawierający wszystkie mniejsze jeden obok drugiego, a potem przy pomocy stylu CSS background-position osadzamy je w dokumecie. Trzymając je w plikach .css ten problem znika - omijamy algorytmy kompresujące na serwerach proxy, może to problem dotyczący niewielkiej ilości odwiedzających, ale z doświadczenia wiem, że np. sieci komórkowe obligatoryjnie kompresują wszystkie jpegi, przez co strona wygląda okropnie. Ten problem z pewnością będzie narastał w przyszłości. - łatwiejsze zarządzenie cachowaniem HTTP, - mniejsza ilość połączeń do serwera - oszczędność transferu - szybsze ładowanie strony, mniej elementów do pobrania czy sprawdzenia aktualności cachu.. Minusy: - 3-4% narzut wielkości (base64) - częściowo rekompensowany zmniejszoną ilością połączeń - rozwiązanie mało konwencjonalne, przez co prawdopodobnie, gdzieś tam w świecie, jest platforma która tego nie wspiera (może jakieś urządzenie mobilne?) - i jeszcze raz technika mało konwencjonalna, więc potencjalnie gorzej zoptymalizowana w przeglądarkach, przez co wolniejsza Warto nie przekraczać granic absurdu, nie ma sensu galerii zdjęć ładować do plików .css Jednak moim zdaniem jest to jest dobre miejsce dla wszystkich elementów graficznych podstawowego layoutu strony. A jakie jest Wasze zdanie? Ten post edytował wNogachSpisz 26.05.2011, 00:07:58 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
Podstawy protokołu TCP/IP się kłaniają. Nie każdy serwer ma odpowiednio ustawiony Keep-Alive, Nie rozumiem co ma keep-alive do ilości plików stylów. pamiętaj, że każde nowe połączenie TCP, to zasoby CPU + łącze. Sama negocjacja potrafi pożreć więcej czasu niż faktyczny przesył zbioru. Dokładnie! Taki jest właśnie cel tej całej zabawy, minimalizacja tych połączeń. Zamiast wielu drobnych elementów graficznych, jeden - lub jeśli trzeba więcej - plików .css. Dziękuje za czytanie ze zrozumieniem... (ironia) Ten post edytował wNogachSpisz 28.05.2011, 15:21:15 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.10.2025 - 10:18 |