KDE桌面效果中的OpenGl和XRender有什么区别?

时间:2014-03-11 06:44:38

标签: linux opengl kde

在KDE环境中,当您转到桌面效果时,在高级选项卡中有一个名为“合成类型”的选项,可以将其设置为OpenGl或XRenderer。

  1. 这两个选项有什么区别?

  2. 每个选项的用例是什么?

2 个答案:

答案 0 :(得分:28)

OpenGL和XRender都是绘制API,允许在执行某些几何变换时应用。

OpenGL的目标是绘图操作由专用图形处理单元(GPU)执行,并提供许多功能,使得生成3D外观图像变得非常容易(深度缓冲,深度测试,4×4同质变换矩阵)。但是你也可以用OpenGL做2D外观图形。

XRender是X11的扩展,支持渲染(抗锯齿,alpha混合)的方法,这些方法与核心X11绘图功能无关。 XRender-API针对2D外观图形进行了优化(无深度缓冲/测试,3×3变换矩阵)。

请注意,XRender与OpenGL不完全正交。特别是如果你需要在OpenGL中进行抗锯齿,你必须使用XRender的一些函数来启用它。

  

每个选项的用例是什么?

XRender的选项是支持没有适当的OpenGL支持(缺乏稳定的驱动程序)的系统,但是对XRender操作的可接受的支持。此外,XRender(从程序员的角度来看)比OpenGL更容易设置。

一般而言,从程序员的角度来看,OpenGL比XRender更灵活。如果您要问每个应该选择哪一个:从OpenGL开始,如果一切正常,请坚持下去。如果OpenGL无法正常工作,XRender选项就是后备(但是现在在XRender驱动程序中,XRender与OpenGL共享很大一部分,或者实际上是使用OpenGL实现的,因此不再有任何实际区别。)

答案 1 :(得分:3)

我使用XRender是因为带有OpenGL的KWin喜欢无缘无故地旋转CPU。

OBS和在wine / Proton中运行的游戏也存在一些奇怪的问题。

强烈建议在nVidia卡上切换到XRender!