Italiano
Appearance
Italiano
Appearance
Questo documento fornisce un approfondimento sul design architettonico, le scelte tecnologiche e la logica di implementazione sottostante delle funzionalità chiave di WSL Dashboard, destinato a sviluppatori e utenti avanzati che cercano una prospettiva tecnica.
WSL Dashboard adotta un'architettura classica UI reattiva guidata + task backend asincroni, sfruttando il sistema di tipi e il modello di proprietà di Rust per garantire la sicurezza della memoria e prestazioni ad alta concorrenza.
L'applicazione recupera lo stato delle istanze in tempo reale chiamando wsl.exe --list --verbose e analizzandone l'output (gestione della codifica UTF-16).
La funzione di migrazione sfrutta il meccanismo import/export di WSL, ma con un alto livello di astrazione e atomicità.
La funzione di rete va oltre una semplice chiamata netsh interface portproxy.
wsl hostname -I, mappa automaticamente gli IP di rete virtuali tra host e istanza.Sfrutta l'interfaccia a riga di comando usbipd-win.
L'app monitora il proprio utilizzo delle risorse chiamando API Windows native (es. GetProcessMemoryInfo).
| Metrica | Obiettivo / Misurato | Approccio di ottimizzazione |
|---|---|---|
| Tempo di avvio | < 500ms | Interfaccia Slint pre-compilata, minimizzazione del parsing a runtime. |
| Memoria di base (tray) | ~10MB | Frequenza di polling in background minimizzata, rilascio della cache di rendering su richiesta. |
| Utilizzo CPU (inattivo) | < 0.1% | Modello Windows basato su eventi, nessun polling busy-loop. |
| Frame rate di rendering | 60 FPS | Accelerazione GPU Skia, rendering anti-aliasing sub-pixel. |
Per garantire la reattività dell'UI, tutte le operazioni che richiedono tempo (es. esportazione VHDX) vengono inviate come task asincroni:
Command.tokio::sync::mpsc.~\.wsldashboard senza alcuna sincronizzazione cloud, proteggendo la privacy dell'utente.