我正在研究Qt 5.1中的Qt Quick 2。很酷。但是,我不了解Scene Graph功能。如果我只是创建Flickable,将一堆图像放到它上面,并在带有EGLFS后端的嵌入式设备上的QQuickView中显示 - 我是否使用了场景图?
如果是,为什么我会看到撕裂 - 场景图应该是VSynced?
如果没有 - 我应该怎么做才能与Flickable一起使用?或者这是否意味着我应该从零开始实施所有内容?
我的应用程序基本上允许浏览无限生成的图像。
答案 0 :(得分:1)
QtQuick2具有唯一后端的场景图。所以,是的,你正在使用它。这是否会被vsynced,这是另一个故事 - 主要取决于场景图是否使用渲染线程,以及驱动程序的质量(即交换缓冲区是否等待vsync)。你可以尝试
运行您的应用,环境变量QML_RENDER_TIMING
设置为非零值;这将打印您的应用程序的框架统计信息。如果您的帧长度不是vsync间隔的精确倍数,那么您没有vsync
使用环境变量QT_QPA_EGLFS_FORCEVSYNC
运行您的应用,它将尝试使用FBIO_WAITFORVSYNC
ioctl尝试与vsync同步。