Windows 10 i 11: dlaczego przeglądarka zdjęć zajmuje tyle miejsca?
Systemowa aplikacja Zdjęcia Microsoft, obecna w Windows 10 i 11, waży w najnowszej wersji ponad 850 megabajtów. To aż trzydziestokrotnie więcej niż IrfanView. Co zajmuje aż tyle miejsca? Obsługa sztucznej inteligencji.
Po naszym ostatnim poradniku na temat zastępowania aplikacji Zdjęcia znanym z Windows 7 podglądem obrazów (bardzo lekkim programem) pojawiło się wiele komentarzy od czytelników. Pytano, co tyle waży w systemowej przeglądarce obrazów.
Domyślną hipotezą wśród wielu użytkowników jest to, że jakość oprogramowania ogólnie spadła, umiejętności programistów Microsoftu też, i efektem jest spuchnięcie aplikacji do setek megabajtów. To jednak nie jest główny powód. Można się o tym przekonać, zaglądając do środka.
Ale najpierw warto wspomnieć o zmianach w rozmiarze wynikających z samego przejścia aplikacji na format APPX, instalowanej do katalogu WindowsApps. Takie aplikacje są zaopatrzone w zbiór manifestów, certyfikatów i zasobów. Dodatkowo, celem uniknięcia zjawiska DLL Hell, są zaopatrzone w bezpośrednie biblioteki uruchomieniowe, zamiast polegania na systemowych.
Dalsza część artykułu pod materiałem wideo
Biblioteki
Przed przejściem aplikacji ze środowiska UWP na natywne, z aplikacją Zdjęcia rozprowadzany był runtime celujący w systemowe API WinRT+UWP. Obecnie z aplikacją rozprowadzany jest kompletny runtime, a więc CoreCLR, WinUI i wykorzystywane biblioteki z Windows App SDK. Ich obecność wynika ze sposobu pakietowania aplikacji, niezależnie od funkcjonalności.
Aplikacja korzysta też z zewnętrznych bibliotek, które dostarcza ze sobą. Są to między innymi SQLite3, OpenSSL, LINQ, OpenID Connect, Newtonsoft JSON.NET i MS QUIC SDK. Nie są one obecne w systemie, aplikacja nie korzysta też z .NET Framework, a aplikacje sklepowe (celowo) nie obsługują zależności, więc Zdjęcia muszą te biblioteki dostarczyć same. Oczywiście inną sprawą jest to, do czego przeglądarce obrazów potrzebne jest sięganie do tak dużej liczby bibliotek…
Chmura i OCR
Nie są to jednak największe pliki w aplikacji (choć powyższe sumują się na kilkaset megabajtów). Jednym z najcięższych komponentów jest biblioteka komunikacji z API Microsoft Graph w wersji beta (140 megabajtów). Służy ona do wspomaganego chmurowo wytyczania map zależności między zasobami użytkownika (Outlook, OneDrive, Teams, Copilot). Dokładny zakres tego wspomagania jest nieznany.
Kolejnym najcięższym elementem jest OCR - bardzo pożądany dodatek, brakujący w Windowsie w szerszej formie (częściowo te braki niweluje Office). OCR jest dostarczany razem z wyuczonym modelem. Moduł i model OCR zajmują 110 megabajtów. Jest to ten sam moduł, który jest obecny także w aplikacji Narzędzie Wycinanie. W obu przypadkach są zaopatrzone w bibliotekę wykonawczą ONNX, silnik uczenia maszynowego AI, działający na CPU, GPU i NPU.
Magiczna gumka
Na szczycie listy rozmiarów plików znajduje się model AI ONNX o nazwie "Mager", ważący wraz z biblioteką wspomagającą ponad 300 megabajtów! Należą one do wewnętrznego projektu naukowców w Microsofcie (ASG), znanego pod nazwą Perceptive Shell. Komponent ten nie jest udokumentowany, a jedyna wzmianka o nim od Microsoftu to oferta pracy na stanowisku Principal Group Software Engineering Manager (w Indiach).
"Mager" to skrót od "Magic Eraser". Jest to wewnętrzna nazwa funkcji aplikacji Zdjęcia, jaką jest wymazywanie generatywne. Pozwala ono usunąć obiekt ze zdjęcia tak, by wypełnić powstałą po nim dziurę tłem lub otoczeniem, w niezauważalny sposób. Najcięższymi składnikami systemowej aplikacji zdjęcia są zatem komponenty edycyjne. W dalszej kolejności są to baza danych oraz silniki tagowania, wyszukiwania i udostępniania.
Dokładnie takie elementy (choć oczywiście bez AI) były obecne w systemowej Galerii Fotografii w systemie Windows Vista. Powszechnie uważano je za ciężkie, nierzadko zbędne i czyniące aplikację ciężką (kazała na siebie czekać) - co było wysoce niepożądaną cechą w zwykłej przeglądarce obrazów, która powinna być jak najmniejsza. Dlatego Windows 7 zastąpił ciężką Galerię małym i żwawym podglądem. Microsoft zapomniał o tej lekcji.
Kamil J. Dudek, współpracownik dobreprogramy.pl