2018/11/26

O impacto da latência na "lentidão" dos computadores


Hoje em dia temos computadores, smartphones e tablets, com incrível potência - mas infelizmente continuamos a ter experiência de utilização que deixam bastante a desejar, e a culpa pode ser o resultado de um somatório das latências nos diversos passos do processo do sistema reagir às nossas interacções.

Quem tiver por hábito "reclamar" da lentidão dos computadores, não compreendo porque motivo, com o hardware existente, podemos ter que esperar décimos de segundo para que algo aconteça em resposta aos nossos toques ao cliques, vai sentir-se familiarizado com este tópico.

Ter dispositivos que são lentos a reagir a toques ou cliques é chato, mas uma utilização onde esta lentidão se torna mais notória é quando se utiliza um stylus para desenhar num tablet. Com a nossa referência de escrever numa folha de papel a ter resposta imediata, ficamos muito menos receptivos a lidar com qualquer abrandamento na sua equivalente digital - e há testes que demonstram que alguns utilizadores são capazes de detectar atrasos de apenas 2ms.


O efeito de qualquer atraso ao escrever com um stylus salta literalmente à vista, e pode ser considerado como um verdadeiro "benchmark" que põe à prova a capacidade de um dispositivo reagir a algo feito pelo utilizador. Mas claro que isto não se limita apenas a escrever num ecrã, também o tempo de reacção a algo como clicar num "botão" pode ter diferenças significativas:


Tudo isto foi analisado em detalhe neste magnífico artigo da Ink & Switch sobre a lentidão e latência dos sistemas, e que aponta o dedo aos culpados das lentidões que temos que gramar actualmente, mesmo quando se está a utilizar hardware que tem a capacidade para processar milhões de instruções por segundo.


Tudo começa logo pelo atraso do próprio sistema de introdução de dados, quer seja um teclado, ou touchscreen, ou rato ou stylus, e que pode representar logo umas dezenas de ms. A isto soma-se o tempo de processamento feito pelo firmware desse componente, o tempo de processamento do sistema operativo; entrando-se depois no encadeamento do processamento feito pelas apps (quase sempre construídas em cima de frameworks que representam latência acrescida);  até que finalmente se passa para o processo de fazer representar a consequência dessa acção no ecrã, onde entram factores como a composição da imagem pelo GPU, envio para o ecrã, e o próprio tempo que o ecrã demorará a exibir as alterações feitas.


Há coisas para as quais pouco se pode fazer, outras há onde o a relação custo-benefício também nas as torna favoráveis, mas mesmo tendo-se isso em consideração, deveria ser dado um pouco mais de atenção a esta questão da velocidade de resposta das apps. Por exemplo, admite-se que uma app como o Slack demore quase 1/4 de segundo para actualizar o ecrã em resposta a um toque, quando a informação que apresenta está na sua cache?



Em dispositivos como o iPad Pro, a Apple já tem revelado alguma atenção a isto, não só utilizando um ecrã de 120Hz como fazendo a leitura da posição do stylus a 240Hz; mas mesmo que não se investisse nisto a este ponto, seguramente haveria muito que os próprios developers e empressas poderiam fazer, para não se limitarem a usar as desculpas do costume: se é lento, o hardware mais rápido do próximo ano resolve. Como fica demonstrado... não resolve, só vai fazendo com que esse problema seja cada vez mais notório.

1 comentário:

  1. Um artigo q li há tempos e achei interessante sobre isto:
    http://tonsky.me/blog/disenchantment/

    ResponderEliminar