KDE桌面特效中OpenGL和XRender有什么区别?

45
在KDE环境下,当您进入桌面效果并转到“高级”选项卡时,有一个名为“合成类型”的选项,可以设置为OpenGLXRender
1.这两个选项之间有什么区别? 2.每个选项的用例是什么?
2个回答

56

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

OpenGL旨在通过专用的图形处理单元(GPU)执行绘图操作,并提供许多功能,使生成具有3D外观的图像非常容易(深度缓冲区,深度测试,4×4齐次变换矩阵)。但是,您也可以使用OpenGL做出2D外观的图形。

XRender是X11的扩展,支持使用核心X11绘图函数无法实现的渲染方法(抗锯齿,alpha混合)。但是,XRender-API针对2D外观的图形进行了优化(没有深度缓冲/测试,3×3变换矩阵)。

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

每个选项的使用情况是什么?

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

总的来说,从程序员的角度来看,OpenGL比XRender更灵活。如果您想知道应该选择哪个选项:请从OpenGL开始,如果一切正常,请继续使用它。 XRender选项是当OpenGL不能正常工作时的备选方案(但是由于现在驱动程序中的XRender与OpenGL共享很大一部分或实际上是使用OpenGL实现的,因此不再有实际差异)。


16
使用XRenderer与KDE相比,你更不太可能遇到问题,尤其是在使用KDE 5 Plasma和/或nVIDIA显卡的情况下。 - xsor
5
确认了,我现在使用 XRender 因为 OpenGL 在 Nvidia 显卡 (K2100m) 上仍旧存在太多问题。 - CuongDC
这似乎也对我有帮助。我的电脑上有Nvidia GPU,将合成器设置为XRender解决了一个令人烦恼的锁屏问题。 - Camilo Torres

7

我使用XRender,因为与OpenGL的KWin相比,它不会毫无道理地使CPU变得很快。

在OBS和运行在wine/Proton中的游戏方面,它还存在一些奇怪的问题。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接