Zawartość 4programmers.net ładuje się (jest wyświetlana?) z przerwą

5

Problem

Dziś (UPDATE: tzn. grubo przed północą ;) ) zauważyłem, że po otwarciu adresu 4programmers.net w przeglądarce jest pewna przerwa między zakończeniem (?) ładowania strony a wyświetleniem jej zawartości. Trwa ona na oko od ok. 0,5 sekundy do 4 sekund.

W tym czasie Firefox nie sygnalizuje żadnych działań (np. uruchamiania funkcji czy wysyłania żądań). Wyświetla się po prostu biała strona. Oczywiście, mogłem coś przeoczyć w narzędziach deweloperskich, więc jeśli potrzeba konkretnych informacji, prosiłbym o wyszczegółowienie, czego szukać.

Co ciekawe, pojawia się pasek przewijania w stanie świadczącym o tym, jakby była jakaś treść do przewijania. Podczas przewijania nic się nie zmienia.

Z tego, co zdołałem zauważyć, ze wszystkich otwartych dziś przeze mnie stron dzieje się tak tylko w przypadku strony 4programmers.net, dlatego o tym piszę. Co może istotne, nie dzieje się tak już w przypadku poddomeny https://tsinfo.4programmers.net/ (strona @furious programming) – ta wyświetla się od razu, bez zauważalnych opóźnień (nie sprawdzałem w narzędziach).

Zachowanie oczekiwane

Zawartość strony pojawia się od razu po zakończeniu (?) ładowania.

Zachowanie aktualnie

Zawartość strony pojawia się z kilkusekundową przerwą po zakończeniu (?) ładowania.

Środowisko

  • Przeglądarka: Firefox 74.0 (64-bit) na Linuxa

PS: Przerwa pojawia się zarówno podczas odświeżania normalnego, jak i z przeładowaniem pamięci podręcznej.

2
Silv napisał(a):

Co może istotne, nie dzieje się tak już w przypadku poddomeny https://tsinfo.4programmers.net/ (strona @furious programming) – ta wyświetla się od razu, bez zauważalnych opóźnień (nie sprawdzałem w narzędziach).

Moja stronka wyświetla się od razu, bo jest zbudowana tylko z lekkich i nieskomplikowanych plików HTML i CSS, a wszystkie zasoby są na serwerze – żadnego dociągania fontów od Google, przycisków z facebooka itd. Brak skryptów i innych pierdów, dlatego pobieranie strony i jej renderowanie jest błyskawiczne, a sama strona działa na każdej przeglądarce (choć bardzo stare przeglądarki mają problem z niektórymi stylami i przy okazji z SSL).

Uczcie się, leszcze. ;)


A tak na poważnie – bootstrap ssie, bo interfejs przebudowuje wielokrotnie w ramach jednego ładowania strony. Zresztą silnik Firefoxa do najbardziej efektywnych nie należy, więc długi czas renderowania jakoś mnie nie dziwi.

1

Widzialem to samo zachowanie. Raczej na PC niz mobile.

1

Też mam takiego laga dzisiaj, ale nie debugowałem. Inne strony szybko się ładują, więc to nie wina neta.

9

To samo - windows chrome. U mnie wygląda tak jak na załączonym gifie
4p_lag.gif

1

A właśnie miałem pisać, a tu widzę już wątek o tym. Potwierdzam dziwną przerwę. Tabula rasa.

3

Na tabletach i komórkach lag jest bardzo zauważalny (> 1s). Stara wersja działała instant, pewnie koszt przejścia Vue, React, czy co tam teraz jest na tapecie ;)

0

Jeszcze godzinę temu przerwa trwała około 1..3s, teraz poniżej 1s (ale nadal zauważalna)

2

Chyba problem stoi po stronie serwera, 700ms na dostarczenie głównego html to znacząco za dużo. Z pozytywów: zaczynam rozumieć te wszystkie badania, które mówią, że powyżej 100ms sklepy internetowe tracą klientów - szybko odechciewa się patrzenia na biały ekran.

screenshot-20200415133832.png

4

Nie zauważyłem tego, ale @several - u Ciebie jest to mocno widoczne.

Dla zainteresowanych: Odpowiedzialnym za to był googlowski anti-flicker snippet.

0

@Adam Boduch: dzisiaj już jest w porządku u mnie, wielkie dzięki. Tylko trzy pytania:

  1. W jaki sposób on się objawiał poza białą stroną? W FF nie widziałem żadnej aktywności.
  2. Co ten "anti-flicker snippet" robi = po co on w ogóle został zainstalowany? Jeśli mógłbyś w 1-2 zdaniach.
  3. Co z nim zrobiłeś? Przekonfigurowałeś, wyłączyłeś czasowo, wyłączyłeś na stałe, odinstalowałeś?
1

@Silv: 10s googlania ;-)
Wygląda na to, że chowa wszystko na czas ładowania plików (styli, fontów, etc) by nie pokazywać strony bez styli, która po chwili się uaktualnia (po zaciągnięciu styli), czyli by nie było tego mignięcia (flicker).

2

Taki drobny skrypt który ma wyświetlać białe tło dopóki nie wykona się kod JS. Ma to zapobiegać migotaniu strony, np. gdy kod JS modyfikuje wygląd strony. Przykładowo, domyślnie strona ładuje się bez przyklejonego paska menu. Kod JS zmienia właściwości i pasek jest przyklejony (dodaje np. klase CSS). W ten ułamek sekundy zanim kod JS się wykona widoczne dla użytkownika może być to przełączenie. Musiałem wyłączyć ten skrypt.

0

Dzięki. :) A macie pomysły, jak zobaczyć, co się w tym czasie dzieje, w przeglądarce w narzędziach deweloperskich? Denerwuje mnie, że nic nie widziałem. Nie powinno być tak, że Firefox coś np. rysuje, renderuje, ładuje, wywołuje?

0

A u mnie cały czas było dobrze, żadnych lagów w ostatnich wielu dniach. Coś popsute te Firefoxy macie.

1
Adam Boduch napisał(a):

Taki drobny skrypt który ma wyświetlać białe tło dopóki nie wykona się kod JS.

Czyli JS wykonuje się tu 4 sekundy? Za każdym razem?

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