Multi-cronómetro
Vários cronómetros regressivos ao mesmo tempo, cada um com o seu próprio iniciar, pausar e repor
O que é um multi-cronómetro?
Um multi-cronómetro permite executar vários cronómetros regressivos lado a lado no mesmo ecrã, cada um com a sua própria duração e os seus próprios controlos. Adicione um para o assado, outro para o arroz, outro para a sobremesa - inicie-os todos juntos ou um de cada vez, pause qualquer um e ouça um alerta distinto no momento em que cada um termina. É a diferença entre lidar com um único cronómetro de cozinha e vigiar um fogão inteiro de uma só vez. Sem instalar aplicações, sem criar conta. Tudo corre no separador do navegador e os seus cronómetros nunca saem do dispositivo.
Como utilizar
Como utilizar
- Clique em 'Adicionar cronómetro' e introduza minutos e segundos
- Cada cronómetro é independente - pode iniciar, pausar e repor um a um
- Toca um alerta sonoro quando qualquer cronómetro chega a zero
- Use o botão × para remover um cronómetro de que já não precisa
Notas sobre a precisão
- Os cronómetros do navegador podem pausar ou perder precisão quando o separador está em segundo plano, o dispositivo entra em suspensão ou o modo de poupança de energia está ativo.
- Se os alarmes forem importantes, mantenha este separador visível - alguns navegadores silenciam o áudio em separadores em segundo plano para poupar energia.
Casos de utilização
Como funciona
Cada cronómetro é guardado como um objeto de estado independente que contém a duração total, o tempo restante e o indicador de execução. Ao iniciar um cronómetro, a página regista esse instante com Date.now() e a duração restante no arranque; o tempo restante é depois recalculado em cada ciclo como restante = restanteNoArranque − (Date.now() − início). Esta abordagem autocompensadora mantém o tempo apresentado exato mesmo que o navegador limite temporariamente o ritmo ou a thread do JavaScript esteja ocupada, porque o cálculo lê sempre o relógio real do sistema em vez de contar ciclos. Um único ciclo partilhado faz avançar todos os cronómetros ativos, por isso adicionar mais cronómetros não multiplica o trabalho de CPU - uma passagem por atualização recalcula-os todos. Quando o separador passa para segundo plano, os navegadores limitam agressivamente os temporizadores e podem congelá-los com a bateria; assim que o separador volta a estar visível, cada cronómetro compensa face ao relógio do sistema e salta diretamente para o tempo restante correto. Para o alerta de término, a página utiliza a Web Audio API para reproduzir um tom curto. Os navegadores exigem um gesto prévio do utilizador (como clicar em Iniciar) antes de permitirem áudio - uma política de autoplay que impede sons indesejados. Se o separador estiver oculto ou o sistema em suspensão quando um cronómetro termina, o alarme não dispara, mas o visor estará correto assim que regressar. Tudo corre localmente; nenhum dado de cronómetro é enviado para lado nenhum.
- Cada cronómetro é um objeto de estado independente com o seu próprio instante de início e duração restante.
- Utiliza Date.now() para precisão de relógio de parede - recalcula o tempo restante em cada ciclo em vez de contar ciclos de setInterval.
- Um ciclo partilhado faz avançar todos os cronómetros ativos, por isso adicionar cronómetros não multiplica o trabalho de CPU.
- Separadores em segundo plano são limitados pelo navegador; os cronómetros compensam com o relógio do sistema ao regressar.
- A Web Audio API reproduz cada alarme e exige um gesto do utilizador (como clicar em Iniciar) antes de permitir o áudio.
- Todo o processamento corre localmente no navegador. Nenhum dado é enviado para lado nenhum.
Exemplos
Almoço de domingo - três pratos ao mesmo tempo
Cronómetro 1: 01:30:00 (assado) -> alarme
Cronómetro 2: 00:25:00 (arroz) -> alarme
Cronómetro 3: 00:12:00 (molho) -> alarme
Inicie o assado agora; o arroz e o molho mais tarde para os três terminarem juntos.Circuito HIIT (30 s esforço / 15 s descanso x 4)
Cronómetro A: 00:30 (esforço) -> alarme
Cronómetro B: 00:15 (descanso) -> alarme
Cronómetro C: 00:30 (esforço) -> alarme
Cronómetro D: 00:15 (descanso) -> alarme
Mantenha o separador visível para cada alarme tocar a horas.Fases de exame - leitura, escrita, revisão
Cronómetro 1: 00:15:00 (leitura)
Cronómetro 2: 01:30:00 (escrita)
Cronómetro 3: 00:10:00 (revisão)
Inicie cada um quando a fase anterior terminar; os três aparecem num só ecrã.Perguntas frequentes
Quantos cronómetros posso executar ao mesmo tempo?
Não há limite fixo - adicione quantos couberem confortavelmente no ecrã. Cada cronómetro é seguido de forma independente, por isso ter mais a correr não abranda os que já estão ativos.
Os cronómetros mantêm-se precisos quando mudo de separador?
Sim. Cada cronómetro utiliza o relógio do sistema, não um contador de ciclos, por isso mantém o tempo restante correto mesmo com o separador em segundo plano. O visor atualiza-se no instante em que regressa.
Se vários cronómetros terminarem ao mesmo tempo, oiço todos os alarmes?
Cada cronómetro toca o seu próprio alerta ao chegar a zero. Se tiver muitos a correr, mantenha o separador visível e o som ativo para não perder nenhum - separadores em segundo plano podem ter o áudio restringido pelo navegador.
Posso pausar um cronómetro sem parar os outros?
Sim. Cada cronómetro tem os seus próprios controlos de iniciar, pausar e repor. Pausar um deixa os restantes a correr exatamente como estavam.
O que acontece se o computador entrar em suspensão?
Os cronómetros medem o tempo decorrido com o relógio do sistema, por isso mantêm-se precisos durante a suspensão e atualizam-se ao acordar o computador. O alarme não toca enquanto o sistema está suspenso, mas o visor estará correto quando regressar.
Qual é a diferença face a um único cronómetro regressivo?
Um cronómetro regressivo simples segue apenas um prazo de cada vez. O multi-cronómetro segue vários em simultâneo - ideal quando está a cozinhar vários pratos, a fazer séries de intervalos ou a cronometrar várias fases de um exame ou evento ao mesmo tempo.
É enviado algum dado para um servidor?
Não. Todos os cronómetros correm integralmente no navegador. Nada do que configurar é enviado para lado nenhum.