화면에 픽셀을 보내는 것보다 대서양 횡단 핑이 더 빠릅니까?


809

존 카맥 (John Carmack) ,

픽셀을 화면에 보낼 수있는 것보다 빠르게 IP 패킷을 유럽에 보낼 수 있습니다. 그건 어때?

그리고 만약 이것이 John Carmack이 아니라면, 나는“interwebs be silly”아래에 제출할 것입니다.

그러나 이것은 존 카맥입니다.

이것이 어떻게 사실 일 수 있습니까?

트윗에서 정확히 무엇을 의미하는지에 대한 토론을 피하기 위해 다음과 같이 대답하고 싶습니다.

최상의 경우, 소프트웨어가 패킷을 트리거 한 시점부터 위의 소프트웨어가 수신 한 시점까지 측정하여 미국의 서버에서 유럽의 어느 곳으로 단일 IP 패킷을 전송하는 데 시간이 얼마나 걸리나요? 운전자 레벨?

가장 좋은 경우, 드라이버 수준 이상의 소프트웨어가 해당 픽셀의 값을 변경하는 지점에서 측정 된 화면에서 픽셀이 화면에 표시되는 데 시간이 얼마나 걸립니까?


대서양 횡단 연결이 돈을 살 수있는 최고의 광섬유 케이블이고 John이 ISP 바로 옆에 앉아 있다고 가정하더라도 데이터는 여전히 IP 패킷으로 인코딩되어야하며, 주 메모리에서 네트워크 카드로 가져와야합니다. 벽에서 케이블을 통해 다른 건물로 케이블을 연결하면 서버 몇 대를 건너 뛸 수 있지만 (단 하나의 릴레이 만 필요하다고 가정) 바다를 가로 질러 광자 화되어 광 센서에 의해 전기 충격으로 다시 변환됩니다. 마지막으로 다른 네트워크 카드로 해석됩니다. 거기서 멈춰 보자.

픽셀의 경우, 이것은 PCI 익스프레스 슬롯을 통해 전송되고 버퍼에 기록 된 다음 화면으로 플러시되는 간단한 기계어입니다. "단일 픽셀"로 인해 전체 화면 버퍼가 디스플레이로 전송 될 수 있다는 사실을 고려하더라도, 이것이 어떻게 느려질 수 있는지는 모르겠습니다. 비트가 "하나씩"전송되는 것과는 다릅니다. 대기 시간없이 전달되는 연속적인 전기 임펄스입니다 (오른쪽?).


50
그가 미쳤거나 비정상적인 상황입니다. 광섬유의 광속으로 인해 한 방향으로 약 60 밀리 초 이내에 미국에서 유럽으로 데이터를 가져올 수 없습니다. 비디오 카드는 17 밀리 초 정도마다 완전히 새로운 픽셀 화면을 표시합니다. 이중 버퍼링을 사용하더라도 패킷을 여전히 약간 이길 수 있습니다.
David Schwartz

84
@DavidSchwartz : GPU를 따로 생각하고 있습니다. 예, GPU는 60ms 이내에 많은 작업을 수행 할 수 있습니다. 그러나 John은 모니터와 관련된 전체 체인에 대해 불평하고 있습니다. 이미지 데이터가 모니터로 전송되고 화면에 표시 될 때까지 대기 시간이 얼마나되는지 알고 있습니까? 17ms 수치는 의미가없고 관련이 없습니다. 예, GPU는 17ms마다 새 이미지를 준비하며, 화면에는 17ms마다 새 이미지가 표시됩니다. 그러나 그것은 이미지가 표시되기 전에 얼마나 오래 전송되었는지에 대해서는 아무 것도 말하지 않습니다
jalf

24
그는 게임 프로그래머, 그리고 그는 말했다 보다 빠르게 내가 화면에 픽셀을 보낼 수 있습니다 지연 렌더링 3D 그래픽에 대한 그래서 아마 계정 ...? 대부분의 비디오 게임에서는 그 수준이 상당히 낮아야하지만 품질이 아닌 성능을 최적화합니다. 그리고 물론, 그가 과장했을 가능성 이 매우 높습니다 (명백하고 행복하다고 말했습니까?).
Bob

19
Best Buy로 이동하여 모든 TV 세트를 시청하십시오. TV 세트는 모두 동일한 내부 채널에 맞춰져 있습니다. 분명히 동일한 세트조차도 서로에 대해 눈에 띄는 (아마도 1/4 초) 지연이 있습니다. 그러나 그 이상으로 UI 내부에 전체 "드로우"주기를 구현해야합니다 (이미지의 여러 "레이어"를 다시 렌더링해야 할 수도 있음). 물론 3D 렌더링 또는 이와 같은 일부가 필요한 경우 상당한 지연이 발생합니다.
Daniel R이

4
의문의 여지가 많이 있지만 J.Carmack이 실제로 무엇을 말하고 있는지 알지 못한다면 완벽한 대답이 없다고 생각합니다. 어쩌면 그의 트윗은 그가 처한 상황에 대한 어리석은 의견 일뿐입니다.
Baarn

답변:


1321

패킷을 원격 호스트에 보내는 시간은 ping으로보고 된 시간의 절반이며 왕복 시간을 측정합니다.

내가 측정 한 디스플레이는 PC에 연결된 Sony HMZ-T1 헤드 마운트 디스플레이였습니다.

디스플레이 대기 시간을 측정하기 위해 게임 컨트롤러를 폴링하는 스핀 루프에 앉아 작은 색상의 프로그램을 사용하여 버튼을 누를 때마다 다른 색상을 선명하게하고 버퍼를 교환합니다. 240fps 카메라로 게임 컨트롤러와 화면을 모두 보여주는 비디오 레코드를 누른 다음 버튼을 눌렀을 때와 화면 사이의 프레임 수를 세어 변경 내용을 표시합니다.

게임 컨트롤러는 250Hz로 업데이트되지만 입력 경로의 대기 시간을 측정하는 직접적인 방법은 없습니다 (필자는 여전히 병렬 포트에 물건을 연결하고 Sam 명령을 입력 / 출력 할 수 있기를 바랍니다). 제어 실험으로 170Hz 수직 귀선으로 구식 CRT 디스플레이에서 동일한 테스트를 수행합니다. Aero 및 다중 모니터는 추가 대기 시간을 유발할 수 있지만 최적의 조건에서는 일반적으로 버튼이 내려간 후 화면의 특정 지점에서 시작하여 두 개의 240Hz 프레임에서 색상이 변경되는 것을 볼 수 있습니다 (vsync 비활성화). USB HID 처리를 거치는 데 8ms 정도의 대기 시간이있는 것 같지만 앞으로 더 잘 해결하고 싶습니다.

데스크탑 LCD 모니터가 화면에 변화를 나타 내기 위해 10+ 240Hz 프레임을 사용하는 것은 드문 일이 아닙니다. 소니 HMZ는 평균 약 18 프레임 (총 70 밀리 초)입니다.

이것은 다중 모니터 설정에 있었으므로 몇 프레임이 드라이버 오류입니다.

일부 대기 시간은 기술에 내재되어 있습니다. LCD 패널은 기술에 따라 실제로 변경하는 데 4-20 밀리 초가 걸립니다. 단일 칩 LCoS 디스플레이는 하나의 비디오 프레임을 버퍼링하여 묶음 픽셀에서 순차적 색상 평면으로 변환해야합니다. 레이저 래스터 디스플레이는 래스터 리턴에서 앞뒤 스캔 패턴으로 변환하기 위해 어느 정도의 버퍼링이 필요합니다. 프레임 순차 또는 상단 하단 분할 스테레오 3D 디스플레이는 절반의 중간 프레임을 업데이트 할 수 없습니다.

eMagin Z800에 의해 입증 된 OLED 디스플레이는 60Hz CRT와 비교할 수있는 최고의 CRT가 아닌 다른 CRT보다 우수해야합니다.

소니의 성능 저하는 소프트웨어 엔지니어링이 좋지 않기 때문입니다. 모션 보간과 같은 일부 TV 기능은 하나 이상의 프레임을 버퍼링해야하며 더 많은 기능을 활용할 수 있습니다. 플로팅 메뉴, 형식 변환, 컨텐츠 보호 등과 같은 다른 기능은 스트리밍 방식으로 구현 될 수 있지만 쉬운 방법은 각 하위 시스템간에 버퍼링을하는 것입니다. 일부 시스템에서는 최대 24 개의 프레임을 쌓을 수 있습니다. .

이것은 매우 불행한 일이지만 모두 고칠 수 있습니다. 앞으로 디스플레이 제조업체에 더 많은 지연 시간을 기대하고 싶습니다.


215
과도한 주 제외 의견을 위해이 답변을 잠글 필요는 없습니다. 우리는 John이이 답변을 제공 한 것에 대해 기뻐하지만, 감사, 불신 또는 흥분을 표현하는 25 개의 의견이 모두 필요하지는 않습니다. 감사합니다.
닌클

28
USB 트리거가 최소 8ms 지연 (하드웨어 문제)을 일으키는 저속 USB 장치 (125usec의 버스 프레임)로 실행 중일 수 있습니다. 어쩌면 PS2 키보드를 사용해보십시오.
Boris

4
사냥에 의해 @Marcus Lindblom, 당신은 읽기를 의미합니까? 이 경우에, 그가 그의 수에 도달 하는 방법 은 그 수만큼 중요합니다. 트윗에 대한 회의론은 다른 수를 인용함으로써 해결되지 않을 것입니다. 또한 상황에 도움이됩니다. 그는 최적의 소프트웨어가 아닌이 특정 모니터에 가장 직접적으로 화가났습니다.
제레미

13
LCD 제조업체가 5ms의 응답 시간이라고 말하면 원시 패널을 변경하는 데 걸리는 시간이 될 수 있지만 모니터는 실제로 신호를 처리하기 전에 신호를 버퍼링하고 처리하는 데 시간이 조금 더 걸립니다. LCD. 제조업체가 허위 / 오도적인 사양을 게시한다는 의미는 아닙니까?
psusi


68

일부 모니터에는 상당한 입력 지연이있을 수 있습니다

크 래피 모니터 및 비디오 카드 콤보와 비교하여 멋진 인터넷 연결을 계산

출처 :

콘솔 게임 : 지연 요소 • 2 페이지

따라서 30FPS에서는 8 프레임 / 133ms의 기본 성능을 얻지 만 게임이 24FPS로 떨어진 두 번째 클립에서는 트리거를 당기는 것과 Niko가 샷건 발사 애니메이션을 시작하는 것 사이에 12 프레임 / 200ms의 지연이 있습니다. 그것은 200ms와 화면의 추가 지연 시간입니다. 아야.

디스플레이는 다른 5-10ms를 추가 할 수 있습니다

따라서 콘솔은 최대 210ms의 지연을 가질 수 있습니다

그리고 David의 의견에 따르면 가장 좋은 경우는 패킷을 보내는 데 약 70ms입니다.


1
-1 John Carmack이 엉터리 모니터 나 비디오 카드를 사용한다고 생각하지 않습니다. 신뢰할 수있는 출처를 통해 귀하의 주장을 참조하십시오.
Baarn

14
미안하지만 여전히 이것이 실제로 질문에 답하는 것을 보지 못합니다. 이 인용문은 "트리거 풀링"에 대해 설명하며 입력 처리, 장면 렌더링 등과 같이 픽셀을 화면에 보내는 것보다 훨씬 많은 작업을 의미합니다. 또한, 인간의 반응 속도는 현대 하드웨어 성능에 비해 상대적으로 거칠다. 사람의 사이의 시간 의 생각은 그가 방아쇠를 당긴하고 실제로 그것을 당기는 잘 병목이 될 수 있습니다.
Konrad Rudolph

2
링크 된 기사는이 분석의 저자가 버튼을 눌렀을 때 정확하게 표시 할 수있는 특수 장치를 구입했음을 보여 주므로 나는 그들이 숫자를 뛰어 넘고 있다고 생각하지 않습니다.
Melikoth

11
@ KonradRudolph : 인식은 꽤 이상한 물건입니다. 나는 척수에서 직접 자극을 읽는 실험 컨트롤러에 관한 기사를 얼마 전에 읽었습니다. 사람들은 클릭하기 전에 자신의 신경 명령 이었지만 클릭하기 전에 컴퓨터가 작동하고 있다고 생각했을 것입니다.
Zan Lynx

11
@ 잔 Lynx : 이것은 알려진 효과입니다. "Benjamin Libet의 1/2 초 지연"에 대한 Google. 인간의 의식에는 상당한 처리 시간이 필요합니다. 지금 생각하고있는 모든 것이 실제로 과거에 일어났습니다. 모든 감각은 0.5 초 전의 이벤트에 대한 "통합 멀티미디어 경험"을 제공합니다. 또한, 사건은 뇌에 의해 "타임 스탬프"된 것으로 보인다. 피험자가 감각을 동시에보고 할 수 있도록 직접 뇌 자극은 촉각 자극에 비해 지연되어야합니다!
Kaz

35

모니터에서 입력 지연을 시연하고 crt 옆에 LCD를 붙이고 화면을 채우는 시계 또는 애니메이션을 보여주고 기록하는 것은 매우 간단합니다. 하나는 두 번째 이상이 될 수 있습니다. 게이머 등이 ​​더 많은 것을 알게 된 이후 LCD 제조업체가 강화 한 것입니다.

예 : 유튜브 비디오 : 입력 지연 테스트 Vizio VL420M

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.