GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Was ist der Unterschied zwischen OpenGL und XRender in KDE Desktop Effects?

OpenGL und XRender sind beide Zeichnungs-APIs, die dabei Anwendungen bestimmter geometrischer Transformationen ermöglichen.

OpenGL zielt auf Zeichenoperationen ab, die von einer dedizierten Grafikverarbeitungseinheit (GPU) ausgeführt werden, und bietet viele Funktionen, die das Generieren eines 3D-ähnlichen Bildes sehr einfach machen (Tiefenpuffer, Tiefentests, homogene 4 × 4-Transformationsmatrizen). Aber Sie können mit OpenGL auch 2D-ähnliche Grafiken erstellen.

XRender ist eine Erweiterung von X11, um Rendering-Methoden (Antialiasing, Alpha-Blending) zu unterstützen, die mit den Kernfunktionen von X11 nicht möglich sind. Die XRender-API ist jedoch für 2D-ähnliche Grafiken optimiert (kein Tiefenpuffer/Test, 3×3-Transformationsmatrizen).

Beachten Sie, dass XRender nicht perfekt orthogonal zu OpenGL ist. Insbesondere wenn Sie Antialiasing in OpenGL benötigen, müssen Sie einige Funktionen von XRender verwenden, um es zu aktivieren.

Was ist der Anwendungsfall jeder Option?

Die Option von XRender ist dazu da, Systeme zu unterstützen, für die es keine richtige OpenGL-Unterstützung gibt (Mangel an stabilen Treibern), aber eine akzeptable Unterstützung für XRender-Operationen. Außerdem ist XRender etwas einfacher einzurichten (aus Sicht eines Programmierers) als OpenGL.

Im Allgemeinen ist OpenGL aus Programmierersicht flexibler als XRender. Wenn Sie sich fragen, welche von beiden Sie wählen sollten:Beginnen Sie mit OpenGL und wenn alles akzeptabel funktioniert, bleiben Sie dabei. Die XRender-Option ist ein Fallback, wenn OpenGL nicht richtig funktioniert (aber da XRender heutzutage in den Treibern einen großen Teil mit OpenGL teilt oder tatsächlich mit OpenGL implementiert ist, macht es praktisch keinen Unterschied mehr).


Ich verwende XRender, weil KWin mit OpenGL gerne die CPU ohne guten Grund dreht.

Es hat auch einige seltsame Probleme mit OBS und Spielen, die in Wine/Proton laufen.

Kann dringend empfehlen, auf nVidia-Karten auf XRender umzusteigen!


Linux
  1. Was ist der Unterschied zwischen InnoDB und MyISAM?

  2. Was ist der Unterschied zwischen strtok_r und strtok_s in C?

  3. Was ist der Unterschied zwischen fsck und e2fsck?

  4. Was ist der Unterschied zwischen ls und l?

  5. Was ist der Unterschied zwischen $(CC) und $CC?

Was ist der Unterschied zwischen Linux und Unix?

Was ist der Unterschied zwischen Login- und Non-Login-Shell

Was ist der Unterschied zwischen apt und dem Befehl apt-get?

Was ist ein Hypervisor? Was ist der Unterschied zwischen Typ 1 und 2?

Was ist der Unterschied zwischen Curl und Wget?

Was ist der Unterschied zwischen Route und IP-Route?