Français
Appearance
Français
Appearance
Ce document explore en profondeur la conception architecturale de WSL Dashboard, les choix technologiques et la logique d'implémentation sous-jacente des fonctionnalités clés, afin d'offrir une perspective technique approfondie aux développeurs et aux utilisateurs avancés.
WSL Dashboard adopte l'architecture classique de UI réactive comme moteur + tâches asynchrones en arrière-plan, exploitant le système de types et le modèle de propriété du langage Rust pour garantir la sécurité mémoire et les hautes performances concurrentes.
L'application obtient l'état des instances en temps réel en appelant wsl.exe --list --verbose et en analysant sa sortie (en gérant l'encodage UTF-16).
La fonction de migration exploite le mécanisme d'importation/exportation de WSL, mais avec une haute abstraction et un traitement atomique.
La fonction réseau n'est pas un simple appel à netsh interface portproxy.
wsl hostname -I, elle mappe automatiquement l'IP du réseau virtuel entre l'hôte et l'instance.Utilise l'interface de ligne de commande de usbipd-win.
L'application surveille sa propre utilisation des ressources via des API natives Windows (comme GetProcessMemoryInfo).
| Indicateur | Objectif/mesuré | Moyens d'optimisation |
|---|---|---|
| Vitesse de démarrage | < 500ms | Interface Slint précompilée, réduisant l'analyse à l'exécution. |
| Mémoire de base (barre système) | ~10Mo | Minimiser la fréquence de sondage en arrière-plan, libérer les caches de rendu à la demande. |
| Utilisation CPU (au repos) | < 0.1% | Utiliser le modèle événementiel de Windows pour éviter les sondages en boucle vide. |
| Fréquence de rendu | 60 FPS | Accélération GPU Skia, rendu anticrénelé subpixel. |
Pour garantir la fluidité de l'UI, toutes les opérations coûteuses (comme l'exportation VHDX) sont réparties via des tâches asynchrones :
Command.tokio::sync::mpsc.~\.wsldashboard, sans aucune synchronisation cloud, protégeant la vie privée des utilisateurs.