Por que, no Windows, a velocidade de rolagem aumenta ao mover o cursor horizontalmente?

4

Descobri que, se estou selecionando texto, células no Excel, etc., clicando em & arrastando e movendo o cursor para a parte inferior da tela, ele rola automaticamente e tem uma velocidade constante. Se eu mover o cursor ligeiramente acima da borda da tela, ele rola mais devagar. Se eu balançar o cursor da esquerda para a direita e vice-versa muito rapidamente, a velocidade de rolagem é visivelmente mais rápida do que deixá-lo parado na parte inferior da tela. No entanto, ele diminui novamente se eu deixá-lo parado novamente depois de uma sessão rápida.

Puramente por curiosidade, gostaria de uma explicação sobre o que causa esse comportamento - idealmente no nível de implementação técnica.

Meu melhor palpite é que a magnitude da velocidade de rolagem é a distância do primeiro clique até a posição atual do cursor, e a hipotenusa do triângulo que é criado deslocando o cursor horizontalmente é de magnitude maior Rapidez). No entanto, em circunstâncias normais, a velocidade não é diferente se meu primeiro clique foi em direção ao topo de um grupo de texto ou células, ou na parte inferior - e minha hipótese não leva em conta a desaceleração pós-jiggle.

    
por Richard Pianka 20.11.2013 / 22:58

1 resposta

2

Como um palpite (como esse comportamento é específico do aplicativo), quando o ponteiro está parado, um cronômetro é usado para disparar eventos de rolagem, enquanto que cada movimento de ponteiro dispara um evento de rolagem quando o ponteiro está na área de ocorrência adequada. Como a taxa de relatório do movimento do ponteiro é muito maior do que a taxa de eventos do timer, os eventos de rolagem são gerados com mais frequência a partir do movimento do que da espera.

    
por 20.11.2013 / 23:05