Ping xuyên Đại Tây Dương nhanh hơn gửi pixel đến màn hình?


809

John Carmack đã tweet ,

Tôi có thể gửi một gói IP đến Châu Âu nhanh hơn tôi có thể gửi một pixel đến màn hình. Làm thế nào là lên đó?

Và nếu đây không phải là John Carmack, tôi sẽ gửi nó dưới quyền của những người đan xen là ngớ ngẩn.

Nhưng đây là John Carmack.

Làm thế nào điều này có thể đúng?

Để tránh các cuộc thảo luận về ý nghĩa chính xác trong tweet, đây là điều tôi muốn được trả lời:

Trong trường hợp tốt nhất, mất bao lâu để có được một gói IP được gửi từ một máy chủ ở Mỹ đến một nơi nào đó ở châu Âu, tính từ thời điểm phần mềm kích hoạt gói tin, đến mức mà phần mềm nhận được ở trên trình độ lái xe?

Mất bao lâu, trong trường hợp tốt nhất, để một pixel được hiển thị trên màn hình, được đo từ điểm phần mềm ở trên trình điều khiển thay đổi giá trị của pixel đó?


Ngay cả khi giả định rằng kết nối xuyên Đại Tây Dương là cáp quang tốt nhất mà tiền có thể mua và John đang ngồi ngay bên cạnh ISP của mình, dữ liệu vẫn phải được mã hóa trong gói IP, lấy từ bộ nhớ chính qua thẻ mạng của anh ta , từ đó thông qua một sợi cáp trên tường vào một tòa nhà khác, có thể sẽ nhảy qua một vài máy chủ ở đó (nhưng giả sử rằng nó chỉ cần một rơle duy nhất), được quang hóa qua đại dương, được chuyển đổi trở lại thành xung điện bởi máy quang điện, và cuối cùng được giải thích bởi một card mạng khác. Hãy dừng lại ở đó.

Đối với pixel, đây là một từ máy đơn giản được gửi qua khe cắm PCI Express, được ghi vào bộ đệm, sau đó được đưa ra màn hình. Ngay cả khi tính đến thực tế là các pixel đơn lẻ có thể khiến cho toàn bộ bộ đệm màn hình được truyền đến màn hình, tôi không thấy làm thế nào điều này có thể chậm hơn: không giống như các bit được truyền qua từng người một - đúng hơn là chúng là các xung điện liên tiếp được truyền mà không có độ trễ giữa chúng (phải không?).


50
Anh ta điên hoặc đây là một tình huống bất thường. Do tốc độ ánh sáng của sợi quang, bạn không thể lấy dữ liệu từ Mỹ sang châu Âu trong khoảng dưới 60 mili giây một chiều. Thẻ video của bạn đưa ra toàn bộ màn hình pixel mới cứ sau 17 mili giây. Ngay cả với bộ đệm đôi, bạn vẫn có thể đánh bại gói khá nhiều.
David Schwartz

84
@DavidSchwartz: Bạn đang nghĩ đến GPU một cách cô lập. Có, GPU có thể thực hiện rất nhiều công việc trong vòng chưa đầy 60ms. Nhưng John đang phàn nàn về toàn bộ chuỗi, liên quan đến màn hình. Bạn có biết bao nhiêu độ trễ có liên quan, từ dữ liệu hình ảnh được truyền đến màn hình và cho đến khi nó được hiển thị trên màn hình? Con số 17ms là vô nghĩa và không liên quan. Có, GPU chuẩn bị một hình ảnh mới cứ sau 17 ms và có, màn hình sẽ hiển thị một hình ảnh mới cứ sau 17 ms. Nhưng điều đó không nói gì về bao lâu hình ảnh đã được trên đường trước khi nó được hiển thị
jalf

24
Anh ấy là một lập trình viên trò chơi, và anh ấy nói nhanh hơn tôi có thể gửi một pixel lên màn hình ... vậy có lẽ là do sự chậm trễ kết xuất đồ họa 3D? Mặc dù điều đó khá thấp trong hầu hết các trò chơi video; Họ tối ưu hóa cho hiệu suất, không chất lượng. Và tất nhiên, có cơ hội rất cao anh ấy chỉ phóng đại (ở đó, tôi đã nói rõ ràng, hạnh phúc?).
Bob

19
Đi đến Best Mua một chút thời gian và xem tất cả các TV, trong đó chúng có tất cả các kênh được điều chỉnh theo cùng một kênh trong nhà. Ngay cả các bộ giống hệt nhau rõ ràng sẽ có độ trễ đáng chú ý (có thể là một phần tư giây) so với nhau. Nhưng ngoài ra, phải thực hiện toàn bộ chu trình "vẽ" bên trong giao diện người dùng (có thể liên quan đến việc hiển thị lại một số "lớp" của hình ảnh). Và, tất nhiên, nếu kết xuất 3-D hoặc một số như vậy được yêu cầu làm tăng thêm độ trễ đáng kể.
Daniel R Hicks

4
Có rất nhiều chỗ để suy đoán, tôi không nghĩ có một câu trả lời hoàn hảo trừ khi bạn biết J.Carmack đang thực sự nói về điều gì. Có lẽ tweet của anh ấy chỉ là một bình luận ngu ngốc về một số tình huống anh ấy gặp phải.
Baarn

Câu trả lời:


1321

Thời gian để gửi một gói đến một máy chủ từ xa là một nửa thời gian được báo cáo bằng ping, đo thời gian khứ hồi.

Màn hình tôi đang đo là màn hình gắn trên đầu Sony HMZ-T1 được kết nối với PC.

Để đo độ trễ hiển thị, tôi có một chương trình nhỏ nằm trong một vòng quay thăm dò bộ điều khiển trò chơi, làm rõ màu khác và đổi bộ đệm mỗi khi nhấn nút. Tôi quay video hiển thị cả bộ điều khiển trò chơi và màn hình với camera 240 khung hình / giây, sau đó đếm số khung hình giữa nút được nhấn và màn hình bắt đầu hiển thị thay đổi.

Bộ điều khiển trò chơi cập nhật ở tần số 250 Hz, nhưng không có cách nào trực tiếp để đo độ trễ trên đường dẫn đầu vào (tôi ước tôi vẫn có thể kết nối mọi thứ với một cổng song song và sử dụng hướng dẫn Sam vào / ra). Là một thử nghiệm điều khiển, tôi thực hiện thử nghiệm tương tự trên màn hình CRT cũ với truy xuất dọc 170 Hz. Hàng không và nhiều màn hình có thể giới thiệu độ trễ thêm, nhưng trong điều kiện tối ưu, bạn thường sẽ thấy sự thay đổi màu bắt đầu tại một số điểm trên màn hình (tắt đồng bộ hóa) hai khung hình 240 Hz sau khi nút tắt. Có vẻ như có độ trễ 8 ms hoặc hơn để xử lý USB HID , nhưng tôi muốn giải quyết vấn đề này tốt hơn trong tương lai.

Không có gì lạ khi thấy màn hình LCD để bàn mất hơn 10 khung hình 240 Hz để hiển thị thay đổi trên màn hình. Sony HMZ trung bình khoảng 18 khung hình, hoặc hơn 70 mili giây.

Đây là một thiết lập đa người dùng, vì vậy một vài khung hình là lỗi của trình điều khiển.

Một số độ trễ là bản chất của một công nghệ. Các màn hình LCD mất 4-20 mili giây để thực sự thay đổi, tùy thuộc vào công nghệ. Các màn hình LCoS đơn chip phải đệm một khung hình video để chuyển đổi từ các pixel được đóng gói thành các mặt phẳng màu liên tiếp. Màn hình raster laser cần một số lượng bộ đệm để chuyển đổi từ quay trở lại raster sang các mẫu quét qua lại. Màn hình 3D stereo phân tách theo thứ tự khung hoặc từ trên xuống dưới không thể cập nhật nửa khung thời gian.

Màn hình OLED phải là một trong những màn hình tốt nhất, như được thể hiện bởi eMagin Z800 , có thể so sánh với CRT 60 Hz về độ trễ, tốt hơn bất kỳ CRT nào khác mà tôi đã thử nghiệm.

Hiệu suất kém trên Sony là do kỹ thuật phần mềm kém. Một số tính năng của TV, như nội suy chuyển động, yêu cầu đệm ít nhất một khung hình và có thể được hưởng lợi nhiều hơn. Các tính năng khác, như menu nổi, chuyển đổi định dạng, bảo vệ nội dung, v.v., có thể được triển khai theo cách truyền phát, nhưng cách dễ dàng là chỉ đệm giữa mỗi hệ thống con, có thể chồng lên tới nửa tá khung hình trong một số hệ thống .

Điều này rất đáng tiếc, nhưng tất cả đều có thể sửa chữa và tôi hy vọng sẽ dựa vào các nhà sản xuất màn hình nhiều hơn về độ trễ trong tương lai.


215
Tôi muốn không phải khóa câu trả lời này cho các bình luận ngoài chủ đề quá mức. Tất cả chúng ta đều vui mừng khi John cung cấp câu trả lời này, nhưng chúng ta không cần 25 bình luận bày tỏ lòng biết ơn, sự hoài nghi hoặc sự phấn khích của họ. Cảm ơn bạn.
nhinkle

28
Trình kích hoạt USB của bạn có thể đang chạy như một thiết bị USB tốc độ thấp (khung hình bus ở 125usec) gây ra độ trễ tối thiểu 8ms (sự cố phần cứng). Có thể thử một bàn phím PS2 thay thế?
Boris

4
@Marcus Lindblom bằng cách săn lùng, ý bạn là đọc? Tôi nghĩ trong trường hợp này, làm thế nào anh ta đạt được số của mình cũng quan trọng như số - sự hoài nghi về tweet sẽ không được giải quyết bằng cách trích dẫn một số khác. Ngoài ra bối cảnh cũng giúp - anh ta cảm thấy khó chịu nhất với màn hình cụ thể này với phần mềm tối ưu phụ.
Jeremy

13
Có vẻ như bạn đang nói rằng khi các nhà sản xuất LCD tuyên bố, thời gian phản hồi 5ms, đó có thể là thời gian để bảng điều khiển thô thay đổi, nhưng màn hình sẽ thêm một chút thời gian đệm và xử lý tín hiệu trước khi nó thực sự điều khiển LCD. Điều đó không có nghĩa là các nhà sản xuất đang xuất bản thông số sai / sai?
psusi


68

Một số màn hình có thể có độ trễ đầu vào đáng kể

Kế toán cho một kết nối internet tuyệt vời so với kết hợp màn hình và thẻ video xảo quyệt

Nguồn:

Bảng điều khiển chơi game: Yếu tố Lag • Trang 2

Vì vậy, ở 30FPS, chúng tôi có hiệu suất cơ bản là tám khung hình / 133ms, nhưng trong clip thứ hai mà trò chơi đã giảm xuống còn 24FPS, có một độ trễ 12 khung hình / 200ms rõ ràng giữa tôi khi bóp cò và Niko bắt đầu hoạt hình bắn súng ngắn. Đó là 200ms cộng với độ trễ bổ sung từ màn hình của bạn. Ôi.

Một màn hình có thể thêm 5-10ms nữa

Vì vậy, một giao diện điều khiển có thể có độ trễ lên tới 210ms

Và, theo nhận xét của David, trường hợp tốt nhất nên là khoảng 70ms để gửi gói


1
-1 Tôi không nghĩ rằng John Carmack sử dụng màn hình hoặc thẻ video nhảm nhí. Vui lòng tham khảo yêu cầu của bạn với các nguồn đáng tin cậy.
Baarn

14
Xin lỗi nhưng tôi vẫn không thấy điều này thực sự trả lời câu hỏi. Đoạn trích nói về việc kéo theo trình kích hoạt, và điều này ngụ ý nhiều công việc hơn, như trong xử lý đầu vào, kết xuất cảnh, v.v., thay vì chỉ gửi một pixel đến màn hình. Ngoài ra, tốc độ phản ứng của con người tương đối tệ hại so với hiệu suất phần cứng hiện đại. Khoảng thời gian giữa anh chàng nghĩ rằng anh ta bóp cò, và thực sự kéo nó, cũng có thể là nút cổ chai.
Konrad Rudolph

2
Bài báo được liên kết cho thấy tác giả của phân tích này đã mua một thiết bị đặc biệt có thể hiển thị cho bạn chính xác khi nhấn nút, vì vậy tôi không nghĩ rằng họ chỉ chắp cánh cho các con số.
Melikoth

11
@KonradRudolph: Nhận thức là thứ khá kỳ lạ. Tôi đã đọc một bài báo trước đây về một bộ điều khiển thử nghiệm đọc các xung trực tiếp ra khỏi tủy sống. Mọi người sẽ cảm thấy rằng máy tính đã hoạt động trước khi họ nhấp, mặc dù đó là lệnh thần kinh của riêng họ để nhấp vào nó đang phản ứng.
Zan Lynx

11
@Zan Lynx: Đây là một hiệu ứng được biết đến. Google cho "Độ trễ nửa giây của Benjamin Libet". Ý thức của con người đòi hỏi thời gian xử lý đáng kể. Tất cả mọi thứ mà suy nghĩ đang xảy ra bây giờ thực sự đã xảy ra trong quá khứ. Tất cả các giác quan của bạn đang mang đến cho bạn "trải nghiệm đa phương tiện tích hợp" về một sự kiện từ nửa giây trước. Hơn nữa, các sự kiện dường như được "đóng dấu thời gian" bởi bộ não. Một kích thích não trực tiếp phải bị trì hoãn liên quan đến kích thích xúc giác để đối tượng báo cáo các cảm giác là đồng thời!
Kaz

35

Rất đơn giản để chứng minh độ trễ đầu vào trên màn hình, chỉ cần dán màn hình LCD bên cạnh crt và hiển thị đồng hồ hoặc hình động lấp đầy màn hình và ghi lại nó. Một có thể là một thứ hai hoặc nhiều hơn phía sau. Đó là điều mà các nhà sản xuất LCD đã thắt chặt kể từ khi các game thủ, vv đã nhận thấy nó nhiều hơn.

Ví dụ. Video Youtube: Kiểm tra độ trễ đầu vào Vizio VL420M

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.