Open MonkAlex opened 5 years ago
Память уходит на картинки. GC их выгружает (т.к. они созданы исключительно для отображения, их действительно можно выгрузить).
При работе под dotMemory библиотека не ломается, картинки загружаются обратно корректно.
Рендер всё ещё ломается, но непонятно - на чём. Пока есть подозрение, что дело в параллельным обращениям к разным моделькам (поиска и библиотеки например), но подтвердить не удалось.
Для оптимизации стоит посмотреть в сторону виртуализации, но тут непонятно что делать с разметкой - сейчас используется wrappanel (для библиотеки и поиска), а виртуализации готовые только для stackpanel.
Вчера было почти стабильное проявление на открытии свойств разной манги подряд.
Стабильное проявление:
В фоне упадёт IPNC, см https://github.com/AvaloniaUI/Avalonia/issues/3468#issuecomment-602276073
Есть и другие проявления, но их стабильно не удалось достать.
Баг с пропаданием контента исправлен.
Проблема с пожиранием памяти осталась, как выше и написано - требуется виртуализация, а её никак просто не включить.
Доходит до 2гб, выглядит на самом деле близко к критичному. Посмотреть на авалонию в 0.10, возможно получится сделать всё таки библиотеку с виртуализацией.
На базе размером в 100-150мб приложение может потреблять порядка 1гб памяти. При этом, если походить по вкладкам настроек или поиска, библиотека может сломаться (пока подозрение на GC).
По памяти - надо понять, куда столько уходит, пооптимизировать. По визуальной части библиотеки - надо найти причину и починить.