首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Opengl第二屏减速(Ubuntu)

Opengl第二屏减速(Ubuntu)
EN

Stack Overflow用户
提问于 2015-09-30 13:22:40
回答 1查看 36关注 0票数 0

我有一个OpenGL (4.3)应用程序运行在Ubuntu14.04上,使用的是nvidia-355驱动程序。一切运行正常,但当我连接第二个显示器(或移除第二个显示器)时,主显示器将变黑并返回。当它返回时,应用程序会显著减慢(计时显示减慢2-3倍)。现在,如果我删除并重新创建所有的GL资源,同时保持相同的上下文,一切都会恢复正常。问题是,在这种情况下,为什么会出现减速?

我检查了前后的上下文指针,它总是一样的。授权的上下文可能仍然丢失并重新创建,因为我使用的是GLEW的早期版本,所以我不能使用glGetGraphicsResetStatusARB检查状态。有没有想过是否有其他方法来做类似的事情?

更新:我已经找到了我的vao/vbo的原因。它是一个使用点的绘制调用的缓冲区,它包含相当多的顶点(以百万为单位)。如果我保持所有内容不变,但重新上传vbo,性能就会很好。2个问题:你知道为什么会发生这种情况吗?有没有办法检测在glx/gl/glut中添加/删除了显示?谢谢

EN

回答 1

Stack Overflow用户

发布于 2015-09-30 15:11:45

与可能会丢失上下文的Direct3D不同,GPU契约断言,上下文永远不会丢失;任何内务管理,如重新初始化OpenGL和所有关联的对象,都必须在幕后透明地发生。

有几个可能的原因导致你体验到速度减慢。我最好的选择是,Ubuntu的一些便利的自动化可能会抛出GPU驱动程序的内部状态管理,导致性能低于平均水平。如果没有这些自动化,新连接的显示器将不会自动激活,但需要用户交互。

另一种可能性是,使用新的显示器,您将只获得刷新频率的最低公分母,并且在启用V-Sync的情况下,因此会体验到速度减慢。

然而,我在这里只是猜测,如果不用分析器深入查看您的特定系统,就很难判断发生了什么。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32858374

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档