(Forum) Miniatury dla dużych grafik

Czy jesteś za instalacją rozszerzenia miniatur?

  • Raczej tak, ale mam własną wizję.

    Głosy: 0 0,0%

  • W sumie głosujących
    18
  • Głosowanie zakończone .
Status
Zamknięty.
Witam ponownie w tymże dziale. Tym razem moja propozycja dotyczy pewnego ulepszenia, które wprowadziłoby trochę porządku w tematach o atakach, błędach czy nawet w galeriach w dziale OFF-Topic.

1) Podstawy i źródło pomysłu:
Rozwiązanie to zostało przytoczone przeze mnie z racji, że zaobserwowałem je działające na Plemiona-Forum, siostrzanym projekcie Grepolis. Jego całością jest jedno rozszerzenie systemu VBulletin o nazwie "Thumbnail by Xan", dodające mechanizm generacji miniatur obrazków.

2) Szczegóły techniczne rozszerzenia:
Podstawowe działanie rozszerzenia opiera się na interpretacji znacznika BBcode
Kod:
[noparse][rw]adres_obrazka[/rw][/noparse]
Podany w ten sposób znacznik jest interpretowany poprzez dodanie do wyrenderowanej strony ramki koloru czarnego, zawierającej odsyłacz do obrazu bazowego, któremu odpowiada umieszczona w ramce jego zredukowana - do rozmiarów ustalonych przez autora wtyczki - wersja. Tekst pod obrazkiem wyraźnie podpowiada, co należy zrobić w celu zobaczenia pełnowymiarowego obrazka:
Kliknij, by ujrzeć obraz w rozmiarach oryginalnych

Dodatkową funkcją rozszerzenia, ułatwiającą korzystanie z niego, jest dodawanie przycisku w edytorze, dzięki któremu łatwo wstawimy tag miniatury do postu.

3) Informacje na temat konsumpcji zasobów
Rozszerzenie pracuje całkowicie u klienta, pomijając warstwę edytora. Pozwala to na oszczędzenie cykli servera podczas wyświetlania grafiki. Plik jest ładowany w tle do rozszerzenia, po czym obrabiany (zmniejszany) i zwracany dopiero wtedy do ramki miniatury. To podejście eliminuje "rozjeżdżanie się" strony przez operacje na już załadowanym obiekcie.

4) Zalety wprowadzenia:
  • Ułatwienie przeglądania działów wymagających umieszczania dużych grafik, jak zrzuty ekranów,
  • Zdjęcie konieczności generacji miniatur przez zewnętrzne hostingi,
  • Rozbudowanie funkcji forum,
  • Ułatwienie pracy przy redukcji za dużych screen'ów (zrzucenie zadania na skrypt),
  • Relatywnie niski w porównaniu z metodami GD stopień użycia zasobów servera,
  • Standaryzacja tej funkcji z innymi forami gier InnoGames w Polsce.

5) Wady i słabe strony:
  • Abuserzy mogą tworzyć długo męczące procesor oglądającego łańcuszki miniatur, stąd jakieś ograniczenie by się przydało.


Zapraszam do dyskusji i głosowania.
 

DeletedUser

Guest
Relatywnie niski w porównaniu z metodami GD stopień użycia zasobów servera,

co to jest GD?

dodatkowo co ma wspólnego grafika ze stron zewnętrznych z obciążeniem serwera?
Przecież to przeglądarka pobiera te obrazki z danego źródła
a nie serwer gdzie jest forum (InnoGames) ..
czyli obciążenie jest podzielone na klientów
czyli każdego z użytkowników

aczkolwiek co do miniaturek to było by ok :)
 
co to jest GD?
Biblioteka PHP służąca do obrabiania grafiki podczas renderowania strony. Bardzo zasobożerna.

dodatkowo co ma wspólnego grafika ze stron zewnętrznych z obciążeniem serwera?
Przecież to przeglądarka pobiera te obrazki z danego źródła
a nie serwer gdzie jest forum (InnoGames)
Wyżej wyjaśniłem, dlaczego takie podejście. Gdyby zastosowanie znalazł skrypt korzystający z GD, serwer za każdym razem musiałby przeliczać obrazki. W dodatku istniałoby ryzyko wykonania kodu XSS (podaniu instrukcji bezpośrednio do serwera z racji wykorzystania fopen()). A tak, to się zgadzam.

Prosiłbym każdego, kto wystawił negatywną opinię, o krótki komentarz i logiczne uzasadnienie.
 

DeletedUser

Guest
Znaczy się jednym słowem, chodzi o to, aby nie wrzucać pełnowymiarowych grafik, a ich pomniejszone wersje?? Tak aby skrócić czas ładowania niektórych tematów?
Np. imageshack (i zapewne inne serwisy tego typu) oferuje kod z linkiem do miniaturki, a po kliknięciu, bach!, pokazuje się pełen wymiar w osobnym oknie. O to chodzi?? Czyli Twoja propozycja wprowadziłaby dodatkową opcję formatowania postów, dotyczącą konkretnie obrazków.

Nie do końca rozumiem język uczonych, a nie lubię oddawać głosu dla samego podbicia frekwencji :]
 

DeletedUser

Guest
Znaczy się jednym słowem, chodzi o to, aby nie wrzucać pełnowymiarowych grafik, a ich pomniejszone wersje?? Tak aby skrócić czas ładowania niektórych tematów?
Np. imageshack (i zapewne inne serwisy tego typu) oferuje kod z linkiem do miniaturki, a po kliknięciu, bach!, pokazuje się pełen wymiar w osobnym oknie. O to chodzi?? Czyli Twoja propozycja wprowadziłaby dodatkową opcję formatowania postów, dotyczącą konkretnie obrazków.

Nie do końca rozumiem język uczonych, a nie lubię oddawać głosu dla samego podbicia frekwencji :]

chodzi o to, że wstawiasz obrazek w pełnym wymiarze ale zastosowana biblioteka prezentuje miniaturkę na forum
i dopiero gdy chcesz zobaczyć cały obraz to klikasz na nim żeby go zobaczyć - tak więc jestem jednak na TAK
 

DeletedUser4

Guest
Laina: zawsze masz do wykorzystania zwykły znacznik obrazka, a nie miniaturkowy, więc możesz wrzucić zwykły..

Co do samego pomysłu: pominę już wciskanie na siłę mądrych słów do zwykłego tekstu ("cykle serwera" - a co to ma niby byc?, przykladow wiele). Sam pomysł zmienia jedynie wyświetlanie stron, które aż takim problemem nie jest - występuje sporadycznie. Po za tym jest ImageShack ze swoimi miniaturkami..
Podany pomysł nie rozwiązuje problemu tego, że obrazek w pełnej wersji i tak ściągamy cały, a dopiero potem zmienianmy jego wymiary.

W tej formie nie widzę wprowadzenia tego modułu na forum.
 
Faktycznie, podstawowym mankamentem tej wersji rozszerzenia jest zrzucanie obliczeń na komputer klienta. W tym miejscu są więc bardzo zawężone możliwości realizacji technicznej, gdyż możliwych podejść było cztery:
  • Generacja miniatury na serverze <- zasobożerne dla servera
  • Przycięcie i redukcja do miniatury u klienta - przy dużych obrazkach zysk na łączu klienckim z tego żaden,
  • generacja miniatur na zewnętrznym serverze,
  • kompilacja miniatury w locie.

Trzecie podejście wymagałoby znalezienia odpowiedniego servera (musi być szybki, z obsługą curl i GD). Z punktu widzenia korzystności najlepiej wypada tu czwarta opcja. I tu kolejny problem - formaty plików graficznych są różne, różne są wielkości, głębie kolorów i rozmiary obrazków. Tu musiałby znaleźć zastosowanie potężny algorytm, który wyliczyłby średnie punkty kontrastu kolorów (w formie przesunięcia od początku pliku). Mając te informacje, można by było ściągnąć wybrane bajty grafiki i skompilować na ich podstawie mniejszą, odchudzoną edycję. Tylko ten drogocenny czas....

Tak na marginesie, co do specyficznego słownictwa: Są takie myśli, takie zdania, które wymagają technicznego uzasadnienia. Tak samo właśnie są pewne wypowiedzenia, które ze względu na samą specyfikację muszą posiadać dwa czy trzy specyficzne wyrazy, bo inaczej brzmią po prostu sztucznie i mało precyzyjnie. Ważne jest to, że wszystko napisane jest po polsku, bez błędów ortograficznych.
 

DeletedUser4

Guest
Serwera do przetwarzania obrazków, za darmo Ci nikt nie da, a jak da to chętnie wezmę namiary na taką osobę, nie obraziłbym się o maszynę za darmo.
Potężny algorytm? A myślisz, że jak się skaluje obrazki? Właśnie takowym "potężnym" algorytmem, tylko że nie wybiera on odpowiednich pikseli, a interpoluje kilka(nascie czasem) sasiednich pikseli i na tej podstawie tworzy nowy piksel.. A nie wybiera losowo piksele. Po za tym w jaki sposob bys chcial np. z serwera imageshack pobierac wybrane bity? Jakis protokol musialbys napisac, ktory jeszcze musial by stanac na serwerach imageshack'a (jako przyklad wybralem ich).
Po za tym: "kompilacja obrazków"? Ciekawe co to.. Chodzi mi właśnie o takie używania "profesjonalnych" słówek, których znaczenia jak widać nie rozumiesz.. Poczytaj co znaczy kompilacja http://pl.wikipedia.org/wiki/Kompilacja_(informatyka) zanim zaczniesz lać wodę.. Napisane po polsku to może jest, ortograficznie też ok, ale sporo słów jest "za mądrych", nie wiesz co znaczą i rzucasz je jak służby interwencyjne zimą sól na chodniki..
 
Najwyraźniej się przejęzyczyłem, chodziło mi o "generację". Znaczenie terminu "kompilacja", jako student szkoły średniej o profilu informatycznym, doskonale znam. Co do wspomnianego sztucznego brzmienia: wyrażenie "Informatyk kompiluje program" jest chyba bardziej precyzyjne od "Informatyk robi program" - między innymi dlatego, że zawiera więcej szczegółów. Nic nie poradzę na to, że z około miliona słów istniejących w naszym języku, posługujemy się na co dzień ledwo jedną setną.

Żeby nie było, że post nie na temat (bo nie przystoi mi pisać nie na temat):
Faktycznie, nie za bardzo da się wyciągać pojedyńcze bajty z transmisji przez TCP/IP w fazie przesyłu. Protokół HTTP też nie pozwala na dwukierunkową kontrolę danych, jak już transmisja ruszyła.

Jak na razie, jedyną sensowną opcją jest korzystanie z miniatur zapisywanych w tagach plików (jeśli system operacyjny takowe umieszcza) lub korzystanie z zewnętrznych serwisów zamiast własnych serverów.
 

DeletedUser10899

Guest
Odp: (Forum) Miniatury dla dużych grafik

Propozycja odrzucona, ponieważ mało przydatna w tym momencie. Poza tym Grafika usunięta więc nie ma mozliwości sprawdzenia o co chodziło autorowi.

Temat Zamykam.
 
Status
Zamknięty.
Do góry