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 "jalinan 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, dalam kasus terbaik, untuk mendapatkan satu paket IP yang dikirim dari server di AS ke suatu tempat di Eropa, mengukur dari waktu suatu perangkat lunak memicu paket, ke titik yang diterima oleh perangkat lunak di atas tingkat pengemudi?
Berapa lama waktu yang dibutuhkan, dalam kasus terbaik, untuk sebuah 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 melompati beberapa server di sana (tapi mari kita asumsikan bahwa itu hanya membutuhkan satu relay), difoto di seberang lautan, diubah kembali menjadi impuls listrik oleh fotosensor, dan akhirnya diartikan oleh kartu jaringan lain. Mari berhenti di situ.
Sedangkan untuk pixel, ini adalah kata mesin sederhana yang dikirim melalui slot PCI express, ditulis ke dalam buffer, yang kemudian dibilas ke layar. Bahkan memperhitungkan fakta bahwa "piksel tunggal" mungkin mengakibatkan seluruh buffer layar 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?).
sumber
Jawaban:
Waktu untuk mengirim paket ke host jarak jauh adalah separuh dari waktu yang dilaporkan oleh ping, yang mengukur waktu perjalanan pulang pergi.
Layar yang saya ukur adalah layar yang dipasang di kepala Sony HMZ-T1 yang terhubung ke PC.
Untuk mengukur latensi tampilan, saya memiliki program kecil yang berada dalam putaran putaran polling sebuah game controller, melakukan pembersihan warna yang berbeda dan menukar buffer setiap kali tombol ditekan. Saya merekam video yang menunjukkan pengontrol permainan dan layar dengan kamera 240 fps, lalu hitung jumlah bingkai antara tombol yang ditekan dan layar mulai menunjukkan perubahan.
Pengontrol permainan diperbarui pada 250 Hz, tetapi tidak ada cara langsung untuk mengukur latensi pada jalur input (saya berharap saya masih bisa mengirim kawat ke port paralel dan menggunakan instruksi Sam in / out). Sebagai percobaan 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 mulai dari beberapa titik di layar (vsync dinonaktifkan) dua frame 240 Hz setelah tombol turun. Tampaknya ada 8 ms atau lebih latensi melalui pemrosesan HID USB , tapi saya ingin memakukan ini dengan lebih baik di masa depan.
Tidak jarang melihat monitor LCD desktop mengambil frame 10+ 240 Hz untuk menunjukkan perubahan pada layar. Sony HMZ rata-rata sekitar 18 frame, atau 70+ total milidetik.
Ini dalam pengaturan multimonitor, jadi beberapa bingkai adalah kesalahan pengemudi.
Beberapa latensi bersifat intrinsik bagi suatu teknologi. Panel LCD membutuhkan 4-20 milidetik untuk benar-benar berubah, tergantung pada teknologinya. Tampilan LCoS chip tunggal harus melindungi satu bingkai video untuk mengkonversi dari piksel yang dikemas ke bidang warna berurutan. Tampilan laser raster memerlukan sejumlah buffering untuk mengkonversi dari raster return ke bolak-balik pola pemindaian. Tampilan 3D stereo bingkai-sekuensial atau terbagi atas-bawah tidak dapat memperbarui paruh-waktu.
Layar OLED harus menjadi yang terbaik, seperti yang ditunjukkan oleh eMagin Z800 , yang sebanding dengan 60 Hz CRT 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 penyangga setidaknya satu frame, dan mungkin mendapat manfaat lebih dari itu. Fitur lain, seperti menu mengambang, konversi format, perlindungan konten, dan sebagainya, dapat diimplementasikan secara streaming, tetapi jalan keluar yang mudah adalah dengan hanya buffer antara setiap subsistem, yang dapat menumpuk hingga setengah lusin frame di beberapa sistem .
Ini sangat disayangkan, tetapi semuanya dapat diperbaiki, dan saya berharap untuk bersandar pada produsen tampilan lebih lanjut tentang latensi di masa depan.
sumber
Beberapa monitor dapat memiliki kelambatan input yang signifikan
Menghitung koneksi internet yang luar biasa dibandingkan dengan monitor jelek dan kombo kartu video
Sumber:
Gaming Konsol: Faktor Lag • Halaman 2
Tampilan dapat menambahkan 5-10ms lainnya
Jadi, sebuah konsol dapat memiliki lag hingga 210 ms
Dan, sesuai komentar David, kasus terbaik seharusnya sekitar 70 ms untuk mengirim paket
sumber
Sangat mudah untuk menunjukkan lag input pada monitor, cukup tempelkan lcd di samping crt dan tunjukkan jam atau animasi yang mengisi layar dan rekamlah. Seseorang bisa menjadi yang kedua atau lebih di belakang. Ini adalah sesuatu yang diperketat oleh produsen LCD sejak gamer, dll. Telah memperhatikannya lebih lanjut.
Misalnya. Video Youtube: Input Lag Test Vizio VL420M
sumber