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!