FrameTimer QML 类型

提供有关指定窗口的帧率信息。更多...

导入声明import QtApplicationManager 2.0

属性

方法

详细说明

FrameTimer 用于获取特定窗口的帧率信息。窗口可以是顶层窗口(来自 QtQuick.Window 模块)或 WindowObject(来自 QtApplicationManager.SystemUI 模块)。

下面的示例展示了如何使用 FrameTimer 显示窗口的帧率

import QtQuick 2.11
import QtApplicationManager 1.0

Window {
    id: toplevelWindow
    ...
    FrameTimer {
        id: frameTimer
        running: topLevelWindow.visible
        window: toplevelWindow
    }
    Text {
        text: "FPS: " + Number(frameTimer.averageFps).toLocaleString(Qt.locale("en_US"), 'f', 1)
    }
}

如果您想按时间绘制其之前的值,也可以将此组件用作 MonitorModel 数据源

import QtQuick 2.11
import QtApplicationManager 1.0

Window {
    id: toplevelWindow
    ...
    MonitorModel {
        running: true
        FrameTimer {
            window: toplevelWindow
        }
    }
}

请注意,当将 FrameTimer 用作 MonitorModel 数据源时,无需设置为 running,因为 MonitorModel 已经在需要时调用 update()

属性文档

[只读] averageFps : real

自上次调用 update()(手动或自动,如果 running 设置为 true)以来,指定 window 的平均帧率,以每秒帧数计。

另请参阅 windowrunningupdate()


interval : int

runningtrue 时,update() 调用的间隔,以毫秒计。

另请参阅 update()running


[只读] jitterFps : real

自上一次调用 update() 方法(无论是手动还是当 running 设置为 true 时的自动)以来,给定窗口的帧率抖动,以每秒帧数(fps)计。

另请参阅 windowrunningupdate()


[只读] maximumFps : real

自上一次调用 update() 方法(无论是手动还是当 running 设置为 true 时的自动)以来,给定窗口的最高帧率,以每秒帧数(fps)计。

另请参阅 windowrunningupdate()


[只读] minimumFps : real

自上一次调用 update() 方法(无论是手动还是当 running 设置为 true 时的自动)以来,给定窗口的最小帧率,以每秒帧数(fps)计。

另请参阅 windowrunningupdate()


[只读] roleNames : list<string>

当作为 MonitorModel 数据源使用时,FrameTimer 提供的角色名称。

也见 MonitorModel.


running : bool

如果设置为 true,则将在每 interval 毫秒自动调用 update()

当使用 FrameTimer 作为 MonitorModel 数据源时,应将此属性保持为 false

也见 update()interval.


window : Object

要监控的窗口,将从该窗口收集帧率信息。它可以是顶级 Window(来自 QtQuick.Window 模块)或 WindowObject(来自 QtApplicationManager.SystemUI 模块)。

也见 WindowObject.


方法文档

update()

更新属性 averageFpsminimumFpsmaximumFpsjitterFps。然后重置内部计数器,以便从调用此方法的那一刻起开始的新时间段取新数值。

请注意,通常您不需要直接调用此方法,因为当 FrameTimer 设置为 running 时,它将在每 interval 毫秒自动执行。

也见 running.


©2019 瑞典Luxoft AB。其中包含的文档贡献是各自所有者的版权。提供的文档是根据自由软件基金会发布的、GNU自由文档许可证版本1.3的条款进行许可的。Qt及相应的标志是芬兰Qt公司及其它国家/地区的商标。所有其他商标均为其各自所有者的财产。