Polski
Appearance
Polski
Appearance
Niniejszy dokument szczegółowo omawia projekt architektoniczny WSL Dashboard, wybór technologii oraz logikę implementacji kluczowych funkcji, zapewniając programistom i zaawansowanym użytkownikom spojrzenie z techniczną głębią.
WSL Dashboard wykorzystuje klasyczną architekturę „reaktywny UI + asynchroniczne zadania w tle”, korzystając z systemu typów i modelu własności Rust, aby zapewnić bezpieczeństwo pamięci i wysoką wydajność przy pracy współbieżnej.
Aplikacja uzyskuje stan instancji w czasie rzeczywistym, wywołując wsl.exe --list --verbose i analizując jego wynik (z obsługą kodowania UTF-16).
Funkcja migracji wykorzystuje mechanizm importu/eksportu WSL, ale z wysokim stopniem abstrakcji i atomowości.
Funkcje sieciowe to nie tylko wywołanie netsh interface portproxy.
wsl hostname -I, automatycznie mapuje wirtualne adresy IP hosta i instancji.Wykorzystywany jest interfejs wiersza poleceń usbipd-win.
Aplikacja monitoruje własne zużycie zasobów, wywołując natywne API Windows (np. GetProcessMemoryInfo).
| Wskaźnik | Cel/fakt | Metoda optymalizacji |
|---|---|---|
| Szybkość uruchamiania | < 500 ms | Wstępna kompilacja interfejsu Slint, mniej analiz w czasie wykonania. |
| Podstawowa pamięć (zasobnik) | ~10 MB | Minimalizacja częstotliwości odpytywania w tle, zwalnianie bufora renderowania na żądanie. |
| Zużycie CPU (w spoczynku) | < 0,1% | Zdarzeniowy model Windows, brak pustych pętli odpytywania. |
| Częstotliwość klatek renderowania | 60 FPS | Przyspieszenie GPU przez Skia, subpikselowe wygładzanie. |
Aby zapewnić płynność UI, wszystkie kosztowne operacje (np. eksport VHDX) są dystrybuowane przez zadania asynchroniczne:
Command.tokio::sync::mpsc do procesora zadań w tle.~\.wsldashboard, bez żadnej synchronizacji w chmurze, co chroni prywatność użytkownika.