Онлайн-секундомер
Запускайте, останавливайте секундомер и записывайте круги с точностью до сотой доли секунды. Space запускает или останавливает отсчет, L отмечает круг, R сбрасывает время. Отсчет продолжается, когда вы переключаетесь на другую вкладку, а текущее время отображается в заголовке вкладки, так что его видно из любого окна.
Круги
Нажмите «Круг» (или L), пока секундомер идёт, чтобы записать промежуточное время.
Горячие клавиши
| Клавиша | Действие |
|---|---|
| Пробел | Запустить или остановить секундомер |
| L | Записать круг во время отсчёта |
| R | Сбросить время и удалить все круги |
Горячие клавиши работают на всей странице, кроме моментов, когда вы печатаете в текстовом поле. Пробел на кнопке в фокусе нажимает эту кнопку.
Почему секундомер не сбивается в фоновой вкладке
Наивный веб-секундомер прибавляет по 10 миллисекунд при каждом срабатывании таймера. Такой подход сильно уходит от реального времени: браузеры замедляют таймеры в скрытых вкладках примерно до одного раза в секунду, а Chrome может растянуть цепочки таймеров до одного раза в минуту, если вкладка была скрыта больше пяти минут. Каждый пропущенный такт — это время, которое секундомер незаметно теряет.
Этот секундомер не считает такты. Когда вы нажимаете «Старт», он запоминает метку времени, а при каждом обновлении экрана вычитает её из текущей. Если вкладка проспит десять минут, уже первый кадр после возвращения покажет правильный итог. Круги работают так же: каждый круг сохраняет общее время на момент нажатия L, а время круга — это разница с предыдущим кругом.
Метки времени берутся из performance.now(), а не из Date.now(). Date.now() читает системные часы, которые могут скакнуть вперёд или назад при синхронизации компьютера с сервером времени или при переходе на летнее время. performance.now() — монотонные часы, которые идут только вперёд с момента загрузки страницы, поэтому коррекция NTP посреди замера не добавит и не отнимет у результата ни секунды. Браузеры намеренно огрубляют их разрешение (до значения от 5 микросекунд до 1 миллисекунды), чтобы защититься от атак по времени, но это всё равно намного точнее сотых долей, которые показаны здесь.
Почему время показывается только до сотых долей секунды
В спортивном хронометраже остановились на сотых долях не случайно. На Олимпиаде 1972 года в Мюнхене Гуннар Ларссон выиграл комплексное плавание на 400 м у Тима Маки с разницей в две тысячных секунды; после этого руководящий орган плавания постановил определять результаты с точностью до 1/100 с, потому что дорожки бассейна невозможно построить идентично с точностью до нескольких миллиметров. В олимпийской лёгкой атлетике результаты спринта тоже публикуют в сотых долях, хотя камеры фотофиниша снимают тысячи кадров в секунду.
Для секундомера с ручным управлением сотые доли — это уже больше точности, чем может дать ваш палец. Время зрительной реакции в среднем составляет около четверти секунды, а реагировать приходится и на старте, и на финише, так что результат с ручным замером честен примерно до десятой доли. Используйте сотые, чтобы сравнивать собственные круги между собой, где задержки реакции в основном взаимно компенсируются, а не для того, чтобы определять победителя в гонке.
Как использовать таблицу кругов на практике
Интервальный бег, репетиция выступления по слайдам, хронометраж каждого вопроса в пробном экзамене или проверка, сколько длится каждый шаг рецепта: нажимайте L на каждой контрольной точке, и в таблице появятся время круга и общее время. Начиная с двух кругов самый быстрый отмечается зелёным, а самый медленный красным, так что неравномерный темп видно с первого взгляда. Если нужно спланировать одно и то же занятие в разных странах, с часами поможет конвертер часовых поясов.
Пока секундомер работает, страница просит у браузера блокировку выключения экрана, чтобы телефон или ноутбук не затемнялся и не блокировался посреди длинной тренировки. Блокировка снимается сразу после остановки. Браузеры без Wake Lock API просто сохраняют обычные настройки питания; на сам замер времени это не влияет.
Часто задаваемые вопросы
- Продолжает ли онлайн-секундомер работать, если переключить вкладку или заблокировать экран телефона?
- Да. Секундомер хранит момент нажатия «Старт» и вычисляет по нему прошедшее время, поэтому замедленные таймеры в фоновой вкладке не приводят к потере времени. На некоторых телефонах браузер полностью приостанавливается при выключенном экране; правильный итог появится, как только вы вернётесь во вкладку.
- Какие горячие клавиши есть у секундомера?
- Пробел запускает и останавливает секундомер, L записывает круг во время работы, а R сбрасывает время и очищает круги. Горячие клавиши не срабатывают, пока вы вводите текст в поле.
- Насколько точен секундомер в браузере по сравнению со спортивным таймером?
- Сами часы точны значительно лучше миллисекунды, потому что читают монотонный высокоточный таймер браузера. Ограничивает точность человеческая реакция на старте и финише, обычно около 0,2–0,3 секунды, и это одинаково относится к ручному спортивному секундомеру.
- Сохраняются ли где-нибудь мои результаты кругов?
- Нет. Круги существуют только в открытой вкладке и исчезают при сбросе или закрытии. Ничего не загружается на сервер, а страница не сохраняет ваши результаты.
- Зачем время отображается в заголовке вкладки браузера?
- Чтобы вы могли следить за секундомером, работая в другой вкладке. Заголовок обновляется дважды в секунду, показывая минуты и секунды, а после сброса возвращается к обычному.