การส่งข้อความข้ามมหาสมุทรแอตแลนติกเร็วกว่าการส่งพิกเซลไปที่หน้าจอหรือไม่


809

John Carmack ทวีต ,

ฉันสามารถส่งแพ็กเก็ต IP ไปยังยุโรปได้เร็วกว่าที่ฉันสามารถส่งพิกเซลไปที่หน้าจอได้ เป็นไงบ้าง

และถ้านี่ไม่ใช่จอห์นคาร์แม็คฉันจะยื่นใต้“ interwebs ที่ไร้สาระ”

แต่นี่คือ John Carmack

สิ่งนี้จะเป็นจริงได้อย่างไร

เพื่อหลีกเลี่ยงการสนทนาเกี่ยวกับความหมายที่แท้จริงในทวีตนี่คือสิ่งที่ฉันต้องการรับคำตอบ:

ในกรณีที่ดีที่สุดใช้เวลานานเท่าใดในการรับแพ็กเก็ต IP เดียวที่ส่งจากเซิร์ฟเวอร์ในสหรัฐอเมริกาไปยังที่อื่น ๆ ในยุโรปวัดจากเวลาที่ซอฟต์แวร์ทริกเกอร์แพ็กเก็ตจนถึงจุดที่ซอฟต์แวร์ได้รับด้านบน ระดับไดรเวอร์

ในกรณีที่ดีที่สุดใช้เวลานานเท่าใดในการแสดงพิกเซลบนหน้าจอวัดจากจุดที่ซอฟต์แวร์เหนือระดับไดรเวอร์เปลี่ยนค่าของพิกเซลนั้น


แม้สมมติว่าการเชื่อมต่อข้ามมหาสมุทรแอตแลนติกเป็นสายเคเบิลไฟเบอร์ออปติกที่ดีที่สุดที่เงินสามารถซื้อได้และจอห์นนั่งอยู่ถัดจาก ISP ของเขาข้อมูลยังคงต้องเข้ารหัสในแพ็กเก็ต IP ได้รับจากหน่วยความจำหลักไปยังการ์ดเครือข่ายของเขา จากที่นั่นผ่านสายเคเบิลในกำแพงไปยังอาคารอื่นอาจจะข้ามเซิร์ฟเวอร์บางแห่งที่นั่น (แต่สมมติว่ามันต้องการแค่รีเลย์ตัวเดียว) รับโฟตอนทั่วมหาสมุทรแปลงกลับเป็นอิมพัลเซทอิเล็คตรอน และตีความโดยการ์ดเครือข่ายอื่นในที่สุด มาหยุดกันที่นั่น

สำหรับพิกเซลคำนี้เป็นคำศัพท์ง่าย ๆ ของเครื่องจักรที่ส่งผ่านช่องเสียบ PCI Express ซึ่งเขียนลงในบัฟเฟอร์จากนั้นจะถูกล้างออกไปที่หน้าจอ แม้แต่การบัญชีสำหรับความจริงที่ว่า“ พิกเซลเดียว” อาจส่งผลให้บัฟเฟอร์หน้าจอทั้งหมดถูกส่งไปยังจอแสดงผลฉันไม่เห็นว่ามันจะช้าลงได้อย่างไร: มันไม่เหมือนกับบิตที่ถูกถ่ายโอน“ ทีละบิต” - ค่อนข้างพวกเขา กระแสไฟฟ้าที่ต่อเนื่องกันซึ่งถูกถ่ายโอนโดยไม่มีความหน่วงแฝงอยู่ (ใช่ไหม)


50
ไม่ว่าเขาจะบ้าหรือนี่เป็นสถานการณ์ที่ผิดปกติ เนื่องจากความเร็วแสงในไฟเบอร์คุณไม่สามารถรับข้อมูลจากสหรัฐอเมริกาไปยังยุโรปได้ในเวลาน้อยกว่า 60 มิลลิวินาทีในทางเดียว การ์ดแสดงผลของคุณมีหน้าจอใหม่เป็นพิกเซลทุก ๆ 17 มิลลิวินาทีหรือมากกว่านั้น แม้จะมีบัฟเฟอร์สองเท่าคุณก็ยังสามารถเอาชนะแพ็กเก็ตได้ค่อนข้างน้อย
David Schwartz

84
@DavidSchwartz: คุณกำลังนึกถึงการแยก GPU ใช่ GPU สามารถทำงานได้ทั้งหมดในเวลาน้อยกว่า 60ms แต่จอห์นบ่นเกี่ยวกับห่วงโซ่ทั้งหมดซึ่งเกี่ยวข้องกับจอภาพ คุณรู้หรือไม่ว่ามีความเกี่ยวข้องกับความหน่วงเท่าใดข้อมูลภาพจะถูกส่งไปยังจอภาพและจนกว่าจะปรากฏบนหน้าจอ ตัวเลข 17ms นั้นไร้ความหมายและไม่เกี่ยวข้อง ใช่ GPU เตรียมภาพใหม่ทุก ๆ 17 มิลลิวินาทีและใช่หน้าจอจะแสดงภาพใหม่ทุก ๆ 17 มิลลิวินาที แต่ที่ไม่พูดอะไรเกี่ยวกับระยะเวลาของภาพที่ได้รับระหว่างการเดินทางก่อนที่จะถูกแสดง
jalf

24
เขาเป็นโปรแกรมเมอร์เกมและเขาพูดเร็วกว่าที่ฉันสามารถส่งพิกเซลไปที่หน้าจอ ... ดังนั้นอาจเป็นเพราะความล่าช้าในการเรนเดอร์กราฟิก 3D แม้ว่ามันจะค่อนข้างต่ำในวิดีโอเกมส่วนใหญ่ พวกเขาปรับให้เหมาะสมสำหรับประสิทธิภาพไม่ใช่คุณภาพ และแน่นอนว่ามีโอกาสสูงมากที่เขาเพิ่งพูดเกินจริง (นั่นฉันได้กล่าวอย่างชัดเจนมีความสุข?)
บ๊อบ

19
ไปที่ Best Buy สักครู่แล้วดูทีวีทั้งหมดที่พวกเขาได้ปรับช่องทั้งหมดในช่องเดียวกัน แม้ชุดที่เหมือนกันจะมีความล่าช้าที่เห็นได้ชัดเจน แต่นอกเหนือจากนั้นก็ต้องมีการใช้วงรอบ "การดึง" ทั้งหมดภายใน UI (ซึ่งอาจเกี่ยวข้องกับการเรนเดอร์ภาพ "เลเยอร์" หลายภาพ) และแน่นอนว่าถ้าต้องการการเรนเดอร์สามมิติหรือบางอย่างที่เพิ่มความล่าช้าอย่างมีนัยสำคัญ
Daniel R Hicks

4
มีห้องพักมากมายสำหรับการเก็งกำไรในคำถามฉันไม่คิดว่าจะมีคำตอบที่สมบูรณ์แบบเว้นแต่คุณจะรู้ว่า J.Carmack กำลังพูดถึงอะไร บางทีทวีตของเขาอาจเป็นเพียงความคิดเห็นที่โง่ในบางสถานการณ์ที่เขาพบ
Baarn

คำตอบ:


1321

เวลาในการส่งแพ็คเก็ตไปยังโฮสต์ระยะไกลนั้นใช้เวลาเพียงครึ่งเดียวที่รายงานโดย ping ซึ่งจะวัดเวลาไปกลับ

จอแสดงผลที่ฉันวัดนั้นเป็นจอแสดงผลที่ติดตั้งอยู่บนหัวของSony HMZ-T1 ที่เชื่อมต่อกับพีซี

ในการวัดระยะเวลาในการตอบสนองการแสดงผลฉันมีโปรแกรมขนาดเล็กที่อยู่ในสปินวนวนการสำรวจหน่วยควบคุมเกมทำสีที่ชัดเจนเป็นสีที่แตกต่างกันและการแลกเปลี่ยนบัฟเฟอร์เมื่อกดปุ่ม ฉันบันทึกวิดีโอแสดงทั้งตัวควบคุมเกมและหน้าจอด้วยกล้อง 240 เฟรมต่อวินาทีจากนั้นนับจำนวนเฟรมระหว่างปุ่มที่ถูกกดและหน้าจอเริ่มแสดงการเปลี่ยนแปลง

ตัวควบคุมเกมอัปเดตที่ 250 Hz แต่ไม่มีวิธีโดยตรงในการวัดเวลาแฝงในเส้นทางอินพุต (ฉันหวังว่าฉันยังคงสามารถเชื่อมต่อสิ่งต่าง ๆ กับพอร์ตขนานและใช้คำสั่ง Sam / Out) เป็นการทดลองควบคุมฉันทำการทดสอบแบบเดียวกันกับจอแสดงผล CRT แบบเก่าที่มีแนวตั้ง 170 Hz Aero และจอภาพหลายจอสามารถเพิ่มความหน่วงแฝงได้ แต่ภายใต้สภาวะที่เหมาะสมคุณจะเห็นการเปลี่ยนสีเริ่มต้นที่บางจุดบนหน้าจอ (ปิดการใช้งาน vsync) 240 240 Hz สองเฟรมหลังจากที่ปุ่มลง ดูเหมือนว่าจะมีความล่าช้า 8 มิลลิวินาทีหรือมากกว่านั้นเมื่อพิจารณาถึงการประมวลผลUSB HIDแต่ฉันต้องการที่จะจัดการเรื่องนี้ให้ดีขึ้นในอนาคต

ไม่ใช่เรื่องแปลกที่จะเห็นจอภาพ LCD ของเดสก์ท็อปใช้เฟรม 10+ 240 Hz เพื่อแสดงการเปลี่ยนแปลงบนหน้าจอ Sony HMZ มีค่าเฉลี่ยประมาณ 18 เฟรมหรือมากกว่า 70 มิลลิวินาทีรวม

นี่เป็นเซ็ตอัพแบบหลายผู้รับดังนั้นเฟรมสองเฟรมเป็นความผิดของคนขับ

ความหน่วงแฝงบางอย่างเป็นสิ่งสำคัญต่อเทคโนโลยี หน้าจอ LCD ใช้เวลา 4-20 มิลลิวินาทีในการเปลี่ยนจริงขึ้นอยู่กับเทคโนโลยี จอแสดงผลLCoSชิปตัวเดียวต้องบัฟเฟอร์เฟรมวิดีโอหนึ่งเฟรมเพื่อแปลงจากพิกเซลที่บรรจุไปเป็นระนาบสีตามลำดับ การแสดงเลเซอร์แรสเตอร์ต้องการบัฟเฟอร์จำนวนหนึ่งเพื่อแปลงจากการแรสเตอร์กลับไปเป็นรูปแบบการสแกนไปมา การแสดงผลสเตอริโอ 3D แบบแยกตามลำดับหรือบนสุดด้านล่างไม่สามารถอัปเดตกลางเฟรมครึ่งเวลา

จอแสดงผลOLEDควรอยู่ในกลุ่มที่ดีที่สุดตามที่แสดงโดยeMagin Z800ซึ่งเทียบได้กับ 60 Hz CRT ในเวลาแฝงดีกว่าแบบอื่น ๆ ที่ไม่ใช่ CRT ที่ฉันทดสอบ

ประสิทธิภาพที่ไม่ดีของ Sony เกิดจากวิศวกรรมซอฟต์แวร์ไม่ดี คุณสมบัติบางอย่างของทีวีเช่นการแก้ไขการเคลื่อนไหวต้องใช้การบัฟเฟอร์อย่างน้อยหนึ่งเฟรมและอาจได้รับประโยชน์เพิ่มเติม คุณสมบัติอื่น ๆ เช่นเมนูแบบลอยตัวการแปลงรูปแบบการป้องกันเนื้อหาและอื่น ๆ สามารถนำไปใช้ในลักษณะการสตรีมได้ แต่วิธีที่ง่ายคือการบัฟเฟอร์ระหว่างระบบย่อยแต่ละระบบซึ่งสามารถซ้อนได้ถึงครึ่งโหลในบางระบบ .

นี่เป็นเรื่องโชคร้ายมาก แต่ทุกอย่างสามารถแก้ไขได้และฉันหวังว่าจะสามารถพึ่งพาผู้ผลิตจอแสดงผลได้มากขึ้นเกี่ยวกับความล่าช้าในอนาคต


215
ฉันไม่ต้องการล็อคคำตอบนี้สำหรับความคิดเห็นนอกหัวข้อมากเกินไป เราทุกคนตื่นเต้นที่จอห์นให้คำตอบนี้ แต่เราไม่ต้องการ 25 ความคิดเห็นทั้งหมดที่แสดงความกตัญญูไม่เชื่อหรือความตื่นเต้น ขอขอบคุณ.
nhinkle

28
ทริกเกอร์ USB ของคุณอาจทำงานเป็นอุปกรณ์ USB ความเร็วต่ำ (บัสเฟรมที่ 125usec) ทำให้เกิดความล่าช้าน้อยที่สุด 8ms (ปัญหาฮาร์ดแวร์) อาจลองใช้แป้นพิมพ์ PS2 แทน?
Boris

4
@Marcus Lindblom ตามล่าคุณหมายถึงอ่านหรือไม่ ฉันคิดว่าในกรณีนี้วิธีที่เขาไปถึงหมายเลขของเขามีความสำคัญเท่ากับหมายเลข - ความสงสัยเกี่ยวกับทวีตจะไม่ได้รับการแก้ไขโดยการอ้างหมายเลขอื่น บริบทช่วยได้เช่นกัน - เขารู้สึกหงุดหงิดมากที่สุดจากการตรวจสอบเฉพาะนี้ด้วยซอฟต์แวร์ย่อยที่ดีที่สุด
Jeremy

13
ดูเหมือนว่าคุณกำลังบอกว่าเมื่อผู้ผลิตจอแอลซีดีอ้างว่าเวลาตอบสนอง 5ms นั่นอาจเป็นเวลาที่ต้องเปลี่ยนพาเนลดิบ แต่จอภาพเพิ่มเวลาบัฟเฟอร์อีกเล็กน้อยและประมวลผลสัญญาณก่อนที่มันจะขับ จอแอลซีดี นั่นไม่ได้หมายความว่าผู้ผลิตกำลังเผยแพร่ข้อมูลจำเพาะที่เป็นเท็จ / หลอกลวง
psusi


68

จอภาพบางตัวอาจมีความล่าช้าในการป้อนข้อมูลที่สำคัญ

บัญชีสำหรับการเชื่อมต่ออินเทอร์เน็ตที่ยอดเยี่ยมเมื่อเทียบกับจอมอนิเตอร์เส็งเคร็งและการ์ดคำสั่งผสมที่เป็นไปได้

แหล่งที่มา:

เกมคอนโซล: The Lag Factor •หน้า 2

ดังนั้นที่ 30FPS เราได้รับประสิทธิภาพพื้นฐานที่แปดเฟรม / 133ms แต่ในคลิปที่สองที่เกมลดลงถึง 24FPS มีความล่าช้า 12 เฟรม / 200ms ชัดเจนระหว่างฉันดึงไกและ Niko เริ่มต้นการเคลื่อนไหวของปืนลูกซอง นั่นคือ 200ms บวกกับความล่าช้าเพิ่มเติมจากหน้าจอของคุณ อุ๊ยตาย

จอแสดงผลสามารถเพิ่มอีก 5-10ms

ดังนั้นคอนโซลสามารถมีความล่าช้าสูงสุด 210ms

และตามความเห็นของ David กรณีที่ดีที่สุดควรอยู่ที่ประมาณ 70ms สำหรับการส่งแพ็คเก็ต


1
-1 ฉันไม่คิดว่า John Carmack ใช้จอมอนิเตอร์หรือการ์ดวิดีโอเส็งเคร็ง โปรดอ้างอิงการอ้างสิทธิ์ของคุณกับแหล่งที่น่าเชื่อถือ
Baarn

14
ขออภัยฉันยังไม่เห็นการตอบคำถามจริงๆ เครื่องหมายคำพูดบอกเกี่ยวกับ "การเหนี่ยวไก" และสิ่งนี้มีความหมายมากกว่าการทำงานเช่นในการประมวลผลอินพุตการสร้างฉาก ฯลฯ แทนที่จะส่งพิกเซลไปที่หน้าจอ นอกจากนี้ความเร็วในการตอบสนองของมนุษย์ยังค่อนข้างต่ำเมื่อเทียบกับประสิทธิภาพของฮาร์ดแวร์ที่ทันสมัย เวลาระหว่างคนที่คิดว่าเขาดึงไกและจริง ๆ แล้วดึงมันอาจเป็นคอขวด
Konrad Rudolph

2
บทความที่เชื่อมโยงแสดงให้เห็นว่าผู้เขียนของการวิเคราะห์นี้ซื้ออุปกรณ์พิเศษที่สามารถแสดงให้คุณเห็นได้อย่างชัดเจนเมื่อกดปุ่มดังนั้นฉันจึงไม่คิดว่าพวกเขาจะแปลงหมายเลข
Melikoth

11
@ KonradRudolph: การรับรู้เป็นสิ่งที่แปลกสวย ฉันอ่านบทความเมื่อไม่นานมานี้เกี่ยวกับผู้ควบคุมการทดลองที่อ่านแรงกระตุ้นโดยตรงจากไขสันหลัง ผู้คนจะรู้สึกว่าคอมพิวเตอร์ทำงานก่อนที่จะคลิกแม้ว่ามันจะเป็นคำสั่งประสาทของพวกเขาที่จะคลิกมันก็ตอบสนองต่อมัน
Zan Lynx

11
@Zan Lynx: นี่เป็นเอฟเฟกต์ที่รู้จักกันดี Google สำหรับ "การล่าช้าครึ่งสองของเบนจามินทิเบต" จิตสำนึกของมนุษย์ต้องใช้เวลาในการประมวลผลที่สำคัญ ทุกสิ่งที่คิดว่าเกิดขึ้นจริงแล้วเกิดขึ้นในอดีต ประสาทสัมผัสทั้งหมดของคุณกำลังให้คุณ "รวมประสบการณ์มัลติมีเดีย" ในเหตุการณ์เมื่อครึ่งวินาทีที่ผ่านมา นอกจากนี้เหตุการณ์ยังปรากฏเป็น "การประทับเวลา" โดยสมอง การกระตุ้นสมองโดยตรงจะต้องล่าช้าออกไปเมื่อเทียบกับการกระตุ้นสัมผัสเพื่อให้ผู้ร่วมการทดลองรายงานความรู้สึกพร้อมกัน!
Kaz

35

มันง่ายมากที่จะแสดงให้เห็นถึงความล่าช้าในการป้อนข้อมูลบนจอภาพเพียงติดจอแอลซีดีถัดจาก crt และแสดงนาฬิกาหรือภาพเคลื่อนไหวที่เต็มหน้าจอและบันทึก อย่างใดอย่างหนึ่งอาจเป็นสองหรือมากกว่าหลัง มันเป็นสิ่งที่ผู้ผลิต LCD มีความรัดกุมมาตั้งแต่นักเล่นเกม ฯลฯ ได้สังเกตเห็นมันมากขึ้น

เช่น. วิดีโอ Youtube: Input Lag Test Vizio VL420M

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.