GNU/Linux >> Belajar Linux >  >> Linux

Apa perbedaan antara OpenGL dan XRender di KDE Desktop Effects?

OpenGL dan XRender adalah API gambar yang memungkinkan penerapan transformasi geometris tertentu saat melakukannya.

OpenGL ditargetkan pada operasi menggambar untuk dijalankan oleh unit pemrosesan grafis khusus (GPU) dan menyediakan banyak fitur yang membuat pembuatan gambar tampak 3D menjadi sangat mudah (penyangga kedalaman, pengujian kedalaman, matriks transformasi homogen 4x4). Namun Anda juga dapat membuat grafik tampak 2D dengan OpenGL.

XRender adalah ekstensi ke X11, untuk mendukung metode rendering (antialiasing, alpha blending) yang tidak mungkin dilakukan dengan fungsi menggambar inti X11. Namun, XRender-API dioptimalkan untuk grafik yang tampak 2D (tanpa buffer/pengujian kedalaman, matriks transformasi 3×3).

Perhatikan bahwa XRender tidak sepenuhnya ortogonal dengan OpenGL. Terutama jika Anda memerlukan antialiasing di OpenGL, Anda harus menggunakan beberapa fungsi dari XRender untuk mengaktifkannya.

Apa kasus penggunaan setiap opsi?

Pilihan XRender ada untuk mendukung sistem yang tidak memiliki dukungan OpenGL yang tepat (kurangnya driver yang stabil), tetapi dukungan yang dapat diterima untuk operasi XRender. Juga XRender sedikit lebih mudah untuk disiapkan (dari sudut pandang pemrogram) daripada OpenGL.

Secara umum OpenGL lebih fleksibel daripada XRender dari sudut pandang pemrogram. Jika Anda bertanya yang mana dari masing-masing yang harus Anda pilih:Mulailah dengan OpenGL dan jika semuanya berfungsi dapat diterima, tetap menggunakannya. Opsi XRender adalah cadangan jika OpenGL tidak berfungsi dengan baik (namun karena saat ini di driver XRender berbagi sebagian besar dengan OpenGL, atau benar-benar diimplementasikan menggunakan OpenGL, tidak ada perbedaan praktis lagi).


Saya menggunakan XRender karena KWin dengan OpenGL suka memutar CPU tanpa alasan yang jelas.

Ini juga memiliki beberapa masalah aneh dengan OBS dan game yang berjalan di wine/Proton.

Sangat disarankan untuk beralih ke XRender di kartu nVidia!


Linux
  1. Apa perbedaan antara strtok_r dan strtok_s di C?

  2. Apa perbedaan antara fsck dan e2fsck?

  3. Apa perbedaan antara adduser dan useradd?

  1. Apa perbedaan antara InnoDB dan MyISAM?

  2. Apa perbedaan antara `su -` dan` su --login`?

  3. Apa perbedaan antara $(CC) dan $CC?

  1. Perbedaan Antara [[ $a ==Z* ]] Dan [ $a ==Z* ]?

  2. Apa perbedaan antara Redhat dan centOS?

  3. Apa perbedaan antara insmod dan modprobe