GNU/Linux >> Linux Esercitazione >  >> Linux

Qual è la differenza tra OpenGL e XRender in KDE Desktop Effects?

OpenGL e XRender sono entrambe API di disegno che consentono l'applicazione di determinate trasformazioni geometriche mentre lo fanno.

OpenGL è mirato alle operazioni di disegno che devono essere eseguite da un'unità di elaborazione grafica (GPU) dedicata e fornisce molte funzionalità che rendono molto semplice la generazione di un'immagine dall'aspetto 3D (buffer di profondità, test di profondità, matrici di trasformazione omogenee 4×4). Ma puoi anche realizzare grafica dall'aspetto 2D con OpenGL.

XRender è un'estensione di X11, per supportare metodi di rendering (antialiasing, alpha blending) che non è possibile eseguire con le funzioni di disegno principali di X11. L'XRender-API è ottimizzata per la grafica dall'aspetto 2D, tuttavia (nessun buffer di profondità/test, matrici di trasformazione 3×3).

Si noti che XRender non è perfettamente ortogonale a OpenGL. Soprattutto se hai bisogno dell'antialiasing in OpenGL devi usare alcune funzioni di XRender per abilitarlo.

Qual è il caso d'uso di ciascuna opzione?

L'opzione di XRender è lì per supportare i sistemi per i quali non esiste un supporto OpenGL adeguato (mancanza di driver stabili), ma un supporto accettabile per le operazioni di XRender. Inoltre XRender è un po' più facile da configurare (dal punto di vista dei programmatori) rispetto a OpenGL.

In generale OpenGL è più flessibile di XRender dal punto di vista dei programmatori. Se stai chiedendo quale di ciascuno dovresti scegliere:inizia con OpenGL e se tutto funziona in modo accettabile, mantienilo. L'opzione XRender è un fallback se OpenGL non funziona correttamente (tuttavia poiché oggi nei driver XRender condivide gran parte con OpenGL, o è effettivamente implementato utilizzando OpenGL, non fa più alcuna differenza pratica).


Uso XRender perché a KWin con OpenGL piace far girare la CPU senza una buona ragione.

Ha anche alcuni strani problemi con OBS e giochi in esecuzione in wine/Proton.

Consiglio vivamente di passare a XRender sulle schede nVidia!


Linux
  1. Qual è la differenza tra Redhat e centOS?

  2. Qual è la differenza tra insmod e modprobe

  3. Qual è la differenza tra strtok_r e strtok_s in C?

  4. Qual è la differenza tra adduser e useradd?

  5. Qual è la differenza tra `su -` e `su --login`?

Qual è la differenza tra InnoDB e MyISAM?

Qual è la differenza tra Linux e Unix?

Qual è la differenza tra Login e Non-Login Shell

Qual è la differenza tra il comando apt e apt-get?

Che cos'è un hypervisor? Qual è la differenza tra il tipo 1 e 2?

Qual è la differenza tra curl e Wget?