Skip to content

qml: improve history list scrolling performance#10615

Open
f321x wants to merge 3 commits into
spesmilo:masterfrom
f321x:better_scrolling_qml
Open

qml: improve history list scrolling performance#10615
f321x wants to merge 3 commits into
spesmilo:masterfrom
f321x:better_scrolling_qml

Conversation

@f321x
Copy link
Copy Markdown
Member

@f321x f321x commented Apr 28, 2026

Some performance improvements attempting to make scrolling through a large history smoother on QML.

@f321x f321x added the gui-qml label Apr 28, 2026
@f321x f321x marked this pull request as draft April 29, 2026 12:08
f321x added 3 commits April 30, 2026 10:35
Disables the Material design ovelay background on HistoryItemDelegate
to prevent flickering when scrolling and loading the app.

Sets reuseItems and cacheBuffer in history ElListView to reuse delegate
instances instead of destroying and re-creating them each time they
become (in-)visible. This makes scrolling through a large history
smoother.
From the Qt docs (https://doc.qt.io/qt-6/qml-qtquick-image.html#sourceSize-prop):
```
Unlike the width and height properties, which scale the painting of the image, this property sets the maximum number of pixels stored for the loaded image so that large images do not use more memory than necessary.
```

When we want to display e.g. the clock icon in iconSizeLarge we only need to keep
iconSizeLarge with/height pixels in memory instead of the whole 256x256 icon.
Don't update the fiat values during scrolling through the history
with the thing on the right side (drag scrolling), this should
improve the performance of the list when doing a quick drag scroll.
@f321x f321x force-pushed the better_scrolling_qml branch from 09b5f43 to 3d8faba Compare April 30, 2026 08:39
@f321x f321x marked this pull request as ready for review April 30, 2026 08:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant