Usare le domande e le risposte seguenti per comprendere meglio il supporto per i dispositivi basati su Arm in esecuzione in Windows.
I dispositivi basati su arm stanno diventando sempre più popolari. Anche se Windows supporta l'emulazione per le app con un'architettura basata su x64 o x86, fornendo una build nativa arm della tua app di Windows migliorerà le prestazioni e offrirà ai clienti l'esperienza migliore quando usi un dispositivo basato su Arm.
Perché aggiornare l'app ad Arm quando x64 e x86 sono entrambi supportati tramite emulazione in Windows 11?
Anche se i clienti potranno usare l'app basata su x64 o x86 nel dispositivo Arm, si verifica un sovraccarico delle prestazioni che comporta l'emulazione. Considera i tuoi clienti con una versione nativa arm delle tue app di Windows per ottenere prestazioni ottimali, velocità di risposta e durata ottimizzata della batteria nel dispositivo Arm.
Vedi Aggiungere il supporto arm alla tua app di Windows.
I driver sono supportati dall'emulazione? In alternativa, è necessario aggiungere il supporto nativo arm64 a qualsiasi driver usato nell'app?
In tutti i casi, i driver in modalità kernel e i driver di stampa in modalità utente DEVONO essere compilati come file binari arm64 nativi per funzionare nei dispositivi Arm64. Inoltre, non è possibile eseguire un programma di installazione x86 o x64 per installare un driver Arm64 nei dispositivi Arm64. Vedi Costruire i driver Arm64 con il WDK.
Sia Visual Studio che Visual Studio Code offrono versioni native arm per l'installazione.
Vedi Aggiungere il supporto arm all'app di Windows - Test e debug. Per i test, è necessario un dispositivo Windows su Arm, ad esempio Windows Dev Kit 2023, oppure è possibile eseguire una macchina virtuale Windows 11 Arm64.
Esistono alcuni modi per affrontare lo scenario in cui l'app di Windows si basa su una dipendenza di terze parti che non è ancora stata aggiornata per Arm. Per prima cosa è consigliabile contattare il proprietario della dipendenza per chiedere se sono previsti piani per aggiornare la dipendenza per supportare Arm. È anche possibile controllare le risorse come NuGet o vcpkg o contattare la community di Arm Open Source per assistenza nell'aggiornamento delle dipendenze, ad esempio Linaro. È possibile riscrivere manualmente la dipendenza. Il programma "App Assure" di Microsoft può essere utile. In alternativa, potresti voler scrivere l'app usando Arm64EC, che ti consente di combinare codice x64 e Arm64 per un'implementazione nativa parziale di Arm incentrata sull'ottimizzazione degli aspetti più importanti dell'app per Arm.
Vedere Configurare progetti C++ per processori Arm.
È possibile notare le directory seguenti nel dispositivo Windows, usate per l'installazione e l'archiviazione di diversi tipi di file dell'applicazione.
C:\Program Files
: questa directory viene usata per applicazioni x64, applicazioni Arm64, applicazioni Arm64X. Altre informazioni su come convertire l'app in Arm64 o compilare file binari Arm64X.C:\Program Files (x86)
: questa directory viene usata per le applicazioni x86. Altre informazioni sul funzionamento dell'emulazione x86 su Arm.C:\Program Files (Arm)
: questa directory è stata usata per le applicazioni Arm a 32 bit, che non sono più supportate nelle versioni future di Windows.
Per informazioni su come creare e distribuire macchine virtuali Windows 11 Arm con processori basati su Arm di Ampere Altra in Azure, vedere Avvio rapido: Creare una macchina virtuale Windows on Arm nel portale di Azure. È anche possibile creare una macchina virtuale Windows in Arm in locale con un dispositivo Windows on Arm usando Hyper-V.
È possibile ospitare una macchina virtuale Windows 11 usando Hyper-V in un dispositivo Windows 11 Arm64?
Si, puoi. Il modo più semplice per farlo consiste nel scaricare Windows 11 in Arm Insider Preview VHDX dai download di Windows Insider Preview e usarlo per creare una macchina virtuale.
Sono disponibili training per l'aggiunta del supporto arm a un'app Windows e l'esecuzione di una macchina virtuale per il test e il debug?
Sì, vedere Introduzione a Windows on Arm - Convertire un'applicazione .NET per supportare in modo nativo i processori basati su Arm.
Il campionamento della CPU con lo strumento Windows Performance Recorder è supportato nelle macchine virtuali Hyper-V basate su ARM?
Sì, ma la funzionalità è attualmente disponibile solo nel canale Canary di Windows Insider Preview . Se si è disposti a registrare il dispositivo ARM fisico che ospita le macchine virtuali nel canale Canary, il campionamento della CPU sarà supportato nelle macchine virtuali; la funzionalità è già supportata nei dispositivi ARM fisici. Utilizzo di esempio: wpr -start cpu
.