Saya baru saja melakukan beberapa perhitungan cepat:
Di MacBook saya, saya memiliki resolusi 2560x1440 dikalikan dengan 24 Bit untuk warna, kami mendapatkan 11,05MB untuk satu gambar atau 663MB per detik pada 60 fps .
Saya kira ada beberapa kompresi, tetapi misalnya ketika saya bergerak dengan tiga jari di atas touch pad saya cukup acak, apa yang terjadi selanjutnya di layar dan hampir setiap piksel berubah. Sama dengan hampir setiap interaksi lainnya.
Tolong jelaskan jika perhitungan saya salah dan bagaimana data ini diangkut dari kartu grafis saya ke layar saya? Berapa lebar bus antara kartu grafis saya dan layar saya? Singkatnya, mungkin menjelaskan bagaimana tampilan menyimpan piksel? Shift register? Cache?
communication
display
bus
graphics
Felix Crazzolara
sumber
sumber
Jawaban:
Pada dasarnya perhitungan Anda benar. Untuk sinyal 1440p60Hz, Anda memiliki kecepatan data 5,8Gbps setelah Anda mengizinkan waktu pengosongan juga (batas piksel yang tidak terlihat dalam output gambar).
Untuk HDMI / DVI, pengkodean 10 / 8b digunakan, yang berarti secara efektif walaupun Anda telah mengatakan 24bit data warna per piksel, sebenarnya 30bit dikirim saat data dikodekan dan kata-kata kontrol protokol ditambahkan. Tidak ada kompresi yang dilakukan sama sekali, data mentah dikirim, jadi itu berarti Anda membutuhkan bandwidth data 7,25Gbps .
Sekali lagi melihat HDMI / DVI. Ini menggunakan standar pensinyalan "TDMS" untuk transfer data. Standar HDMI V1.2 mengamanatkan maksimum 4.9Gbps untuk Single-Link (3 jalur data serial + 1 clock line), atau dalam kasus Dual-Link DVI maksimum 9.8Gbps (6 jalur data serial, saya pikir ). Jadi ada lebih dari cukup bandwidth untuk melakukan 1440p60 melalui Dual-Link DVI, tetapi tidak melalui HDMI V1.2.
Dalam standar HDMI V1.3 (sebagian besar perangkat melompati V1.4a yang merupakan bandwidth yang sama dengan 1.3), bandwidth dilipatgandakan menjadi sekitar 10Gbps yang akan mendukung 1440p60, dan juga bandwidth yang cukup untuk UHD pada 30Hz (2160p30).
DisplayPort sebagai contoh lain memiliki 4 stream data serial, masing-masing mampu (dalam V1.1) sebesar 2,16Gbps per stream (terhitung untuk pengkodean), jadi dengan tautan V1.1 Anda dapat melakukan 1440p60 dengan mudah dengan semua 4 stream. Mereka juga telah merilis standar yang lebih baru, V1.2 yang menggandakan ke 4.32Gbps / stream yang memungkinkan untuk UHD @ 60Hz. Masih ada versi yang lebih baru yang mereka dorong lebih jauh ke 6.4Gbps / stream .
Awalnya angka-angka itu terdengar besar, tetapi sebenarnya tidak begitu banyak ketika Anda mempertimbangkan USB 3.0. Itu dirilis dengan kecepatan data 5Gbps hanya dengan satu kabel (sebenarnya dua, satu untuk TX, satu untuk RX, tapi saya ngelantur). PCIe yang digunakan kartu grafis Anda secara internal saat ini berjalan hingga 8Gbps melalui pasangan diferensial tunggal, jadi tidak terlalu mengejutkan bahwa antarmuka data eksternal sedang mengejar ketinggalan.
Tetapi pertanyaannya tetap, bagaimana ini dilakukan? Ketika Anda berpikir tentang VGA, itu terdiri dari kabel tunggal untuk data R, G, dan B yang dikirim dalam format analog. Analog seperti yang kita tahu sangat rentan terhadap noise, dan throughput DAC / ADCs juga terbatas, sehingga secara besar-besaran membatasi apa yang dapat Anda tekan melalui mereka (dengan mengatakan bahwa Anda hampir tidak dapat melakukan 1440p60Hz melalui VGA jika Anda beruntung).
Namun dengan standar modern kami menggunakan standar digital yang jauh lebih kebal terhadap noise (Anda hanya perlu membedakan tinggi atau rendah daripada setiap nilai di antaranya), dan juga Anda menghilangkan kebutuhan untuk konversi antara analog dan digital.
Lebih lanjut, munculnya penggunaan standar diferensial pada satu ujung sangat membantu karena Anda sekarang membandingkan nilai antara dua kabel (+ ve perbedaan = 1, -ve perbedaan = 0) daripada membandingkan satu kawat dengan beberapa ambang batas. Ini berarti bahwa pelemahan tidak terlalu menjadi masalah karena hal itu mempengaruhi kedua kabel secara merata dan melemahkan ke titik tegangan tengah - "mata" (perbedaan voltase) semakin kecil, tetapi Anda masih dapat mengetahui apakah itu + ve atau -ve bahkan jika hanya 100mV atau kurang. Sinyal berakhir tunggal setelah sinyal melemahkannya mungkin turun di bawah ambang batas Anda dan menjadi tidak dapat dibedakan bahkan jika masih memiliki amplitudo 1V atau lebih besar.
Dengan menggunakan tautan serial lebih dari satu paralel, kita juga dapat beralih ke kecepatan data yang lebih cepat karena kemiringan tidak lagi menjadi masalah. Dalam bus paralel, katakanlah lebar 32bit, Anda harus benar-benar cocok dengan panjang dan karakteristik perambatan 32 kabel agar sinyal tidak keluar dari fase satu sama lain (condong). Dalam tautan serial, Anda hanya memiliki satu kabel, sehingga kemiringan tidak dapat terjadi.
TL; DR Data dikirim dengan laju bit penuh yang Anda hitung (beberapa Gbps), tanpa kompresi. Teknik pensinyalan modern dari tautan digital berseri atas pasangan diferensial memungkinkan hal ini.
sumber
Komputer modern ternyata sangat cepat. Orang-orang akan dengan senang hati memuat video HD 30fps penuh tanpa menyadari bahwa itu melibatkan miliaran operasi aritmatika per detik. Gamer cenderung sedikit lebih sadar akan hal ini; GTX 1060 akan memberi Anda 4,4 TFLOPS ( triliun operasi floating point per detik).
Jawaban lain telah membahas sifat multi-gigabit HDMI, DisplayLink dll.
Layar itu sendiri menyimpan, secara teori, tidak ada data gambar.
(Beberapa layar, terutama televisi, menyimpan satu atau dua bingkai untuk menerapkan pemrosesan gambar. Ini meningkatkan latensi dan tidak disukai oleh para gamer.)
Subsistem grafis komputer menyimpan piksel dalam DRAM biasa. Biasanya tidak menggambar semuanya dari prosesor setiap frame, tetapi menyerahkan sebagian fungsionalitas ke subsistem khusus dan kompositor . Komponis akan memungkinkan mis. Setiap jendela pada desktop disimpan sebagai kumpulan piksel yang berbeda, yang kemudian dapat dipindahkan, digulir, atau diperbesar oleh perangkat keras khusus. Ini menjadi cukup jelas dengan menggulir pada perangkat seluler - Anda dapat menempuh jalan yang pendek sampai Anda kehabisan piksel yang sudah dihitung sebelumnya "offscreen" dan perangkat lunak harus berhenti dan merender lebih banyak lagi ke buffer komposer.
Permainan yang digambar ulang setiap frame, dan ada banyak literatur tentang bagaimana adegan dibangun. Ini dibangun menjadi framebuffer pada kartu grafis yang kemudian dikirim keluar sementara frame berikutnya ditarik ke buffer berbeda.
Video decoding biasanya juga diberikan kepada perangkat keras khusus, terutama H.264.
sumber
Tautan antara kartu display dan panel LCD dibawa melalui beberapa pasangan diferensial berkecepatan tinggi menggunakan pensinyalan TMDS , biasanya disebut "jalur". Biasanya empat lajur digunakan, sehingga orang dapat mengatakan bahwa lebar bus 4-bit. Untuk lebih jelasnya ada jawaban stackhexchange .
Setiap model panel LCD biasanya diproduksi dengan beberapa inkarnasi antarmuka, jadi kita harus berhati-hati dan melihat sufiks ketika mencoba mengganti panel yang rusak. Sebagian besar tautan digital modern (HDMI 1.4) memiliki 10,2 Gbps, atau hanya 2,5 Gbps per jalur. Dalam perhitungan Anda (663 MBps) totalnya mencapai 1,2 Gbps per lajur (dengan asumsi 4 lajur), yang tidak terlalu banyak (misalnya SATA3 memiliki 6Gbps).
TAMBAHAN pada panel LCD. LCD active-matrix sebenarnya mencoba untuk menyimpan gambar frame (data piksel) dalam kapasitor yang terkait dengan "Twisted Nematic Cells" (sel yang mengendalikan polarisasi film). Masalahnya adalah bahwa ukuran tutup penyimpanan analog harus menjadi trade-off antara waktu penyimpanan dan kecepatan sakelar piksel. Jadi itu tidak dapat dibuat besar, kehilangan potensi yang tersimpan dengan cepat, dan karenanya membutuhkan penyegaran berkala . Setiap sel pixel terhubung dengan data dan garis alamat melalui transistor (elemen "aktif"), lihat artikel Tomshardware ini . LCD driver-controller muliplex data dan garis alamat secara garis demi garis sehingga menjaga gambar yang ditampilkan. Gambar itu sendiri disimpan dalam frame buffer (RAM) di dalam pengontrol grafis.
sumber