Qt Quick Beispiele - Element Variable Bildwiederholrate
Ein Beispiel von Qt Quick zeigt, wie man eine variable Aktualisierungsrate für bestimmte Teile der Benutzeroberfläche einrichtet.
Dieses Beispiel demonstriert die Verwendung der Live-Eigenschaft von Item Layers, um eine variable und unabhängige Aktualisierungsrate für Quick-Elemente zu erhalten. Dies kann die Leistung erheblich steigern, wenn bestimmte Teile einer Benutzeroberfläche nicht bei jedem Frame neu gerendert werden müssen, aber dennoch interne Aktualisierungen erfordern. Das Zeichnen von Teilen, die die meiste Zeit über statisch sind, oder von Animationen, die nicht immer reibungslos ablaufen müssen, ist eine Verschwendung von Ressourcen. Diese Eigenschaft gibt dem Benutzer die Kontrolle darüber, wann das Element gezeichnet wird.
Hinweis: Die Verwendung von Item Layers kann je nach Größe des Teilbaums des überlagerten Elements zu Leistungseinbußen führen, da separate Renderziele (Texturen) verwendet werden, die dann im Haupt-Rendering-Durchgang zusammengemischt werden. Anwendungsentwickler sollten immer die Auswirkungen bewerten, um sicherzustellen, dass die Vorteile der Verwendung von Ebenen die potenziellen Nachteile überwiegen.
Das Beispiel verwendet FrameAnimation, um zu steuern, wie oft das Element gerendert wird. Dies ist nützlich, wenn Sie z. B. nur jedes zweite Bild rendern möchten. Die Verwendung eines Timers oder einer anderen Mechanik zum Umschalten des Flags ist ebenfalls möglich.
FrameAnimation { id: frameAnimation property real fps: smoothFrameTime > 0 ? (1.0 / smoothFrameTime) : 0 running: true }
Im obigen Schnipsel dient die Eigenschaft fps nur der visuellen Veranschaulichung.
Für das Element muss layer.enabled auf true gesetzt werden, und dann wird das Element abhängig vom Zustand von layer.live gerendert, wie im folgenden Ausschnitt gezeigt.
Item { id: qt_logo width: 230 height: 230 anchors.fill: parent anchors.topMargin: 125 layer.enabled: true layer.live: slider.value > 0 && frameAnimation.currentFrame % slider.value == 0
Mit dem Modulo-Operator und einem Schieberegler können wir dynamisch ändern, wie oft das Qt-Logo gerendert wird.
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.