Estamos em 2021, mas verdade seja dita, as barras de loading, ou barras de ‘progressĂŁo’, continuam a ser tĂŁo mĂĄs como na altura em que foram introduzidas na nossa vida. O que levanta uma questĂŁo… Porque razĂŁo Ă© tĂŁo complicado, para um computador, determinar quanto tempo irĂĄ demorar certa tarefa?
Vamos tentar perceber!
As barras de Loading nunca acertam no tempo. PorquĂȘ?
Portanto, as barras de loading existem na nossa vida de vĂĄrias maneiras, nĂłs Ă© que nem sempre percebemos que elas estĂŁo lĂĄ.
Por exemplo, quando quer passar a passadeira e o semĂĄforo verde tem um “temporizador” a revelar quantos segundos tem para fazer o percurso, isto tambĂ©m Ă© uma espĂ©cie de interface de progressĂŁo. AliĂĄs, atĂ© o ecrĂŁ de um elevador, que tem a grande missĂŁo de demonstrar em que piso estĂĄ, tambĂ©m serve para ter uma ideia da progressĂŁo da tarefa desta mĂĄquina.
Em suma, a ideia deste tipo de sistema, Ă© vocĂȘ (o utilizador), ter uma ideia de quanto irĂĄ demorar fazer uma certa tarefa, demonstrando que algo estĂĄ mesmo a acontecer. Ou seja, exatamente o que a barra de progressĂŁo tenta fazer no mundo computacional.
Afinal de contas, sem algum tipo de barra de progressĂŁo, no mundo dos computadores, nunca saberia se a tarefa estĂĄ a progredir, se estĂĄ encravada, ou pasme-se, se por acaso se esqueceu de carregar no botĂŁo ‘Iniciar’.
Como funciona uma barra de progressĂŁo? (Loading bar)
Muito resumidamente, uma barra de progressĂŁo pega na tarefa em mĂŁos, divide-a em subtarefas, dĂĄ uma estimativa de tempo a cada uma delas, e depois apresenta a barra, uma percentagem, e por vezes, uma estimativa em minutos, de quanto tempo o processo vai demorar.
Por exemplo, temos um exemplo muito simples de uma barra de progressĂŁo que nunca falha. VĂĄ ao YouTube, carregue em qualquer vĂdeo, e vai ver a barra de progressĂŁo lentamente a crescer, Ă medida que vĂȘ mais e mais conteĂșdo do vĂdeo. (Se o vĂdeo tiver 100 segundos (1m40), e jĂĄ tiver visto 10 segundos, entĂŁo viu 10% do vĂdeo, e a barra estĂĄ a ocupar 10% do espaço total.)
No entanto, no caso desta barra, a missĂŁo Ă© muito simples! O leitor do YouTube tem a simples tarefa de apresentar o vĂdeo a um framerate estĂĄvel, nada mais, anda menos que isto. Instalar um programa jĂĄ nĂŁo Ă© assim tĂŁo simples!
Como funciona a instalação de um programa, e como é que a barra estima o tempo de loading?
Pois bem, um instalador vai ter quase sempre de fazer download de ficheiros extra, vai ter de descomprimir vårios tipos de ficheiros, vai analisar, ler, instalar, e posteriormente apagar alguns destes ficheiros, e por fim, vai fazer algumas mudanças no sistema.
A equipa de desenvolvimento sabe mais ou menos quanto tempo Ă© que cada tarefa irĂĄ demorar, e como tal, o tempo jĂĄ vem mais ou menos prĂ©-determinado. No entanto, cada sistema Ă© um sistema. Por isso, a parte de download de ficheiros vai ser impactada pela velocidade da sua internet. A descompressĂŁo de ficheiros vai ser impactada pelo poder de processamento da sua mĂĄquina. A leitura, instalação e remoção de ficheiros vai ser impactada pela velocidade do seu armazenamento, especialmente se for um disco rĂgido tradicional, e por fim, a parte da mudanças no sistema, irĂĄ depender do sistema operativo.
Em suma, Ă© virtualmente impossĂvel contar com uma barra de progressĂŁo 100% fiĂĄvel, porque todas as subtarefas da instalação de um programa tĂȘm de lidar com problemas diferentes.
AliĂĄs, atĂ© quando tenta copiar um ficheiro de um lado para o outro, a barra Ă© simplesmente incapaz de mostrar uma progressĂŁo estĂĄvel. Sabe porquĂȘ?
Pois bem, poderĂamos pensar que o tempo de progressĂŁo seria condicionado pelo nĂșmero de ficheiros a serem transferidos. No entanto, cada ficheiro pode (e provavelmente tem) um tamanho diferente.
EntĂŁo, talvez seja boa ideia ter em conta o tamanho da totalidade dos ficheiros movidos. Bem… Isso tambĂ©m nĂŁo resulta, porque copiar ou mover ficheiros pequenos, Ă© muito mais rĂĄpido que mover ficheiros grandes.
Existem mais condicionantes!
Imagine que quer fazer a renderização de um vĂdeo, e quando termina a sua edição, lĂĄ aparece a barra de progressĂŁo, a dizer quanto, mais ou menos, falta atĂ© tudo estar pronto.
Parece que vai tudo correr de forma linear, certo? Errado! Como Ă© um workload exigente, o sistema pode sobreaquecer, e como tal, as frequĂȘncias dos componentes chave irĂŁo ter de baixar, o que por sua vez vai ter um impacto na performance da mĂĄquina, e consequentemente nesta mesma estimativa.
ConclusĂŁo
NĂŁo existe uma solução 100% fiĂĄvel, e Ă© exatamente por isso que as barras de progressĂŁo por vezes parecem super rĂĄpidas, e do nada, ’empancam’. AliĂĄs, alguma vez usou a tĂ©cnica da unha? Ou seja, meter a unha em cima do fim da barra, para perceber se ela mexeu algum centĂmetro? Eu jĂĄ!
Receba as notĂcias Leak no seu e-mail. Carregue aqui para se registar. Ă grĂĄtis!