2011-07-30 22 views
19

thể trùng lặp:
What is the shortest perceivable application response delay?Độ trễ tối thiểu có thể phát hiện bởi một con người là gì?

Tôi đã profiling một số mã JavaScript UI vì nó cảm thấy một chút bị lag. Cho đến nay, tôi đã tìm thấy một số tắc nghẽn và tối ưu hóa chúng ra, nhưng tôi muốn xác định một yêu cầu đo lường được cho điều này.

Phản ứng xảy ra nhanh như thế nào để con người không nhận thấy độ trễ? Ví dụ: độ trễ phát hiện tối thiểu giữa thời điểm nhấn phím bàn phím là gì và khi nào một chữ xuất hiện trên màn hình? Tại điểm nào là tối ưu hóa hơn nữa sẽ không tạo ra bất kỳ sự khác biệt nào cho con người?

Rất nhiều màn hình có tốc độ làm mới ở khoảng trong khoảng 60-120Hz. Điều đó có nghĩa là số ma thuật là khoảng 8-16ms?

+0

đây là một câu hỏi rất thú vị. Tôi chắc chắn nó thay đổi nhưng phải có một số nghiên cứu cực kỳ tốt trong lĩnh vực này. –

+0

cho phản hồi 'tức thì' - tôi nhớ thử nghiệm thời gian phản hồi nhanh nhất của con người - khoảng 10ms – Randy

+0

tôi cũng nhớ rằng mắt có thể xử lý khoảng 25 khung hình mỗi giây trong video. – Randy

Trả lời

10

Xét "nhấn phím" sự kiện và chữ xuất hiện trên màn hình như hai khung riêng biệt, có nghĩa là, nếu người dùng nhấn một phím trong khi nhìn vào màn hình, anh ta sẽ muốn xem nó chính xác sau đó. Điều này "chính xác sau đó" có nghĩa là nó phải có thời gian phản hồi 60 Hz hoặc cao hơn.

Vì lý do này, giá trị 8-16 ms thực sự nên được nhắm đến, vì nó sẽ dẫn đến hiệu ứng giống như trong phim. Nói cách khác, người dùng sẽ không có nhận thức về độ trễ cho các giá trị đó.

Tuy nhiên, bạn phải ghi nhớ rằng bàn phím có thời gian bỏ phiếu riêng của mình và sự chậm trễ bổ sung không nhất thiết được kết nối với tập lệnh có thể ảnh hưởng đến thời gian của nó. Đối với những lý do nhằm mục đích cho các giá trị cao hơn 60 Hz sẽ cung cấp cho bạn một tỷ lệ an toàn lớn hơn so với những ảnh hưởng khác có thể có thể thêm một sự chậm trễ nhỏ. Cũng cần lưu ý rằng trong một số ứng dụng, sự chậm trễ 100 ms có vẻ không đáng kể, nhưng nó thực tế đáng chú ý vì nó tương ứng với 10 Hz và nếu bạn phát một bộ phim ở tốc độ làm mới đó, bạn rất có thể sẽ nhận ra những khoảng trống giữa mỗi khung hình của bộ phim. Vì lý do này, giá trị này không thực sự được xem xét trong một bối cảnh đủ chung chung.

Độ nhạy của mắt người khác nhau đối với các điều kiện và phần khác nhau của hình ảnh, vì vậy bạn nên cẩn thận và cân nhắc tỷ lệ làm mới cao hơn khi cần thiết để đáp ứng điều này.

This link có thêm thông tin về cách các đặc điểm của màn hình và thay đổi của chúng được mắt người xem và có thể cho bạn biết mức độ làm mới nào bạn nên nhắm đến trong một ngữ cảnh nhất định, dựa trên tác động trực quan của tập lệnh .

+1

Nhưng một con người không thể cảm nhận ranh giới giữa một khung ở 60 Hz và tiếp theo. Đặc biệt nếu chỉ một phần nhỏ của màn hình đang được cập nhật. Hơn nữa, ngay cả khi việc xử lý được thực hiện kịp thời để cập nhật xuất hiện trong khung "tiếp theo", nó không thể được đảm bảo rằng khung đó sẽ thực sự được hiển thị ngay lập tức sau khi người dùng hiện đang nhìn thấy. Có thể, ví dụ, được đệm được thực hiện bởi trình điều khiển đồ họa, hoặc nội bộ bên trong màn hình chính nó (hoặc cả hai). Nhằm hoàn thành khung tiếp theo là quá mức cần thiết trong hầu hết các trường hợp (ngoại lệ: trò chơi). – aroth

+1

Tuy nhiên, có thể kịch bản hoạt động với nhiều hơn một ký tự, và tôi đoán cách tiếp cận chung nhất sẽ là xem phim như một bộ phim, trong đó từ một khung đến khung tiếp theo, toàn bộ màn hình có thể thay đổi cách. Tất nhiên, trong nhiều trường hợp, nó sẽ không cần thiết để được quyết liệt này, nhưng đây là một chút của một phương pháp toán học. Ngay cả trong trò chơi, sự chậm trễ 100 ms có thể được cảm nhận khá khác nhau tùy theo loại trò chơi, vì những tác động của sự chậm trễ và cách chúng ta cảm nhận chúng về trò chơi được đề cập. –

9

Theo nguyên tắc chung, tôi thấy rằng bất cứ điều gì nhanh hơn 100ms có xu hướng được coi là "ngay lập tức". Đi lâu hơn thế và sự chậm trễ chắc chắn trở nên đáng chú ý. Tất nhiên điều này sẽ thay đổi một chút từ người này sang người khác, và cũng tùy thuộc vào bối cảnh xảy ra sự chậm trễ.

Bạn có thể tìm thấy ví dụ này hữu ích: http://jsfiddle.net/QGmBy/

+0

Ví dụ hay, nhưng tôi khá chắc chắn rằng tôi vẫn có thể thấy sự chậm trễ cho 80ms. Có ai khác không? Mặc dù đó là một câu trả lời phổ biến, vì lý do nào đó 100ms dường như quá dài để có độ trễ phát hiện tối thiểu .. – pepsi

+3

@pepsi Trong lĩnh vực khả năng sử dụng, quy tắc ngón tay cái là 0.1s được coi là "tức thì", 1s là "khá nhanh "và 10s" chán và tìm kiếm thứ gì khác để làm ". Nhưng đây là những số của ballpark, không chính xác, và có nghĩa là đại diện cho sự chậm trễ mà bắt đầu can thiệp vào nhiệm vụ trong tầm tay, không phải là phát hiện tối thiểu. Có, tôi có thể (chỉ cần) phát hiện sự chậm trễ 80ms, nhưng tôi sẽ không gọi nó là "khó chịu chậm" :) –

+0

@pepsi - Điều gì j-g-faustus nói. 100 ms là một quy tắc chung, không phải là câu trả lời chính xác. Và vâng, tôi cũng có thể nói rằng ví dụ 80 ms đang dùng lâu hơn một chút so với các ví dụ trước, nhưng nó vẫn xảy ra khá nhanh. Nó chắc chắn ít đáng chú ý hơn so với ví dụ 160 ms. – aroth

2

Nếu sự kiện diễn ra chỉ một lần thì 100ms phải là giới hạn cao hơn. nếu sự kiện là một phần của chuyển động liên tục, thì khoảng 10-15ms nên là do một sự chậm trễ 100 ms trong thứ gì đó như công cụ trượt (một [một hoặc nhiều] pixel một lần) có thể nhận thấy được nếu sự chậm trễ xảy ra trong hàng theo nhau.

Ngoài ra nó phần nào phụ thuộc vào ngữ cảnh, những gì đang bị trì hoãn. một sự kiện bấm phím, một cái gì đó trượt trong, một sự kiện thời gian thực xảy ra trên một số máy khác, tất cả những điều này sẽ có các mức 'dung sai' khác nhau :)

Các vấn đề liên quan