Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Ładowanie obrazów w tle
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Resurrection
Witam.
Cel - załadowanie obrazów do pamięci przeglądarki w tle podczas działania aplikacji

Zainteresowałem się Html5->Worker ale po zgłębieniu tematu dowiedziałem się że nie ma dostępu do Image()
Rozwiązanie window.onload nie spełnia założenia

w grę wchodzi wykorzystanie również PHP.

Proszę o wskazówki.
Comandeer
A może https://www.thecssninja.com/css/even-better...ading-with-css2 ?
Resurrection
To rozwiązanie zastosowane w głównym wątku daje ten sam efekt co window.onload czyli po załadowaniu strony(aplikacji) zaczynają się ładować zdjęcia blokując użytkownikowi dostęp do aplikacji.
W drugim wątku stosując Worker z tego co czytałem nie ma dostępu do DOM czyli nie mogę tego zastosować.

Myślę o takim rozwiązaniu w drugim wątku - Worker wykorzystuje XMLHttpRequest gdzie za pomocą GD2 lub ImageMagick odczytuje zdjęcie i za pomocą metody imagejpg() (GD2) wysyłam zdjęcie do przeglądarki ... problem który widzę na tę chwilę to, że wysyłka większej ilość wiąże się z dużą ilością zapytań do serwera ...z drugiej strony dzieje się to w oddzielnym wątku nie blokuje aplikacji...dobrze by było odczytać w jednym zapytaniu większą ilość zdjęć i wysłać na raz...odczytać to się da a wysłać?

Jak uważacie czy mój tok rozumowania jest poprawny...może inne rozwiązanie?

Dziękuję w ogóle za zainteresowanie tematem :-)
trueblue
Czy tez zdjęcia będą w jakiś sposób przetwarzane/modyfikowane na serwerze?
Dlaczego nie użyjesz po prostu JavaScript? http://fragged.org/preloading-images-using...eworks_744.html
Comandeer
Hmm… W jaki sposób niby to blokuje aplikację?
Resurrection
Cytat
Hmm… W jaki sposób niby to blokuje aplikację?


Nie blokuje że nie można nic wykonać chodziło mi, że wykorzystuje ten sam wątek.

Tak na prawdę to patrząc na te możliwości muszę trochę poczytać o działaniu przeglądarek i wykorzystaniu przez nie wielowątkowości z wykorzystaniem procesorów wielordzeniowych, ponieważ trochę się w tym zagmatwałem.

Założenie było takie żeby nie obciążać danego wątku w którym pracuje aplikacja i żeby kolejne wątki były wykonywane w architekturze wielordzeniowej.
Trochę chyba za bardzo zachwyciłem się tym że gdzieś przeczytałem o tym że za pomocą Worker-a można coś takiego zaimplementować.

Aplikacja o wykonaniu której rozmyślam miała by ładować bardzo dużo zdjęć wysokiej jakości. Będę musiał raczej rozwiązać to w taki sposób że miniaturę odczytam z nagłówka jpg a następnie to co nie uda się doładować wysokiej jakości będę ładował kawałkami i uzupełniał widok...coś w ten deseń :-) ...jeszcze nie wiem jak ale poszperam w necie.

W linku podanym przez trueblue przeczytałem o "link prefetching". Korzystaliście z tego?...co znaczy że ładuje w czasie bezczynności przeglądarki(czy stan bezczynności to np: nie wysyłanie zapytań do serwera przez dany czas ? )...jeżeli zacznie ładować a użytkownik wróci np: do korzystania z aplikacji to przerywa ładowanie i powraca przy kolejnej przerwie.







Comandeer
Polecam po prostu poczytać o lazy loading wink.gif

Co do link prefetching – daje na tyle małe podwyżki wydajności, że dla dużej liczby zdjęć stwierdziłbym, że wręcz pogarsza (tyle transferu marnowane… tongue.gif)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.