Привет!

Сейчас существуют способы узнать время отрисовки страницы на стороне пользователя (performance.timing.msFirstPaint,  chrome.loadTimes().firstPaintTime). С этими числами пока много вопросов, но их уже можно использовать.

Подобных методов в апи фф я не нашел. Будет ли реализован performance.timing.firstPaint или какой-то другой способ? Если да, то когда?

Если кто-то может рассказать про текущую ситуацию с msFirstPaint, firstPaintTime и вообще метриками отрисовки страницы, с удовольствием готов пообщаться.

Есть вот такая штука: MozAfterPaint.

А появится, видимо, не раньше, чем соответствующий стандарт:
https://developer.mozilla.org/en-US/doc … ion_timing

28-06-2013 22:31:53
И можно попробовать Firebug Paint Events или аналогичный инструмент во встроенном инспекторе:
fx_Inspector_paint_events.png

MozAfterPaint и Firebug Paint Events использовать на живых пользователях не получится :(

NavigationTimingApi уже давно реализовано и успешно работает.
firstPaint в него не входит, а упоминается в расширении http://www.w3.org/2012/11/webperf-list.html

Мне интересна судьба подобных тикетов http://lists.w3.org/Archives/Public/pub … 12Jan/0012 - будет ли что-то реализовано в фф в ближайшее время?

Тема перенесена из форума «Firefox» в форум «Разработка».

newbfg пишет

MozAfterPaint и Firebug Paint Events использовать на живых пользователях не получится :(

А в чем проблема с MozAfterPaint?

Выделить код

Код:

var start = performance.now();
window.addEventListener("MozAfterPaint", report, false);
window.addEventListener("DOMContentLoaded", report, false);
window.addEventListener("load", report, false);
function report(e) {
    window.removeEventListener(e.type, report, false);
    var now = performance.now();
    console.log(e.type + ": +" + (now - start));
    start = now;
}

Далее можно заменить console.log() на что-нибудь вроде

Выделить код

Код:

new Image().src = "feedback.php?type=" + e.type + "&dt=" + (now - start);

29-06-2013 16:52:58
Ой, dom.send_after_paint_to_content по умолчанию false. :(

Чем запоминание даты вначале документа и в конце и разница между ними не то?

KooL пишет

Чем запоминание даты вначале документа и в конце и разница между ними не то?

Тем, что оно никак не соотносится с фактической отрисовкой страницы (то, что видит пользователь на экране)

Всё равно не пойму, нужно узнать сферическое время отрисовки в вакууме без учёта обработки скриптов?

Нужно узнать время от момента, когда пользователь нажал на кнопку Enter в строке браузера до момента, когда он что-то увидел на экране.

Ясно, сайт должен быть любой произвольный с которого переходит пользователь?

Да, точнее тот, на который он заходит.

В любом случае такое не должно быть возможно без установки скрипта\расширения самим пользователем или без слежки за обоими сайтами.

Так начало загрузки как раз известно:

navigationStart attribute

This attribute must return the time immediately after the user agent finishes prompting to unload the previous document. If there is no previous document, this attribute must return the time the current document is created.

okkamas_knife пишет
newbfg пишет

Нужно узнать время от момента, когда пользователь нажал на кнопку Enter в строке браузера до момента, когда он что-то увидел на экране.

а ничего что это время в большей степени зависит от канала и времени отклика сервака нежели от скорости рендеринга страницы?
какая разница выйдет человек из вагона за 30 или 50 секунд если время поезда в пути 8 часов?

Это совсем не так.
Для понимания картины в целом нужно знать
- время ответа от сервера (его можно посчитать у себя)
- время сетевых взаимодействий (все это есть в navigationTimingApi)
- время, когда браузер показал что-либо пользователю (в этом заключается мой вопрос в начале топика)

Крайних условий может быть сколько угодно (медленный сервер, медленный канал, медленная страница), нужна лишь принципиальная возможность собирать данные.

01-07-2013 14:31:18

KooL пишет

В любом случае такое не должно быть возможно без установки скрипта\расширения самим пользователем или без слежки за обоими сайтами.

Мне интересно, что происходит на моем сайте. Данные собираются автоматически и анонимно, никаких противоречий тут нет.

01-07-2013 14:33:11

Infocatcher пишет

Так начало загрузки как раз известно:

navigationStart attribute

This attribute must return the time immediately after the user agent finishes prompting to unload the previous document. If there is no previous document, this attribute must return the time the current document is created.

Неизвестно время, когда рендерер браузера вывел что-то на экран. Об этом мой вопрос в начале.

Так вы только что писали, что сайт произвольный, а теперь всё ваше.

Переход с любого произвольного на мой. Это аналогично просто заходу на мой сайт.

Возможно, я неправильно понял фразу

Ясно, сайт должен быть любой произвольный с которого переходит пользователь?

Невозможно такое.