Português
Appearance
Português
Appearance
Este documento explora em profundidade o design da arquitetura, as escolhas técnicas e a lógica de implementação subjacente dos recursos principais do WSL Dashboard, com o objetivo de oferecer aos desenvolvedores e usuários avançados uma perspectiva técnica aprofundada.
O WSL Dashboard adota a clássica arquitetura de UI reativa + tarefas assíncronas no backend, usando o sistema de tipos e o modelo de propriedade da linguagem Rust para garantir segurança de memória e alto desempenho de concorrência.
O aplicativo obtém o estado das instâncias em tempo real chamando wsl.exe --list --verbose e analisando sua saída (lidando com a codificação UTF-16).
O recurso de migração aproveita o mecanismo de importação/exportação do WSL, mas com alto nível de abstração e tratamento atômico.
O recurso de rede não é apenas uma simples chamada de netsh interface portproxy.
wsl hostname -I, mapeia automaticamente os IPs da rede virtual entre o host e as instâncias.Utiliza a interface de linha de comando do usbipd-win.
O aplicativo monitora seu próprio consumo de recursos chamando APIs nativas do Windows (como GetProcessMemoryInfo).
| Métrica | Alvo/Medido | Meio de otimização |
|---|---|---|
| Velocidade de inicialização | < 500ms | Interface Slint pré-compilada, reduzindo a análise em runtime. |
| Memória base (bandeja) | ~10MB | Minimizar a frequência de polling em segundo plano, liberar caches de renderização sob demanda. |
| Uso de CPU (em repouso) | < 0,1% | Usar o modelo orientado a eventos do Windows, evitando polling de loop vazio. |
| Taxa de quadros de renderização | 60 FPS | Aceleração de GPU Skia, renderização com anti-aliasing em nível subpixel. |
Para garantir a fluidez da UI, todas as operações demoradas (como exportação de VHDX) são distribuídas por tarefas assíncronas:
Command.tokio::sync::mpsc.~\.wsldashboard, sem qualquer sincronização em nuvem, protegendo a privacidade do usuário.