Duża ilość małych obrazków

0

Witam.

Nasz system na stronie lokalnej jest tak skonstruowany, że najpierw ładuje wszystkie dane z sql, a później stronnicuje. W przypadku wyświetlania samych danych, nie ma większego problemu, jednak kłopoty pojawiają się przy ładowaniu obrazków.

Po kolei:

  1. Ładuję zapytaniem 1500 rekordów.
  2. Wyświetlam wszystkie rekordy włącznie z 9 obrazkami obok nich (1kb, 28px), łącznie 9*1500 = 13500
  3. Stronnicuje po załadowaniu.

Strona ładuje się jakieś 12 sekund (firefox).
Bez wczytywania obrazków, a np. samego tekstu zamiast nich, są to jakieś 2 sek.

Screen:

http://files.tinypic.pl/i/00729/3268hh9ietb6.png

Jest jakiś sprytny sposób, by zapobiec takiemu zamuleniu przeglądarki ?

4

Nie ładuj tych obrazków przed uruchomieniem stronicowania?

0

Sam skrypt stronnicowania nie wpływa na płynność wczytywania strony. Usuwając skrypt stronnicowania długość wczytywania jest taka sama.

0

Chcesz powiedzieć, że zaciągasz 13500 różnych obrazków? :)

Możesz przerzucić stronnicowanie na bazę danych.

0

Takich samych :-)

Rozwiązałem to w taki sposób:

  1. Sprawdzam display divów javascriptem
  2. Przechowuję tymczasowo w alt obrazka jego src
  3. JS sprawdzam, czy display jest != 'none' i do src ładuje jego alt.

Czas ładowania zmniejszył się z 12 do 4 sekund :-)

0

4 sekundy to też trochę sporo...
Czyli, jak rozumiem, obrazków jest tylko 9? Ja bym niczego nie sprawdzał w 1500 rekordach javascriptem, tylko załadował obrazki dla aktualnie wyświetlanej strony bazując na wiedzy jaka to strona i później doładowywał przy zmianie strony... W ten sposób na pierwszy rzut będziesz miał tylko 20? 50? 100? rekordów z obrazkami...

0

Najlepiej robić tak jak strona, która oferuje sprzątanie mieszkań i domów bo widać, że są dobrze dopasowane do treści i ładuje się bardzo dobrze każda podstrona, jest na kim się wzorować.

0

Jeżeli to obrazki powodują główne obciążenie i uda Ci się istotnie zmniejszyć ich wielkość to masz na to szansę. Trzeba zbadać jak czasowo wygląda ładowanie poszczególnych elementów.
Całkiem powszechnym jest robienie miniatur obrazków prowadzących do właściwych obrazków (zamiast wyświetlania tego ogromnego obrazka w dużym pomniejszeniu).

Jeżeli zmniejszanie nie da odpowiednich efektów (bo obrazki musiałyby tracić na jakości, a ty tego nie chcesz), to możesz ładować je dynamicznie (AJAX) już po załadowaniu strony.

0

Ok dzięki za podpowiedź idę z tym walczyć :)

0

Co masz na myśli pisząć "ładowanie obrazków"? Na screenie wygląda mi to na odzwierciedlenie jakiegoś parametru bool.
Sprawdź czy ten sam problem z czasem będziesz miał wyświetlająć zamiast obrazka jakiś div lub span z klasą która ma to co chcesz jako bg.

BTW.
Ładowanie wszystkich danych a później ich stronicowanie to dla mnie suicide. Jest jakiś powód dla którego nie możesz, tak jak tu już ktoś napisał, przenieść stronicowania na bazę danych?

1 użytkowników online, w tym zalogowanych: 0, gości: 1