2015-09-30 34 views
1

我正在使用Mesa3d opengl库并仅使用SW渲染器。是否可以修改Mesa3D库源以禁用所有动画,阴影,抖动等,以最大化显示静态图像的性能?我正尝试使用应用程序,并且希望禁用其所有动态2D/3D效果(例如动画,滑动等),并使其运行速度更快并优化它以显示静态图像。OpenGL:Mesa3D:如何禁用抖动,动画等来加速静态渲染?

我该如何去做这件事?

+2

我不明白这应该如何工作。像动画,滑动等东西不是Mesa3D库的功能。他们可以通过使用库来实现。 – BDL

回答

2

是否有可能修改Mesa3D库源以禁用所有动画,阴影,抖动等以最大化显示静态图像的性能?

不,因为没有什么是由梅萨完成的。 OpenGL和扩展Mesa只是一个复杂的铅笔,一次绘制到帧缓冲画布,一个点,一条线或三角形。

任何效果,动画,阴影等都由您正在运行的应用程序实现。梅萨只是提供了一种方法来绘制每一帧。但它不会执行动画逻辑。

+0

效果和动画是在OpenGL之外执行的,但是很多东西可以在OpenGL中被禁用,或者至少是硬编码的,所以它们无法打开。看到这个网页:http://www.mesa3d.org/perf.html –

+0

@AdamB:这不是它的工作原理。 OpenGL是一个状态机。在OpenGL中启用/禁用的内容不是控制效果,而是低级参数。在使用现代OpenGL的情况下,几乎所有事情都是通过着色器发生的...... *和着色器不是可选的!*如果禁用着色器,最终会出现一个空窗口。 - 如果你想摆脱某些影响,那么这必须在每个应用程序(或每个库)上完成。 – datenwolf

+0

哎呀,最新的评论是不完整的。修改为如下:@datenwolf,通过基本上删除它的代码,使glEnable调用这些“无操作”,我成功地禁用了抖动(GL_DITHER),混合(GL_BLEND)和其他事情。其结果是图形渲染速度提高了10-20%(以可爱为代价),我对此感到非常满意。另外,为什么有人想禁用着色器,如果他们在这里必不可少? –