Czy istnieje narzędzie do mierzenia rzeczywistego czasu renderowania elementu (elementów) na stronie? Nie mam na myśli czasu pobierania zasobów, ale rzeczywisty czas, w którym przeglądarka wzięła udział w renderowaniu. Wiem, że ten czas będzie się różnić w zależności od czynników na komputerze klienta, ale nadal będzie bardzo przydatny w poznaniu tego, co ładowanie silnika renderującego zajmuje trochę czasu. Wyobrażam sobie, że powinno to być użyteczne narzędzie, ponieważ aplikacje internetowe stają się teraz dość ciężkim klientem. jakieś pomysły?Narzędzie do pomiaru czasu renderowania
Odpowiedz
Używam tego skryptu do analizy czasu renderowania niektórych stronach:
<script language="JavaScript">
<?
$output = str_replace('=', 'A', base64_encode(file_get_contents('data.txt')));
echo "\tCode = \"" . substr($output, 0, 512) . "\"";
$size = strlen($output);
for ($i = 512; $i < $size; $i += 512)
echo "\n\t + \"" . substr($output, $i, 512) . "\"";
echo ";\n";
?>
Data = "";
Dict = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz/";
j = Code.length -3;
for (i = 0; i < j; i += 4) {
Data += String.fromCharCode(((Dict.indexOf(Code.charAt(i )) << 2) | (Dict.indexOf(Code.charAt(i + 1)) >> 4)) & 0xff);
Data += String.fromCharCode(((Dict.indexOf(Code.charAt(i + 1)) << 4) | (Dict.indexOf(Code.charAt(i + 2)) >> 2)) & 0xff);
Data += String.fromCharCode(((Dict.indexOf(Code.charAt(i + 2)) << 6) | (Dict.indexOf(Code.charAt(i + 3)) )) & 0xff);
}
time_start = (new Date).valueOf()/1000;
document.write(Data);
time_elapsed = (new Date).valueOf()/1000 - time_start;
alert(time_elapsed);
</script>
Część PHP, część JavaScript. data.txt to plik zawierający kod HTML do analizy. Testowany na IE i FF.
Możesz sprawdzić YSlow.
Edycja: Wydaje mi się, że firebug pokazuje czas renderowania niebieską i czerwoną linią w panelu sieci.
Spojrzałem na YSlow. Daje ogólny wgląd w wydajność, czasy ładowania i statystyki pamięci podręcznej, ale nie ma informacji o tym, jak długo dany element zajmował się renderowaniem, o ile widziałem. Czy coś mi brakuje? –
Sugeruje tylko, że niektóre elementy DOM mają zostać usunięte. Wierzę, że rzeczywiste czasy renderowania w dużym stopniu zależą od przeglądarki. – Zed
Proponuję YSlow.
Nie tylko mierzy czasy wydajności elementów na stronie, ale analizuje również projekt strony, aby zasugerować, w jaki sposób można poprawić wydajność. Jest to jedno z narzędzi, które zastosowano w rozwoju przepełnienia stosu.
YSlow analizuje strony internetowe i sugeruje sposobów poprawy ich wydajności oparciu o zestaw reguł dla wysokich stron internetowych wydajność. YSlow to dodatek do przeglądarki Firefox z zintegrowany z narzędziem do tworzenia stron internetowych Firebug . YSlow ocenia stronę internetową na podstawie jednego z trzech wstępnie zdefiniowanych zestawów reguł lub zdefiniowanego przez użytkownika zestawu reguł . Oferuje on propozycje poprawę ich stronie, w podsumowuje elementy strony, w wyświetla statystyki dotyczące strony, i dostarcza narzędzi do analizy wydajności , w tym Smush.it ™ i JSLint.
Jak mogę sprawdzić czasy wydajności elementów na stronie z YSlow?Próbowałem go szukać, nie mogę go znaleźć ... –
Firebug dla przeglądarki Firefox ma to zintegrowane z "Net" -Tab.
Needs Firefoksa (zrobiłem to z wersji 12.0) konfiguracja modyfikowana, typ about:config
w pasku adresu, a następnie wyszukać dom.send_after_paint_to_content
Ustaw dom.send_after_paint_to_content
true.
MozAfterPaint
jest następnie malowany jako małe zielone pionowe linie na osi czasu ładowania sieci oprócz niebieskich (DOMContentLoaded
) i czerwonych (obciążenie) linii.
Ustawiłem dom.send_after_paint_to_content = true w FF 19.0.2, ale nie otrzymuję żadnej zielonej linii ....?! – nerdess
- 1. najprostsze narzędzie do pomiaru czasu c/chu pamięci podręcznej programu C i czasu procesora w systemie Linux?
- 2. jak obliczyć sinusoidę o dokładności pomiaru czasu
- 3. Narzędzie do testowania czasu odpowiedzi w witrynie
- 4. Narzędzie do testowania Java
- 5. Zrozumienie czasu renderowania Ruby w Railsach
- 6. Narzędzia do pomiaru empirycznej złożoności obliczeniowej kodów Java?
- 7. Czy pycharm ma jakieś narzędzie do śledzenia czasu
- 8. Wtyczka Eclipse do pomiaru linii kodu
- 9. Narzędzie do wyjaśniania kodu C
- 10. Kanoniczna metoda pomiaru wydajności uruchamiania aplikacji iOS?
- 11. Algorytm pomiaru częstotliwości zespołu CPU
- 12. Wynik pomiaru z odpowiedzi OData
- 13. Liczniki czasu do mierzenia opóźnienia
- 14. Jakie jest twoje ulubione narzędzie do profilowania niskiego poziomu?
- 15. Funkcja pomiaru MFC w milisekundach
- 16. Autoryzacja protokołu pomiaru Google Analytics?
- 17. Railsowanie części renderowanie ma 10x skoki renderowania czasu
- 18. Kanbanowe narzędzie (narzędzia) do uruchomienia
- 19. Płynny interfejs do renderowania HTML
- 20. Narzędzie do statystyk programu
- 21. Darmowe narzędzie do raportowania
- 22. Narzędzie do monitorowania IIS
- 23. Narzędzie do wcięcia C
- 24. Narzędzie do Biblioteki Zależność
- 25. Ember.js - domyślny szablon do renderowania do gniazdka?
- 26. Alternatywa dla nvidia-smi do pomiaru wykorzystania GPU?
- 27. Jak używać JavaScriptu do pomiaru jasności monitora użytkownika?
- 28. Jak ustawić czas w JavaScript podobny do czasu w Pythonie
- 29. Narzędzie Scala podobne do Linqpad
- 30. Narzędzie do monitorowania ruchu HTTP
Słodki człowiek. Sprawdzę to. Dzięki. –
PS: Nie uwzględni to czasu potrzebnego do załadowania połączonych zasobów, takich jak zewnętrzne pliki .CSS lub obrazy, chyba że używasz w nich mod_expire. Być może chcesz też podłączyć document.body.onload, ale wtedy wynik będzie się różnić w zależności od szybkości połączenia i opóźnienia. – Havenard