MangaReader icon indicating copy to clipboard operation
MangaReader copied to clipboard

Большое потребление памяти

Open MonkAlex opened this issue 6 years ago • 6 comments

На базе размером в 100-150мб приложение может потреблять порядка 1гб памяти. При этом, если походить по вкладкам настроек или поиска, библиотека может сломаться (пока подозрение на GC).

По памяти - надо понять, куда столько уходит, пооптимизировать. По визуальной части библиотеки - надо найти причину и починить.

MonkAlex avatar Nov 27 '19 18:11 MonkAlex

Память уходит на картинки. GC их выгружает (т.к. они созданы исключительно для отображения, их действительно можно выгрузить).

При работе под dotMemory библиотека не ломается, картинки загружаются обратно корректно.

MonkAlex avatar Jan 07 '20 12:01 MonkAlex

Рендер всё ещё ломается, но непонятно - на чём. Пока есть подозрение, что дело в параллельным обращениям к разным моделькам (поиска и библиотеки например), но подтвердить не удалось.

Для оптимизации стоит посмотреть в сторону виртуализации, но тут непонятно что делать с разметкой - сейчас используется wrappanel (для библиотеки и поиска), а виртуализации готовые только для stackpanel.

MonkAlex avatar Jan 08 '20 15:01 MonkAlex

Вчера было почти стабильное проявление на открытии свойств разной манги подряд.

MonkAlex avatar Feb 26 '20 09:02 MonkAlex

Стабильное проявление:

  1. Открыть библиотеку.
  2. Клацнуть диалог удаления истории
  3. Отменить
  4. Открыть свойства

В фоне упадёт IPNC, см https://github.com/AvaloniaUI/Avalonia/issues/3468#issuecomment-602276073

Есть и другие проявления, но их стабильно не удалось достать.

MonkAlex avatar Mar 22 '20 21:03 MonkAlex

Баг с пропаданием контента исправлен.

Проблема с пожиранием памяти осталась, как выше и написано - требуется виртуализация, а её никак просто не включить.

MonkAlex avatar Apr 05 '20 13:04 MonkAlex

Доходит до 2гб, выглядит на самом деле близко к критичному. Посмотреть на авалонию в 0.10, возможно получится сделать всё таки библиотеку с виртуализацией.

MonkAlex avatar Jul 12 '20 17:07 MonkAlex