linux - 如何使用 Qt 5.9.1 修复 Qt Quick 应用程序中的撕裂?

标签 linux qt qtquick2 vsync

当我快速水平滚动时,我的应用程序出现撕裂问题。通常我只是启用 vsync,但我不知道如何在 Qt 中执行此操作。撕裂发生在我的开发 PC 上,它运行带有 X 服务器的 Linux,但它也需要在 Android 或 Linux + EGLFS 的目标系统上运行良好。

Google 的一个结果来自 Qt4 时代,并说撕裂将在 Qt 5 中消失。但显然不是。

许多谷歌搜索结果都是关于嵌入式 linux 系统的环境变量,例如 QT_QPA_EGLFS_FORCEVSYNC,但我更希望该解决方案也适用于我的开发 PC。

一个谷歌结果表明启用/禁用 vsync 取决于正在使用的渲染循环。我没有覆盖 renderloop,所以,因为我在 linux 上,我想我正在使用 threaded renderloop。

最佳答案

这是一个关于导致此问题的 nvidia 二进制驱动程序的错误报告。

https://bugreports.qt.io/browse/QTBUG-45480

我也在使用这些驱动程序,所以可能就是这样 - 只是一个驱动程序错误。如果是这样,至少它不太可能发生在我的目标硬件上(我还没有在那里测试过),所以这很好。

关于linux - 如何使用 Qt 5.9.1 修复 Qt Quick 应用程序中的撕裂?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46281939/

相关文章:

linux - 有关和更好地理解编程的一般问题

linux - 我如何阻止某人使用 linux 中的 write 命令向我的控制台发送垃圾邮件

android - Necessitas QT - 在设备上安装共享 QT 库

mysql - 使用qt的mysql 8的身份验证问题

java - 未调用静态对象的 Android ctor

c++ - 在 main.cpp 之外创建一个类以使用 QtQuick2ApplicationViewer 的正确方法是什么?

c++ - libpthread.so 在 `dlclose()` 之后继续使用 TLS 空间和 DL 命名空间

linux - stat 命令输出中的设备号

windows - Qt安装程序卡住了

qt - 如何从 C++ 端多次将 QImage 对象设置为 QML 的 Image 元素?