Fix high CPU usage when a room is open

This commit is contained in:
Nicolas Werner 2021-07-10 17:21:15 +02:00
parent b064eb34aa
commit d61a9c718a
No known key found for this signature in database
GPG Key ID: C8D75E610773F2D9
5 changed files with 34 additions and 35 deletions

View File

@ -5,7 +5,6 @@
import "./delegates"
import "./emoji"
import "./ui"
import Qt.labs.platform 1.1 as Platform
import QtGraphicalEffects 1.0
import QtQuick 2.12
@ -413,6 +412,7 @@ ScrollView {
visible: chat.model && chat.model.paginationInProgress
z: 3
}
}
Platform.Menu {

View File

@ -6,9 +6,8 @@ import "./components"
import "./delegates"
import "./device-verification"
import "./emoji"
import "./voip"
import "./ui"
import "./voip"
import Qt.labs.platform 1.1 as Platform
import QtGraphicalEffects 1.0
import QtQuick 2.9

View File

@ -65,9 +65,9 @@ Rectangle {
url: avatarUrl.replace("mxc://", "image://MxcImage/")
displayName: roomName
onClicked: {
if (room) {
if (room)
room.openRoomSettings();
}
}
}

View File

@ -2,10 +2,9 @@
//
// SPDX-License-Identifier: GPL-3.0-or-later
import QtQuick 2.12
import QtGraphicalEffects 1.12
import "./animations"
import QtGraphicalEffects 1.12
import QtQuick 2.12
Item {
id: spinner
@ -76,48 +75,62 @@ Item {
BlinkAnimation {
id: anim1
target: rect1
running: spinner.running
pauseDuration: spinner.pauseDuration
glowDuration: spinner.glowDuration
loops: Animation.Infinite
offset: 0 / spinner.barCount
}
BlinkAnimation {
id: anim2
target: rect2
running: spinner.running
pauseDuration: spinner.pauseDuration
glowDuration: spinner.glowDuration
offset: 1 / spinner.barCount
}
BlinkAnimation {
id: anim3
target: rect3
running: spinner.running
pauseDuration: spinner.pauseDuration
glowDuration: spinner.glowDuration
offset: 2 / spinner.barCount
}
BlinkAnimation {
id: anim4
target: rect4
running: spinner.running
pauseDuration: spinner.pauseDuration
glowDuration: spinner.glowDuration
offset: 3 / spinner.barCount
}
BlinkAnimation {
id: anim5
target: rect5
running: spinner.running
pauseDuration: spinner.pauseDuration
glowDuration: spinner.glowDuration
offset: 4 / spinner.barCount
}
BlinkAnimation {
id: anim6
target: rect6
running: spinner.running
pauseDuration: spinner.pauseDuration
glowDuration: spinner.glowDuration
offset: 5 / spinner.barCount
}
transform: Matrix4x4 {
@ -126,25 +139,6 @@ Item {
}
Timer {
// ----- Private Properties ----- //
property int _barIndex: 0
interval: 80
repeat: true
running: spinner.running
onTriggered: {
if (_barIndex === spinner.barCount) {
_barIndex = 0;
stop();
} else {
anims[_barIndex].start();
_barIndex++;
}
}
Component.onCompleted: start()
}
Glow {
anchors.fill: row
radius: 14

View File

@ -2,25 +2,31 @@
//
// SPDX-License-Identifier: GPL-3.0-or-later
import QtQuick 2.12
import QtGraphicalEffects 1.12
import QtQuick 2.12
SequentialAnimation {
property alias target: numberAnimation.target
property alias glowDuration: numberAnimation.duration
property alias pauseDuration: pauseAnimation.duration
property int pauseDuration: 150
property double offset: 0
loops: Animation.Infinite
PauseAnimation {
duration: pauseDuration * offset
}
NumberAnimation {
id: numberAnimation
property: "opacity"
from: 0
to: 1
}
PauseAnimation {
id: pauseAnimation
duration: pauseDuration * (1 - offset)
}
}
}