系统UI和应用程序显示帧率示例

如何使用FrameTimer显示帧率信息。

The "FrameTimer" example with two applications running.

注意:如果您想在Linux机器上构建此示例,请阅读此内容

简介

此示例向您展示了如何使用FrameTimer组件来显示系统UI和应用程序窗口的帧率信息。

系统UI由左侧的一列应用程序图标和右上角的图表组成,显示系统UI本身的平均帧率。更准确地说,这是系统UI的最顶层窗口。如果没有应用程序运行,系统UI的帧率通常保持在1帧每秒(FPS)。这是因为Qt QML应用程序窗口仅在必要时重绘。如果这个窗口没有变化,它就不会重绘。因此,系统UI的帧率为0 FPS。唯一使系统UI在没有应用程序运行时保持在1 FPS的原因是由于每秒更新一次的FPS图表,从而引起系统UI的重绘。这通常被称为观察者效应

鱼应用程序以25 FPS的速度动画化,因此运行它将立即将系统UI的帧率提高到25 FPS。

        Timer {
            running: true
            repeat: true
            interval: 1000 / 25 // 25 frames per second
            onTriggered: {
                rectangle.rotation = (rectangle.rotation + 5) % 360;
            }
        }
    }

    MouseArea {
        id: mouseArea
        anchors.fill: parent
    }
}

兔子应用程序以原生速度动画化,这通常等于系统可以或被配置为完成的最快速度,通常是60 FPS。因此,运行此应用程序将进一步将系统UI的FPS提高到60 FPS。

        RotationAnimation on rotation {
            from: 0; to: 360; loops: Animation.Infinite; duration: 4000
        }
    }

    MouseArea {
        id: mouseArea
        anchors.fill: parent
    }
}

示例项目 @ code.qt.io

© 2024 The Qt Company Ltd. 本文档中包含的文档贡献的版权属于各自的拥有者。本文档根据自由软件基金会上发布的GNU自由文档许可版本1.3的条款提供。Qt及其相关标志是The Qt Company Ltd在芬兰和/或其他国家和地区的商标。所有其他商标归其各自所有者所有。