我正在研究 Qt 5.1 中的 Qt Quick 2。很酷。但是,我不了解场景图功能。如果我只是创建 Flickable,将一堆图像放入其中,并在带有 EGLFS 后端的嵌入式设备上的 QQuickView 中显示 - 我是否使用场景图?
如果是,为什么我看到撕裂 - 场景图应该是垂直同步的?
如果不是 - 我应该怎么做才能将它与 Flickable 一起使用?或者这是否意味着我应该从头开始实施?
我的应用程序基本上允许浏览无穷无尽的生成图像。
QtQuick2将场景图作为其唯一的后端。所以是的,你正在使用它。这是否会被垂直同步,这是另一回事——主要取决于场景图是否使用渲染线程,以及驱动程序的质量(即交换缓冲区是否将等待垂直同步)。你可以试试
QSG_RENDER_TIMING
在环境变量设置为非零值的情况下运行您的应用程序;这将为您的应用程序打印帧统计信息。(有关更多信息,请参见此处。)如果您的帧长度不是 vsync 间隔的精确倍数,那么您没有 vsync
使用环境变量运行您的应用程序QT_QPA_EGLFS_FORCEVSYNC
,它将尝试使用FBIO_WAITFORVSYNC
ioctl 尝试与 vsync 同步。