创建组件后很好地显示Qml-Window

时间:2018-08-10 05:46:21

标签: qml qt5

我想在非常慢的硬件上以全屏模式启动Qt Quick应用程序。这意味着您可以从字面上观看构建的UI。不好 我已经尝试过在窗口的OnCompletion中将visiblity = true设置为真,但这无济于事。

我想在每次加载和布局完成后很好地展示我的应用。

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

前段时间,有blog post写了关于优化Qt Quick应用程序的文章。这是该列表中的“要做”和“不做”的事情:

  

要做:

     
      
  • 设计您的应用程序,使其从头开始快速启动。想想您希望用户首先看到的是什么。
  •   
  • 制作启动动画以允许并行加载。
  •   
  • 使用链式加载。仅运行与CPU中具有内核数量一样多的加载程序(例如,两个内核:两个加载程序同时运行)。
  •   
  • 第一个加载程序不应是异步的。触发其余的装载机。
  •   
  • 创建在需要时加载的QML插件。
  •   
  • 仅在需要时连接到后端服务。
  •   
  • 让QML插件启动非关键服务,并在不再需要时关闭那些服务。
  •   
  • 优化您的png / jpg图片。
  •   
  • 通过减少顶点数量并删除不可见的部分来优化3d模型。
  •   
  • 使用glTF优化3D模型的加载。
  •   
  • 使用Qt Quick Controls 2.0。这些是专为嵌入式使用而设计的,其创建时间比Quick Controls 1.0 for   嵌入式用例。
  •   
  • 限制剪辑和不透明度的使用。
  •   
  • 测量GPU限制,并在设计UI时将其考虑在内。
  •   
  • 使用Qt快速编译器预编译QML文件。
  •   
  • 调查架构是否可以进行静态链接。
  •   
  • 力求声明式绑定而不是命令式信号处理程序。
  •   
  • 保持属性绑定简单。通常,使QML代码保持简单,有趣和易读。表现良好。
  •   
  • 在针对多个平台和外形尺寸时,请使用文件选择器,而不是加载程序和动态组件实例化。   不要害羞地“复制”简单的QML代码并使用文件选择器   加载定制版本。
  •   
     

不要:

     
      
  • 对QML过于关注。即使您使用QML,也不需要绝对执行QML中的所有操作。
  •   
  • 初始化main.cpp中的所有内容。
  •   
  • 创建包含所有require接口的大型单例。
  •   
  • 为Listview创建复杂的委托。
  •   
  • 使用Qt Quick Controls 1.0进行嵌入式。
  •   
  • 如果可能,应完全避免使用夹子。 (98%的用例应该是可能的。)
  •   
  • 陷入过度使用装载机的常见陷阱。加载程序非常适合延迟加载较大的内容(例如应用程序页面),但也引入了   加载简单事物的开销很大。不是黑魔法   加快一切。这是一个额外的项目,另外一个   QML上下文。
  •   
  • 过度使用。最大限度地重复使用代码通常会导致更多的绑定,更多的复杂性和更低的性能。
  •   

Qt文档中还有一个有关性能的页面:

Performance Considerations And Suggestions