2.2 (но суть наверное не в этом). Программа для обработки фотографий нейронкой (object detection). 
                  
                  
                  
                  
                  
                  У меня есть очень странный баг.
                  
                  
                  
                  
                  
                  Программа загружает фотографии в галерею.
                  
                  
                  
                  
                  
                  И потом можно их скроллить выбирать и так далее.
                  
                  
                  
                  
                  
                  На Linux/Cent OS/MacOs все работает хорошо.
                  
                  
                  
                  
                  
                  Программа асинхронно в несколько потоков грузит фотографии. Потребление памяти не больше и не растёт. Всё хорошо.
                  
                  
                  
                  
                  
                  На Windows программа также работает хорошо но до какого то момента.
                  
                  
                  Если ей на вход подать более 400-500 фотографий то она где-то после 300-400 фото начинает ооочень медленно грузить фотки и потом вообще виснит и отваливается.
                  
                  
                  
                  
                  
                  Притом потребление памяти такое же как на Linux. То есть не больше примерно 1.5-2gb и не растёт (это происходит потому что при загрузке фото она их жмёт в миниатюры для превью в галерее) а потом когда фотографии загружены то потребление памяти снижается до 300мб. И тоже не растёт если увеличивать количество фото.
                  
                  
                  
                  
                  
                  Мне кажется что это проблема не в программе а в проводнике?
                  
                  
                  Проводник Шindoшs не умеет в индексацию большого количества файлов и не отдаёт их?
                  
                  
                  Или в чем может быть проблема.
                  
                  
                  
                  
                  
                  На Linux я загружал 1 000 000 фото 4000x4000 px. И программа справлялась и нигде не висла. И потребление памяти не росло.
                  
                  
                  А на винде... Если в папке больше 400-500 фото такого же размера то после 300 фото прога начитает тормозиь.
                  
                  
                  
                  
                  
                  Притом если там допустим 390 фото то программа их кушает нормально.
                  
                  
                  
                  
                  
                  Вот код загрузки фотографии
                  
                  
                  
                  
                  
                  Загрузка самого кадра:
                  
                  
                  60 строчка 
                  
                  
                  
                  
                  
                  https://github.com/lizaalert/lacmus/blob/master/RescuerLaApp/Models/Frame.cs#L60
                  
                  
                  
                  
                  
                  
                  
                  
                  Вот код в vm (открывается проводник берутся файлы...)
                  
                  
                  239 строчка 
                  
                  
                  
                  
                  
                  https://github.com/lizaalert/lacmus/blob/master/RescuerLaApp/ViewModels/MainWindowViewModel.cs#L239
                  
                  
                  
                  
                  
                  Вот этот же код но только вырезанный
                  
                  
                  
                  
                  
                  var loadingFrames = new List<Frame>();
                  
                  
                                  foreach (var fileName in fileNames)
                  
                  
                                  {
                  
                  
                                     ... 
                  
                  
                                      frame.Load(fileName, Enums.ImageLoadMode.Miniature);
                  
                  
                                      loadingFrames.Add(frame);
                  
                  
                                  }
                  
                  
                
@Avalonia https://gitter.im/AvaloniaUI/Avalonia
@kekekeks
1) аппаратное ускорение включил?
Обсуждают сегодня