【问题标题】:QML Rendering Engine: frame refresh eventQML 渲染引擎:帧刷新事件
【发布时间】:2017-08-23 03:39:27
【问题描述】:

Performance Considerations And Suggestions 文章说:

作为应用程序开发人员,您必须努力允许渲染 引擎以实现一致的每秒 60 帧的刷新率。 60 FPS 意味着每个之间大约有 16 毫秒 可以进行处理的框架,其中包括处理 需要将绘制图元上传到图形硬件。

是否有事件或信号或任何形式的回调使代码在刷新时被调用?

目标是消除在 UI 线程槽中处理来自渲染线程的信号的需要。如果新数据到达,那么它将被绘制或标记为下一次刷新(使用update() 调用)。

【问题讨论】:

    标签: c++ qt qml


    【解决方案1】:

    QQuickWindow 有一堆信号用于同步 - beforeRendering()afterRendering()beforeSynchronizing()afterSynchronizing()frameSwapped()。任君挑选。

    【讨论】:

    • 我正在为在自定义引擎驱动的某些 QML 上下文中运行的嵌入式设备编写代码。这意味着在该引擎 QML 容器窗口中进行调整。是否有通过嵌套 QML 类型的条目,例如QQuickItem 还是喜欢?
    • 无需调整任何东西,这些信号存在并在股票实现中发出。你只需要连接到他们。
    • 我可以从代码组织的角度来看它有点麻烦。需要伸手去拿东西。好的是来自同一个线程的那些信号。
    • 鉴于 QML 的设计理念,我想说简单地连接和使用这些信号的选项非常慷慨。在这方面没有什么可取的。我看不出您期望它会变得多么容易。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-05
    • 2013-06-08
    • 1970-01-01
    • 2022-01-03
    • 2014-05-03
    • 2019-04-27
    • 1970-01-01
    相关资源
    最近更新 更多