gpt4 book ai didi

QT - 如何正确处理 Vsync 和多个 QGLWidgets

转载 作者:行者123 更新时间:2023-12-04 16:37:49 37 4
gpt4 key购买 nike

我在同一个主线程中使用三个不同的 QGLWidgets,最好以 60fps 渲染,但我无法达到超过 20fps。这似乎是由 Vsync 引起的,因为每个小部件可能会尝试独立地与刷新率同步,因此它们会以某种方式锁定。如果我只使用两个小部件,我可以达到 30fps。或者,如果我将一个小部件的更新速率固定为,比方说 10fps,我在其他小部件上达到 25fps (10+25+25=60)。 swapInterval() 始终返回 0,与我使用 setSwapInterval(int) 设置的值无关。有任何想法吗?我可以禁用 Vsync 吗?或者问题可能是由其他原因引起的?

最佳答案

它目前似乎是 Qt 5.0 的错误 - https://bugreports.qt.io/browse/QTBUG-29073

关闭 Vsync 将解决在 QGLWidgets 之间分配更新率的问题,您的显卡将按照您告诉它的速度或尽可能快地渲染到屏幕。但是您必须在显卡设置中禁用 VSync。仅仅设置 fmt.setSwapInterval(0) 什么都不做。

不幸的是,另一个问题出现了,如果你正在绘制包含水平移动的视频,就会出现撕裂。

希望 Qt 5.3 能够修复这个错误。

关于QT - 如何正确处理 Vsync 和多个 QGLWidgets,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22636284/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com