Используйте следующие вопросы и ответы, чтобы лучше понять поддержку устройств на основе Arm, работающих в Windows.
Устройства на основе arm становятся все более популярными. Хотя Windows поддерживает эмуляцию для приложений с архитектурой на основе x64 или x86, обеспечивая встроенную сборку приложения Windows, вы сможете повысить производительность и предоставить клиентам лучший интерфейс при использовании устройства на основе Arm.
Почему приложение обновляется на Arm, когда x64 и x86 поддерживаются с помощью эмуляции в Windows 11?
Хотя ваши клиенты смогут использовать приложение на основе x64 или x86 на устройстве Arm, производительность, связанная с эмуляцией. Обратитесь к клиентам с собственной версией приложений Windows, чтобы обеспечить оптимальную производительность, скорость реагирования и оптимизированную работу батареи на устройстве Arm.
См. статью "Добавление поддержки Arm" в приложение Для Windows.
Поддерживаются ли драйверы эмуляцией? Или мне нужно добавить встроенную поддержку Arm64 для любых драйверов, используемых в моем приложении?
Во всех случаях драйверы в режиме ядра и драйверы печати в пользовательском режиме должны быть созданы как собственные двоичные файлы Arm64 для работы на устройствах Arm64. Кроме того, невозможно выполнить программу установки x86 или x64 для установки драйвера Arm64 на устройствах Arm64. См. статью "Создание драйверов Arm64 с помощью WDK".
Visual Studio и Visual Studio Code предлагают собственные версии Arm для установки.
См. статью "Добавление поддержки Arm" в приложение Windows — тестирование и отладка. Для тестирования потребуется устройство Windows на arm, например комплект средств разработки Для Windows 2023 или виртуальная машина Windows 11 Arm64.
Существует несколько способов решения сценария, когда приложение Windows использует 3-стороннюю зависимость, которая еще не обновлена для Arm. Сначала рекомендуется обратиться к владельцу зависимости, чтобы узнать, планируется ли обновить зависимость для поддержки Arm. Вы также можете проверить ресурсы, такие как NuGet или vcpkg, или обратиться к сообществу Arm Open Source для обновления зависимостей (например , Linaro). Вы можете переписать зависимость самостоятельно. Возможно, вы сможете помочь в программе Microsoft App Assure. Или вы можете написать приложение с помощью Arm64EC, что позволяет смешивать код x64 и Arm64 для частичной реализации Arm, ориентированной на оптимизацию наиболее важных аспектов приложения для Arm.
См. статью "Настройка проектов C++ для процессоров Arm".
Вы можете заметить следующие каталоги на устройстве Windows, используемые для установки и хранения различных типов файлов приложений.
C:\Program Files
: этот каталог используется для приложений x64, приложений Arm64, приложений Arm64X. Дополнительные сведения о переносе приложения в Arm64 или сборке двоичных файлов Arm64X.C:\Program Files (x86)
: этот каталог используется для приложений x86. Узнайте больше о том, как работает эмуляция x86 в Arm.C:\Program Files (Arm)
: этот каталог использовался для 32-разрядных приложений Arm, которые больше не поддерживаются в будущих версиях Windows.
Сведения о создании и развертывании виртуальных машин Windows 11 Arm64 с помощью процессоров Ampere Altra Arm в Azure см. в кратком руководстве по созданию виртуальной машины Windows на arm в портал Azure. Вы также можете создать windows на виртуальной машине Arm локально с windows на устройстве Arm с помощью Hyper-V.
Да, вы можете. Самый простой способ сделать это — скачать Windows 11 на VHDX предварительной версии Arm из скачиваемой предварительной версии Windows и использовать его для создания виртуальной машины.
Доступны ли учебные курсы для добавления поддержки Arm в приложение Windows и запуска виртуальной машины для тестирования и отладки?
Да, см . общие сведения о Windows в Arm— перенос приложения .NET для встроенной поддержки процессоров на основе Arm.
Поддерживается ли выборка ЦП с помощью средства записи производительности Windows на виртуальных машинах Hyper-V на основе ARM?
Да, но эта функция в настоящее время доступна только в канале Канари предварительной оценки Windows. Если вы хотите зарегистрировать физическое устройство ARM, на котором размещаются виртуальные машины в канале Canary, выборка ЦП будет поддерживаться на виртуальных машинах; Эта функция уже поддерживается на физических устройствах ARM. Пример использования: wpr -start cpu
.