Obsługa 86-bitowych aplikacji x64 nigdy nie pojawi się w systemie Windows 10 na ARM

Ikona czasu czytania 2 minuta. czytać


Czytelnicy pomagają wspierać MSpoweruser. Możemy otrzymać prowizję, jeśli dokonasz zakupu za pośrednictwem naszych linków. Ikona podpowiedzi

Przeczytaj naszą stronę z informacjami, aby dowiedzieć się, jak możesz pomóc MSPoweruser w utrzymaniu zespołu redakcyjnego Czytaj więcej

Windows 10 na ARM wkrótce otrzyma natywny pakiet SDK ARM64, pozwalający programistom na kodowanie bezpośrednio dla procesora ARM64, ale to nie rozwiąże problemu istniejących wysokowydajnych aplikacji, takich jak wiele aplikacji Creative Cloud, które nie są dostępne w 86-bitowych wersjach x32.

W rozmowie z ZDNet, Dyrektor generalny systemu Windows, Erin Chapple, ujawniła, że ​​może to być problem, który nigdy nie zostanie rozwiązany.

„Emulacja x64 w połączeniu z x86 podwaja pracę inżynieryjną” – powiedziała ZDNet Erin Chapple. „Ponadto system Windows obsługuje tylko warstwę abstrakcji Windows on Windows (WOW) dla aplikacji 32-bitowych, a nie aplikacji 64-bitowych. Musielibyśmy dodać obsługę 64-bitowego systemu Windows w warstwie Windows”.

Byłaby to nowa praca, a nie po prostu dostosowanie istniejącej obsługi 32-bitowej w 64-bitowym systemie Windows do uruchamiania aplikacji x86 na ARM.

„Jest to technicznie możliwe, [ale] jest to kompromis między zasobami niezbędnej pracy a korzyścią dla użytkownika. Kiedy przyjrzeliśmy się naszej telemetrii dla najczęściej używanych aplikacji w systemie Windows, okazało się, że większość z nich ma wersje x86. Wiele aplikacji ma również tylko wersje x86. Większość aplikacji 64-bitowych to gry, które są poza docelowym klientem tego urządzenia. Wreszcie te aplikacje, które są 64-bitowe, zazwyczaj chcą działać natywnie ze względu na wydajność. W rezultacie postanowiliśmy skoncentrować nasze inwestycje inżynieryjne na natywnym SDK ARM64, aby umożliwić programistom natywne pisanie aplikacji dla urządzenia”.

Chapple nie uważał, by obawy dotyczące wyników były wiarygodne.

„Jeśli aplikacja korzysta z dysku twardego, grafiki lub sieci, wszystko to działa w jądrze i działa z natywną wydajnością. Jeśli aplikacja jest powiązana z procesorem, zajmuje to więcej czasu niż natywna, ponieważ musi zostać przetłumaczona. Zależy to również od aplikacji. W naszych testach stwierdziliśmy, że większość aplikacji działających w trybie emulacji jest zgodna z oczekiwaniami użytkownika dotyczącymi reakcji” – zauważyła.

Jeśli programista naprawdę potrzebuje 64-bitowej wydajności, najlepiej będzie kodować bezpośrednio dla ARM64. Microsoft planuje ogłosić zestaw SDK dla ARM64 podczas kompilacji 2018.

„Nadal pracujemy nad naszymi planami ARM64 SDK, w tym nad tym, jakie wersje platformy .NET będą obsługiwane” — powiedział Chapple.

Więcej na tematy: Windows 10 na ARM