根据2011年的Qt博客文章,应该有一个环境变量QML_FLASH_MODE
可以设置为1
,以查看正在重新绘制QML应用程序的哪些区域。
我已经为我正在编写的Qt Quick 2应用程序设置了此变量,并且在没有此变量的情况下运行应用程序没有视觉差异。
还有其他方法可以查看QML重绘活动吗?我正在尝试解决性能问题。
答案 0 :(得分:1)
在commit中删除了QML_FLASH_MODE
作为重构的一部分,以支持每个窗口单独的渲染循环。它被移除的原因并不明显,但无论如何它现在已经消失了。
如果你认为QML_FLASH_MODE
会帮助你分析你的场景,你可以随时回到Qt 5.1.1,它仍然存在。
另一方面,视觉分析场景并不总是有效的。我建议使用qtcreator的分析。看一下在绘画发生之前重新评估的属性绑定。这可以帮助您确定哪些属性更改已触发重绘,并可以为您提供有关如何优化场景的一些提示。
如果您只想计算fps或记录正在绘制的帧,请检查QQuickWindow::frameSwapped信号。