You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have searched the issue tracker for open issues that relate to the same problem, before opening a new one.
This issue only relates to a single bug. I will open new issues for any other problems.
Describe the bug
Internal caches are currently unlimited in size, and are cleaned out on a fixed 1-minute schedule. This means that within a minute, apps can grow in RAM use unboundedly, possibly leading to out of memory errors, if they create a huge number of cached objects (especially text textures) within that time. For example, scrolling quickly through 10s of thousands of text-heavy list rows (which could contain on the order of 10 canvas.Texts each).
Possible ideas are to take inspiration from the Go GC itself - run our clean tasks more frequently based on use patterns, and have a "soft limit" on cache size which is based on the past patterns of use.
How to reproduce
scroll through many many rows of a text-heavy collection widget (eg extend the list or table in fyne_demo to be a million rows long)
Screenshots
No response
Example code
fyne_demo
Fyne version
develop
Go compiler version
n/a
Operating system and version
n/a
Additional Information
No response
The text was updated successfully, but these errors were encountered:
Checklist
Describe the bug
Internal caches are currently unlimited in size, and are cleaned out on a fixed 1-minute schedule. This means that within a minute, apps can grow in RAM use unboundedly, possibly leading to out of memory errors, if they create a huge number of cached objects (especially text textures) within that time. For example, scrolling quickly through 10s of thousands of text-heavy list rows (which could contain on the order of 10 canvas.Texts each).
Possible ideas are to take inspiration from the Go GC itself - run our clean tasks more frequently based on use patterns, and have a "soft limit" on cache size which is based on the past patterns of use.
How to reproduce
scroll through many many rows of a text-heavy collection widget (eg extend the list or table in fyne_demo to be a million rows long)
Screenshots
No response
Example code
fyne_demo
Fyne version
develop
Go compiler version
n/a
Operating system and version
n/a
Additional Information
No response
The text was updated successfully, but these errors were encountered: