Pertanyaan Transatlantic ping lebih cepat daripada mengirim pixel ke layar?


John Carmack  tweeted,

Saya dapat mengirim paket IP ke Eropa lebih cepat daripada saya dapat mengirim piksel ke layar. Bagaimana kabar itu?

Dan jika ini bukan John Carmack, saya akan mengajukannya di bawah “interwebs yang konyol”.

Tapi ini John Carmack.

Bagaimana ini bisa benar?

Untuk menghindari diskusi tentang apa sebenarnya yang dimaksud dalam tweet, inilah yang ingin saya jawab:

Berapa lama waktu yang diperlukan, dalam kasus terbaik, untuk mendapatkan satu paket IP yang dikirim dari server di AS ke suatu tempat di Eropa, mengukur dari waktu ketika perangkat lunak memicu paket, sampai pada titik yang diterima oleh perangkat lunak di atas tingkat pengemudi?

Berapa lama, dalam kasus terbaik, agar piksel ditampilkan di layar, diukur dari titik di mana perangkat lunak di atas tingkat driver mengubah nilai piksel itu?


Bahkan dengan asumsi bahwa koneksi transatlantik adalah kabel serat optik terbaik yang dapat dibeli dengan uang, dan bahwa John duduk tepat di sebelah ISP-nya, data masih harus dikodekan dalam paket IP, dapatkan dari memori utama ke kartu jaringannya. , dari sana melalui kabel di dinding ke gedung lain, mungkin akan melewati beberapa server di sana (tapi mari kita berasumsi bahwa itu hanya membutuhkan satu relay), mendapat fotonik di lautan, diubah kembali menjadi impuls listrik oleh fotosensor, dan akhirnya ditafsirkan oleh kartu jaringan lain. Mari berhenti di situ.

Adapun pixel, ini adalah kata mesin sederhana yang akan dikirim melalui slot PCI express, ditulis ke buffer, yang kemudian memerah ke layar. Bahkan memperhitungkan fakta bahwa "piksel tunggal" mungkin menghasilkan seluruh buffer layar yang ditransmisikan ke layar, saya tidak melihat bagaimana ini bisa lebih lambat: tidak seperti bit ditransfer "satu per satu" - melainkan, mereka adalah impuls listrik berurutan yang ditransfer tanpa latensi di antara mereka (kan?).


798
2018-05-01 09:30


asal


Entah dia gila atau ini adalah situasi yang tidak biasa. Karena kecepatan cahaya dalam serat, Anda tidak bisa mendapatkan data dari AS ke Eropa dalam waktu kurang dari sekitar 60 milidetik satu arah. Kartu video Anda menempatkan seluruh layar piksel baru setiap 17 milidetik atau lebih. Bahkan dengan buffer ganda, Anda masih bisa mengalahkan paket dengan cukup sedikit. - David Schwartz
@DavidSchwartz: Anda sedang memikirkan GPU dalam isolasi. Ya, GPU dapat melakukan banyak pekerjaan dalam waktu kurang dari 60ms. Tetapi John mengeluh tentang seluruh rantai, yang melibatkan monitor. Apakah Anda tahu berapa banyak latensi yang terlibat, dari data gambar yang dikirimkan ke monitor, dan sampai ditampilkan di layar? Angka 17ms tidak berarti dan tidak relevan. Ya, GPU menyiapkan gambar baru setiap 17 ms, dan ya, layar menampilkan gambar baru setiap 17 ms. Tapi itu tidak mengatakan berapa lama gambar itu telah ditampilkan sebelum ditampilkan - jalf
Dia seorang programmer game, dan dia berkata lebih cepat dari saya dapat mengirim piksel ke layar... jadi mungkin akun untuk penundaan render grafis 3D? Padahal itu harus cukup rendah di sebagian besar video game; mereka mengoptimalkan kinerja, bukan kualitas. Dan tentu saja, ada sangat kemungkinan besar dia hanya melebih-lebihkan (ada, saya nyatakan yang jelas, bahagia?). - Bob
Pergi ke Best Belilah beberapa waktu dan tonton semua perangkat TV, di mana mereka semua disetel ke saluran internal yang sama. Bahkan set yang tampaknya identik akan memiliki lag yang nyata (mungkin seperempat detik) relatif terhadap satu sama lain. Tapi di luar itu ada harus menerapkan keseluruhan "menarik" siklus di dalam UI (yang mungkin melibatkan render ulang beberapa "lapisan" gambar). Dan, tentu saja, jika rendering 3-D atau semacamnya diperlukan yang menambah penundaan signifikan. - Daniel R Hicks
Ada banyak ruang untuk spekulasi dalam pertanyaan, saya tidak berpikir ada jawaban sempurna kecuali Anda tahu apa yang benar-benar dibicarakan J.Carmack. Mungkin tweetnya hanyalah beberapa komentar bodoh tentang beberapa situasi yang dia temui. - Baarn


Jawaban:


Waktu untuk mengirim paket ke host jarak jauh adalah separuh waktu yang dilaporkan oleh ping, yang mengukur waktu pulang pergi.

Layar yang saya ukur adalah a Sony HMZ-T1 kepala terpasang layar yang terhubung ke PC.

Untuk mengukur latensi tampilan, saya memiliki program kecil yang duduk di putaran berputar yang mengumpulkan pengontrol permainan, melakukan yang jelas ke warna yang berbeda dan menukar buffer setiap kali tombol ditekan. Saya merekam video yang menunjukkan pengontrol game dan layar dengan kamera 240 fps, lalu menghitung jumlah bingkai antara tombol yang ditekan dan layar mulai menunjukkan perubahan.

Pengontrol game memperbarui pada 250 Hz, tetapi tidak ada cara langsung untuk mengukur latensi pada jalur masukan (saya berharap saya masih bisa mentransfer ke port paralel dan menggunakan instruksi Sam in / out). Sebagai eksperimen kontrol, saya melakukan tes yang sama pada layar CRT lama dengan retrace vertikal 170 Hz. Aero dan beberapa monitor dapat memperkenalkan latensi ekstra, tetapi dalam kondisi optimal Anda biasanya akan melihat perubahan warna dimulai pada beberapa titik di layar (vsync dinonaktifkan) dua frame 240 Hz setelah tombol tersebut turun. Tampaknya ada 8 ms atau lebih dari latensi yang melewati USB HID memproses, tetapi saya ingin memahaminya lebih baik di masa depan.

Tidak jarang melihat monitor LCD desktop mengambil 10+ 240 Hz frame untuk menunjukkan perubahan di layar. Sony HMZ rata-rata sekitar 18 bingkai, atau 70+ milidetik total.

Ini adalah pengaturan multimonitor, jadi beberapa frame adalah kesalahan pengemudi.

Beberapa latensi bersifat intrinsik terhadap teknologi. Panel LCD membutuhkan 4-20 milidetik untuk benar-benar berubah, tergantung pada teknologi. Chip tunggal LCoS display harus menyangga satu frame video untuk mengkonversi dari piksel yang dikemas ke bidang warna berurutan. Tampilan raster laser membutuhkan sejumlah buffering untuk mengkonversi dari raster kembali ke pola pemindaian bolak-balik. Tampilan stereo 3D bingkai-sekuensial atau atas-bawah tidak dapat memperbarui setengah bingkai setengah waktu.

OLED menampilkan harus di antara yang terbaik, seperti yang ditunjukkan oleh eMagin Z800, yang sebanding dengan CRT 60 Hz dalam latensi, lebih baik daripada non-CRT lain yang saya uji.

Kinerja buruk pada Sony disebabkan oleh rekayasa perangkat lunak yang buruk. Beberapa fitur TV, seperti interpolasi gerakan, memerlukan buffering setidaknya satu frame, dan dapat memanfaatkan lebih banyak. Fitur lain, seperti menu mengambang, konversi format, perlindungan konten, dan sebagainya, dapat diterapkan secara streaming, tetapi jalan keluar yang mudah adalah hanya menyangga di antara masing-masing subsistem, yang dapat menumpuk hingga setengah lusin bingkai di beberapa sistem .

Hal ini sangat disayangkan, tetapi semuanya dapat diperbaiki, dan saya berharap untuk lebih memusatkan perhatian pada produsen layar tentang latensi di masa depan.


1306
2018-05-01 14:24



Saya tidak perlu mengunci jawaban ini karena komentar di luar topik yang berlebihan. Kami semua senang bahwa John memberikan jawaban ini, tetapi kami tidak perlu 25 komentar untuk mengungkapkan rasa terima kasih, ketidakpercayaan, atau kegembiraan mereka. Terima kasih. - nhinkle♦
Pemicu USB Anda mungkin berjalan sebagai perangkat USB kecepatan rendah (frame bus di 125usec) menyebabkan penundaan 8ms minimal (masalah perangkat keras). Mungkin mencoba keyboard PS2 saja? - Boris
@Marcus Lindblom dengan berburu, maksudmu membaca? Saya pikir dalam hal ini, bagaimana dia sampai ke nomornya sama pentingnya dengan nomor - skeptisisme mengenai tweet tidak akan ditangani dengan mengutip nomor lain. Juga konteks membantu - dia paling langsung terganggu oleh monitor khusus ini dengan perangkat lunak sub-optimalnya. - Jeremy
Kedengarannya seperti Anda mengatakan bahwa ketika pembuat LCD mengklaim mengatakan, waktu respon 5ms, yang mungkin waktu waktu yang dibutuhkan panel mentah untuk berubah, tetapi monitor menambahkan sedikit lebih banyak waktu buffering dan pemrosesan sinyal sebelum benar-benar mendorong LCD. Bukankah itu berarti pabrikan mempublikasikan spesifikasi palsu / menyesatkan? - psusi
@psusi doubledeej.blogspot.com/2009/07/…  zdnet.com/blog/ou/…  gizmodo.com/5669331/why-most-hardware-specs-are-total-bullshit  maximumpc.com/article/features/display_myths_shattered - Dan Neely


Beberapa monitor dapat memiliki input lag yang signifikan

Akuntansi koneksi internet yang luar biasa dibandingkan dengan monitor jelek dan video card combo yang mungkin

Sumber:

Game Konsol: Faktor Lag • Halaman 2

Jadi, di 30FPS kita mendapatkan kinerja dasar delapan frame / 133ms, tetapi di   klip kedua di mana permainan telah jatuh ke 24FPS, ada yang jelas   12 frame / 200ms delay antara saya menarik pelatuknya, dan Niko   memulai animasi tembak senapan. Itu 200 md ditambah   penundaan tambahan dari layar Anda. Aduh.

Display A dapat menambah 5-10ms lagi

Jadi, konsol dapat memiliki hingga 210ms lag

Dan, seperti komentar David, kasus terbaik harus sekitar 70ms untuk mengirim paket


67
2018-05-01 10:26



-1 Saya tidak berpikir bahwa John Carmack menggunakan monitor atau kartu video jelek. Silakan referensi klaim Anda dengan sumber yang dapat dipercaya. - Baarn
Maaf, tetapi saya masih tidak melihat ini benar-benar menjawab pertanyaan. Kutipan ini bercerita tentang "menarik pelatuk" dan ini menyiratkan lebih banyak pekerjaan, seperti dalam pemrosesan input, rendering adegan dll, daripada hanya mengirim piksel ke layar. Juga, kecepatan reaksi manusia relatif buruk dibandingkan dengan kinerja perangkat keras modern. Waktu antara pria itu berpikir dia menarik pelatuknya, dan benar-benar menariknya, bisa menjadi penghambat. - Konrad Rudolph
Artikel terkait menunjukkan bahwa penulis analisis ini membeli perangkat khusus yang dapat menunjukkan kepada Anda kapan tepatnya tombol ditekan, jadi saya tidak berpikir mereka hanya mengitari angka. - Melikoth
@KonradRudolph: Persepsi adalah hal yang cukup aneh. Saya membaca artikel beberapa waktu lalu tentang pengendali eksperimental yang membaca impuls langsung dari sumsum tulang belakang. Orang-orang akan merasa bahwa komputer bertindak sebelum mereka mengklik, meskipun itu adalah perintah saraf mereka sendiri untuk mengklik itu bereaksi. - Zan Lynx
@Zan Lynx: Ini adalah efek yang diketahui. Google untuk "Penundaan Setengah Dua Benjamin Libet". Kesadaran manusia membutuhkan waktu pemrosesan yang signifikan. Segala sesuatu yang sedang terjadi sekarang benar-benar terjadi di masa lalu. Semua indra Anda memberi Anda "pengalaman multi-media terintegrasi" dari suatu peristiwa mulai dari setengah detik yang lalu. Selanjutnya, kejadian-kejadian tampaknya "waktu dicap" oleh otak. Stimulasi otak langsung harus tertunda relatif terhadap stimulasi taktil agar subjek melaporkan sensasi sebagai simultan! - Kaz


Sangat sederhana untuk mendemonstrasikan input lag pada monitor, cukup tempelkan lcd di sebelah crt dan tunjukkan jam atau animasi yang mengisi layar dan rekam. Satu bisa menjadi yang kedua atau lebih di belakang. Ini adalah sesuatu yang produsen LCD telah diperketat sejak gamer, dll telah lebih memperhatikannya.

Misalnya. Video Youtube: Input Lag Test Vizio VL420M


33
2018-05-03 10:31