Berita

Fui: Pustaka C Minimalis untuk Akses Terus ke Framebuffer Mencetuskan Nostalgia dan Perbincangan Teknikal
Dalam era yang didominasi oleh antara muka grafik kompleks dan lapisan abstraksi, sebuah pustaka C baharu yang dipanggil fui (framebuffer user interface) telah muncul, menawarkan pembangun akses terus kepada framebuffer dalam konteks TTY. Pendekatan minimalis ini telah mencetuskan nostalgia dan perbincangan teknikal dalam komuniti pembangun, menunjukkan minat berterusan dalam pengaturcaraan grafik tahap rendah walaupun terdapat banyak rangka kerja moden.Apakah Framebuffer dan Mengapa Ia PentingKonsep framebuffer telah menjana perbincangan yang signifikan di kalangan pembangun. Dalam bentuk paling mudah, framebuffer adalah kawasan memori yang secara langsung mewakili piksel yang dipaparkan pada skrin. Tidak seperti API grafik moden yang melibatkan sistem tetingkap yang kompleks, framebuffer menyediakan akses terus dan mentah kepada memori paparan.Seperti yang dijelaskan oleh seorang ahli komuniti, Melainkan anda sedang berbincang mendalam dengan pakar grafik, apabila 'framebuffer' dirujuk, apa yang biasanya dimaksudkan adalah kawasan memori, yang boleh diakses secara programatik, yang secara langsung mewakili piksel yang dipaparkan pada skrin. Tiada tetingkap mewah, vektor, koordinat, hanya memori mentah dan nilai-nilai yang merupakan nilai sebenar yang ditunjukkan oleh skrin.Pendekatan langsung ini berbeza dengan sistem grafik kontemporari yang menggunakan pelbagai lapisan abstraksi, kompositor, dan pecutan perkakasan. Kesederhanaan pengaturcaraan framebuffer telah mendapat sambutan daripada pembangun yang menghargai hubungan langsung antara kod dan piksel.Nostalgia untuk Pengaturcaraan Grafik yang Lebih MudahPengenalan fui telah membangkitkan reaksi nostalgia yang kuat dari pembangun yang mengingati era pengaturcaraan terdahulu. Banyak pengulas membuat perbandingan dengan pengalaman menggunakan QuickBasic dan mod SCREEN 13, yang juga menyediakan akses langsung kepada memori skrin untuk pengaturcaraan grafik.Hebat! Mengingatkan saya tentang zaman keemasan QuickBasik dan SCREEN 13, ketika anda boleh menulis program yang sangat kecil dengan grafik skrin penuh.Sentimen ini mencerminkan penghargaan yang lebih luas terhadap persekitaran pengaturcaraan di mana jarak antara kod dan output yang boleh dilihat adalah minimum. Kelangsungan pengaturcaraan framebuffer menghapuskan banyak kerumitan yang diperkenalkan oleh tumpukan grafik moden, membolehkan pembangun melihat hasil segera dari kod mereka dengan overhead minimum.Imej ini menggambarkan intipati pengaturcaraan grafik klasik, mengingatkan pembangun tentang kesederhanaan dan keterusan yang dikaitkan dengan persekitaran pengaturcaraan terdahuluPerbezaan Platform dan Sekatan AksesPerbincangan mengenai fui menyoroti perbezaan yang ketara dalam cara pelbagai sistem operasi mengendalikan akses grafik tahap rendah. Walaupun Linux menyediakan akses yang agak mudah kepada peranti framebuffer, platform lain seperti macOS semakin mengehadkan akses langsung kepada perkakasan.Beberapa pengulas menyatakan bahawa Apple telah menghapuskan API akses framebuffer langsung selepas macOS 10.6, dengan alasan keselamatan dan keputusan seni bina. Sekatan ini mencerminkan perbezaan falsafah dalam reka bentuk platform: Linux cenderung mengutamakan fleksibiliti dan kebebasan pembangun, sementara Apple mengutamakan keselamatan, kestabilan, dan pengalaman pengguna yang konsisten dengan menguatkuasakan model paparan yang dikomposit.Perdebatan mengenai sekatan ini menyentuh soalan yang lebih luas tentang keseimbangan antara keselamatan dan kebebasan pembangun. Sesetengah berpendapat bahawa pendekatan Apple mencegah ancaman keselamatan yang berpotensi seperti perisian hasad yang boleh menyekat antara muka sistem atau mengintip pengguna, sementara yang lain berpendapat bahawa sekatan ini membatasi kreativiti pembangun dan penyelesaian masalah secara tidak perlu.Kerumitan Perkakasan ModenPerbincangan komuniti juga mendedahkan bagaimana perkakasan grafik moden telah berkembang melampaui model framebuffer yang mudah. Beberapa pembangun menunjukkan bahawa sistem kontemporari sering mensimulasikan framebuffer melalui komposit GPU dan bukannya menyediakan akses memori langsung kepada penimbal paparan yang khusus.Apabila perkakasan menjadi lebih kompleks, dengan ciri-ciri seperti penyahkodan video yang dipercepat perkakasan, sokongan HDR, dan persediaan berbilang monitor, abstraksi mudah framebuffer menjadi semakin terpisah daripada realiti asas. Namun begitu, Linux mengekalkan keserasian melalui abstraksi peranti framebuffer, membolehkan pembangun berinteraksi dengan paparan menggunakan paradigma yang biasa ini walaupun pelaksanaan asas menjadi lebih canggih.Ciri-ciri Utama fui (framebuffer user interface)Melukis nilai piksel ke beberapa lapisan, yang kemudian digabungkan dan dipaparkan ke framebufferMenyediakan fungsi lukisan asas (garisan, segi empat tepat, bulatan)Termasuk pemaparan teks menggunakan fon bitmapMengendalikan peristiwa input papan kekunci dan tetikus menggunakan libevdevMelaksanakan sistem peristiwa generik untuk jenis peristiwa lainMempunyai sistem bunyi asas menggunakan ALSA untuk nada sinus dan kordKeperluan PemasanganMemerlukan penambahan pengguna ke dalam kumpulan 'video' dan 'input' untuk kebenaranPerpustakaan dihubungkan secara statik (-Lfui-llibfui.a)Contoh dan ujian disertakan dalam repositoriDilesenkan di bawah MITDaya Tarikan Membina dari AwalPustaka fui mewujudkan semangat dari awal yang mendapat sambutan daripada ramai pembangun. Apabila ditanya tentang integrasi dengan pustaka GUI sedia ada seperti LVGL, pembangun menjelaskan bahawa projek ini bertujuan untuk membina komponen dari awal, menggunakan pustaka luaran yang sedikit mungkin.Pendekatan ini menarik minat pengaturcara yang menghargai pemahaman sistem dari prinsip pertama dan yang menikmati aspek pendidikan dalam pelaksanaan semula komponen asas. Dengan bermula dengan akses framebuffer langsung dan membina fungsi lukisan primitif, rendering teks, dan pengendalian acara, fui menawarkan pembangun peluang untuk terlibat dengan pengaturcaraan grafik pada tahap yang sering diabstrakkan oleh rangka kerja moden.Dalam ekosistem perisian yang semakin didominasi oleh rangka kerja kompleks dan abstraksi tahap tinggi, projek seperti fui menunjukkan nilai berterusan pendekatan pengaturcaraan tahap rendah. Walaupun mereka mungkin tidak menggantikan tumpukan grafik moden untuk aplikasi pengeluaran, mereka memenuhi tujuan pendidikan yang penting dan memuaskan rasa ingin tahu pembangun yang berminat untuk memahami bagaimana sesuatu berfungsi di bawah lapisan abstraksi.Rujukan: fui
C
39 minit yang lalu
Kemaskini Beta Steam Deck Membawa Penambahbaikan Sistem Utama dan Ciri-ciri Kesihatan Bateri
1 jam yang lalu

Razer Memperkenalkan Clio: Bantal Pembesar Suara Berharga $230 Yang Mengubah Kerusi Permainan Anda Menjadi Sistem Audio
Periferal
1 jam yang lalu

Lenovo Membangunkan Cip Kustom Pertama untuk Yoga Pad Pro 14.5 dengan Reka Bentuk Unik 10-Teras
Pad
2 jam yang lalu

Q.Tap: Alat eBPF Yang Melihat Melalui Enkripsi Tanpa Kesan Prestasi
Keamanan
6 jam yang lalu

Strategi Pelancaran iPhone Apple 2027: Tarikh Pelancaran Berperingkat dan Inovasi Boleh Lipat
Apple
7 jam yang lalu

Mobius Digital Mengesahkan Permainan Baharu Sedang Dibangunkan, Beberapa Tahun Sebelum Didedahkan
Permainan Komputer
9 jam yang lalu

Beta Dune Awakening Dilancarkan Hujung Minggu Ini Dengan Struktur Pelayan Terperinci Untuk Mengendalikan Kemasukan Pemain
Permainan Komputer
11 jam yang lalu

Kindle Comic Converter Mengubah Manga dan Komik untuk E-Reader dengan Ciri-ciri Baharu
Aplikasi
12 jam yang lalu

Samsung Memperluaskan Empayar Audio dengan Pengambilalihan Bernilai 350 Juta Dolar Amerika Syarikat terhadap Bowers & Wilkins, Denon, dan Lain-lain
Fon Telinga
13 jam yang lalu

Ampere Melancarkan CPU AmpereOne M 192-Teras dengan Senyap bersama Seni Bina Memori yang Dipertingkatkan
CPU
13 jam yang lalu

SpaceX Starship Mendapat Kelulusan untuk 25 Pelancaran Tahunan Ketika Jadual Misi ke Marikh Dipercepat
14 jam yang lalu

Apple Meneroka Penambahan Perplexity dan Enjin Carian AI Lain ke Safari
AI
15 jam yang lalu

Tesla Membatalkan Penyambung Jarak Cybertruck Berharga 16,000 Dolar Amerika Berikutan Jualan yang Mengecewakan
EV
16 jam yang lalu

Pengguna Windows Mahukan Microsoft Plus Kembali: Ciri-ciri Yang Boleh Meningkatkan Pengalaman Windows Moden
Microsoft
16 jam yang lalu

Pengguna Android 12 Menghadapi Kegagalan Aplikasi dan Risiko Keselamatan apabila Google Menamatkan Sokongan
Android
16 jam yang lalu

WebMonkeys: Pustaka Pemprosesan Selari GPU Ringkas Menghadapi Cabaran Penyelenggaraan
18 jam yang lalu

Google Secara Tidak Sengaja Mendedahkan Reka Bentuk Material 3 Expressive dalam Siaran Blog yang Dipadam
Google
19 jam yang lalu

Sokongan Intel XeSS 2 Berkembang kepada 19 Permainan, XeSS Asal Kini Tersedia dalam Lebih 200 Tajuk
Permainan Komputer
19 jam yang lalu

Sandfall Interactive Akan Melemahkan Kemahiran Stendhal dalam Clair Obscur: Expedition 33 Selepas Pemain Mencapai Kerosakan 2 Bilion
Permainan Komputer
20 jam yang lalu
