C
创建优化演示文稿
Qt 3D Studio应用程序创作环境非常强大且开放,允许基本上无限的设计可能性。您关于如何创作内容所做的决定可以显著影响UI的运行时性能。本文档介绍了一些值得注意的基本原则,这有助于您创建性能良好的演示文稿。
场景图
场景图是描述要渲染的场景的节点层次。
在Studio中,场景图由时间线上类似树的视图表示。场景图由Qt 3D Studio运行时实时管理,因此,通过最小化Studio中场景图的大小,您可以最小化运行时的工作量。
在Qt 3D Studio中,这是主要性能原则。在使用Studio创建演示文稿时,您可能可以通过保持场景图小来最大程度地影响优化的一个方面。尽管为运行时导出的数据经过了积极的优化,但仍建议避免使用不必要的组或图层作为组织工具,并在可能的情况下避免复杂的层次结构。
如果演示文稿变得太大,请考虑是否可以将其拆分为更小的逻辑单元作为独立的演示文稿。
组件
Studio中的组件可以被视为场景中的场景。
组件,如同完整的演示文稿场景一样,有时间和自己的一组幻灯片(包括主幻灯片)。每个组件的时间线独立于场景的其他部分运行,允许时间无关的动画。此外,组件的独立幻灯片集(状态)允许将常见的功能——例如按钮的功能——分解出来并在演示文稿中重用。
虽然这些概念非常强大,但了解使用组件的成本非常重要。
- 向您的组件(或场景)添加幻灯片将增加演示文稿的文件大小和运行时内存需求。存储的逻辑信息以表示每个组件每张幻灯片的状态,尽管有几种优化方法来最小化需要存储的数据量,但添加幻灯片仍然不是“免费”的。
- 对于每一帧,都有与将“全局”时间(由运行时在演示文稿之外生成)转换为每个组件的本地时间相关的微小固定成本。这种转换必须发生,因为组件可能具有比场景更短(或更长)的整体时间条,并且可能循环、反弹或甚至停止。
- 在您的演示文稿中包含组件也增加了场景图的复杂性,而复杂的场景图会降低性能。因此,只有在必要时才应使用组件,例如当您正在利用它们的可重用性或时间上下文(幻灯片和独立的时间线)时。
资产复杂度
您UI的性能可能不是由Qt 3D Studio运行时执行的计算所限制,而可能是在渲染时间上受到瓶颈。无用的优化是浪费时间,因此,找出瓶颈没有替代品,就是进行性能分析。
综上所述,一个可能的优化点是简化您的资产。
- 3D模型
- 使用最少数量的三角形或顶点实现所需外观总是一个好主意。
- 内容创建应用内部的结构被转换为Studio内部的结构。这可能导致复杂的场景图并因此降低性能。如果您认为3D资产中的层次结构对于定位或动画不是必要的,那么将它们合并成更大的网格可能是值得的。
- 图像
- 简而言之,较小的图像需要更少的内存并渲染速度更快。
文件大小
不出所料,与Qt 3D Studio相关的各种文件的大小随着演示复杂性的增加而增加。TITANIC .uip文件在Studio中编辑可能会很痛苦,导出和加载速度较慢,而且在运行时通常使用更多的内存。
总的来说,尽量保持文件大小较小是一个好主意。
我们建议将UI(屏幕、部分)的不同逻辑单元拆分成单独的演示(.uip文件)。这样做可以产生较小的文件,并有可能将制作演示的工作分配给多个艺术家。Studio中的文件保存时间也与演示复杂性直接相关,因此将您的UI拆分成多个.uip
文件可以实现更好的工作流程和更快的UI迭代(更改/测试周期)。
在某些Qt许可证下提供。
了解更多信息。