Français
Appearance
Français
Appearance
Ce document explore en profondeur la conception architecturale, la sélection technologique et la logique d'implémentation sous-jacente des fonctionnalités clés de WSL Dashboard, dans le but de fournir une perspective technique approfondie pour les développeurs et les utilisateurs avancés.
WSL Dashboard adopte une architecture classique UI réactive + tâches backend asynchrones, exploitant le système de types et le modèle de propriété du langage Rust pour garantir la sécurité de la mémoire et de hautes performances concurrentielles.
L'application obtient l'état des instances en temps réel en appelant wsl.exe --list --verbose et en analysant sa sortie (traitement de l'encodage UTF-16).
La fonction de migration exploite le mécanisme d'importation et d'exportation de WSL, mais avec un traitement hautement abstrait et atomisé.
La fonctionnalité réseau n'est pas seulement un appel simple à netsh interface portproxy.
wsl hostname -I, mappe automatiquement l'IP réseau virtuel entre l'hôte et l'instance.Utilise l'interface en ligne de commande de usbipd-win.
L'application surveille son propre usage de ressources en appelant les API natives Windows (comme GetProcessMemoryInfo).
| Métrique | Objectif/Mesuré | Méthode d'optimisation |
|---|---|---|
| Vitesse de démarrage | < 500ms | Précompiler l'interface Slint, réduire l'analyse au moment de l'exécution. |
| Mémoire de base (tray) | ~10MB | Minimiser la fréquence de sondage en arrière-plan, libérer les caches de rendu au besoin. |
| Utilisation CPU (statique) | < 0.1% | Utiliser le modèle d'événements Windows, éviter le sondage de boucle vide. |
| Taux de rendu | 60 FPS | Accélération GPU Skia, rendu avec anti-aliasing subpixel. |
Pour garantir la fluidité de l'UI, toutes les opérations consommatrices de temps (comme l'exportation VHDX) sont distribuées via des tâches asynchrones :
Command.tokio::sync::mpsc au processeur de tâches en arrière-plan.~\.wsldashboard, sans synchronisation cloud, protégeant la vie privée de l'utilisateur.