2011-07-30 18 views
19

Duplicar posible:
What is the shortest perceivable application response delay?¿Cuál es el retraso mínimo detectable por un humano?

he estado perfilando algo de código JavaScript interfaz de usuario, ya que se siente un poco perezoso. Hasta el momento, he encontrado algunos cuellos de botella y los he optimizado, pero me gustaría definir un requisito mensurable para esto.

¿Qué tan rápido debe ocurrir una respuesta para que un ser humano no note retraso? Por ejemplo, ¿cuál es la demora mínima detectable entre cuando se presiona una tecla del teclado y cuando aparece una letra en la pantalla? ¿En qué momento la optimización adicional no hará ninguna diferencia para un ser humano?

Muchos monitores tienen una frecuencia de actualización aproximadamente en el rango de 60-120Hz. ¿Eso significa que el número mágico es de alrededor de 8-16ms?

+0

esta es una pregunta muy interesante. Estoy seguro de que varía, pero debe haber una investigación muy buena en esta área. –

+0

para la retroalimentación 'instantánea' - recuerdo haber probado el tiempo de respuesta humano más rápido - alrededor de 10ms – Randy

+0

también recuerdo que el ojo puede procesar algo así como 25 fotogramas por segundo en video. – Randy

Respuesta

10

Teniendo en cuenta el evento "pulsar la tecla" y la letra que aparece en la pantalla como dos marcos separados, significa que, si el usuario pulsa una tecla mientras mira a la pantalla, él querrá verlo exactamente después. Esto "exactamente después" significa que debe tener un tiempo de respuesta de 60 Hz o más.

Por esta razón, un valor de 8-16 ms debe estar destinado, ya que dará como resultado el mismo efecto que se ve en las películas. En otras palabras, el usuario no tendrá percepción de retraso para tales valores.

Sin embargo, debe tener en cuenta que el teclado tiene un tiempo de sondeo propio, y que los retrasos adicionales no necesariamente relacionados con el script en sí pueden interferir en su tiempo. Por esas razones, apuntar a valores superiores a 60 Hz le dará un mayor margen de seguridad frente a esas otras posibles influencias que pueden agregar un retraso menor.

También es de notar el hecho de que en algunas aplicaciones, un retraso de 100 ms puede parecer imperceptible, pero de hecho es notable ya que corresponde a 10 Hz, y si reproduce una película con esa frecuencia de actualización, Lo más probable es que se den cuenta de las brechas entre cada uno de los marcos de la película. Por esta razón, este valor no debería considerarse realmente en un contexto lo suficientemente genérico.

La sensibilidad del ojo humano es diferente para las diferentes condiciones y partes de una imagen, por lo que debe tener cuidado y tener en cuenta una mayor frecuencia de actualización, según sea necesario.

This link tiene más información acerca de cómo las características de la pantalla y sus cambios son percibidos por el ojo humano, y puede darle una idea de las frecuencias de actualización que debe enfocarse en un contexto dado, basado en el impacto visual de su script .

+1

Pero un ser humano no puede percibir el límite entre una trama a 60 Hz y la siguiente. Particularmente si solo se está actualizando una pequeña porción de la pantalla. Además, incluso si el procesamiento se realiza a tiempo para que la actualización aparezca en el "siguiente" fotograma, no se puede garantizar que ese fotograma realmente se muestre inmediatamente después del que el usuario ve actualmente. Puede haber, por ejemplo, un almacenamiento intermedio realizado por el controlador de gráficos o internamente dentro de la pantalla (o ambas). En la mayoría de los casos, pretender completar el siguiente cuadro es excesivo (excepción: juegos). – aroth

+1

Aún así, es posible que la secuencia de comandos funcione con más de un solo carácter, y supongo que el enfoque más genérico sería mirarlo como una película, en la que de un cuadro a otro, toda la pantalla puede cambiar en múltiples formas. Por supuesto que en muchos casos no sería necesario ser tan drástico, pero esto fue un poco un enfoque matemático. Incluso en los juegos, una demora de 100 ms puede sentirse de manera diferente según el tipo de juego, debido a las implicaciones de la demora y cómo los percibimos para el juego en cuestión. –

9

Como regla general, considero que nada más rápido que 100 ms tiende a ser percibido como "instantánea". Vaya mucho más tiempo que eso y la demora definitivamente se vuelve notable. Por supuesto, esto variará un poco de persona a persona, y también dependiendo del contexto en el que se produce la demora.

Usted puede encontrar útil este ejemplo: http://jsfiddle.net/QGmBy/

+0

Buen ejemplo, pero estoy bastante seguro de que todavía puedo ver una demora para el de 80ms. ¿Alguien más puede? Aunque es una respuesta popular, por alguna razón, 100 ms parece demasiado largo para ser la demora detectable mínima. – pepsi

+3

@pepsi En el campo de la usabilidad, la regla general es que 0.1s se percibe como "instantáneo", 1s como "bastante rápido". "y 10s como" aburrirse y buscar algo más que hacer ". Pero estos son números de estadio, no exactos, y representan los retrasos que comienzan a interferir con la tarea en cuestión, no el mínimo detectable. Sí, puedo (solo) detectar el retraso de 80 ms, pero no lo llamaría "molestamente lento" :) –

+0

@pepsi - Lo que dijo j-g-faustus. Los 100 ms son una regla general, no una respuesta exacta. Y sí, también puedo decir que el ejemplo de 80 ms tarda un poco más que los ejemplos anteriores, pero todavía sucede bastante rápido. Ciertamente es mucho menos notable que el ejemplo de 160 ms. – aroth

2

Si el evento ocurre una sola vez, entonces 100ms debe ser el límite superior. si el evento es parte de un movimiento continuo, entonces algo entre 10 y 15 ms debería serlo porque una demora de 100 ms en cosas deslizantes (un [uno o más] píxeles por vez) puede notarse si tales retrasos ocurren en un fila siguiendo uno al otro.

También depende un tanto del contexto, lo que se está demorando. un evento de pulsación de tecla, algo deslizándose, un evento en tiempo real sucediendo en alguna otra máquina, todos estos tendrán diferentes niveles de 'tolerancias' :)

Cuestiones relacionadas