Windows 10 on ARM: Neue Entwicklungswerkzeuge für ARM64 sind verfügbar

Während Windows-10-on-ARM-Hardware noch immer Mangelware ist , aber immerhin Verfügbarkeit besteht, werden so langsam die Werkzeuge fertig, die eine Optimierung der Anwendungen erlauben. Microsoft ruft gleichzeitig die Kunden dazu auf, bei den Entwicklern anzufragen, ob sie ihre Anwendungen nicht neu kompilieren können, denn der Aufwand soll minimal sein. Der Vorteil: die x86-Emulation muss nicht mehr genutzt werden, obgleich sich Microsoft auf der Build bemühte klazustellen, dass sie schnell genug sei.
Wie einfach das ist, zeigte Microsoft an einem neuen Kompilat unter Visual Studio 2017 ( 15.8 Preview(öffnet im neuen Fenster) ) anhand von OpenVPN, das über eine Emulation aufgrund der notwendigen Treiber bisher nicht funktioniert hat. Ein neues Kompilieren löst das Problem aber. Laut Microsoft brauchte es dafür nicht eine einzige Anpassung des Codes und der Vorgang war in weniger als einer Minute abgeschlossen.
Ähnlich soll es mit VLC funktioniert haben. Hier hat aber nicht Microsoft die Kompilation angestoßen, sondern die Videolan-Teammitglieder selbst. Microsoft hat nur die notwendige ARM-Hardware bereitgestellt. Probleme mit dem Code gab es auch hier nicht. Allerdings brauchten die VLC-Entwickler Zeit, um ihren Build-Prozess an die neuen Gegebenheiten anzupassen. Ganz ohne Aufwand geht es bei größeren Projekten also nicht.

Ein paar Tipps für Programmierer gab es auch noch. Microsoft rät weiter davon ab, über die Architekturabfrage den Gerätetyp herausfinden zu wollen. Es gibt wohl noch immer viele Apps, die bei der Entdeckung des ARM-Chips davon ausgehen, ein Windows-Smartphone anzusprechen. Das ist aber falsch. Stattdessen soll Windows.System.Profile.DeviceFamily verwendet werden, um einen Desktop zu ermitteln. IsWow64Process2() erkennt eine ARM64-OS-Basis. Webseitenbetreiber, die versuchen über den Useragent herauszufinden, ob der Nutzer ein 64-Bit-Betriebssystem nutzt und dann 64-Bit-Exe-Dateien anbieten, sollten ihr Vorgehen ebenfalls überdenken. Die ARM-Geräte haben zwar ein 64-Bit-Windows und Edge läuft nativ. Sie können aber keine 64-Bit-x86-Programme ausführen.
Assemblercode sollte vermieden werden
Etwas seltsam muten Tipps für x86-Programme an. So empiehlt Microsoft, dass möglichst wenig Maschinencode verwendet werden soll. Eigentlich nutzt man Assembler zur gezielten Optimierung auf einen Prozessor, doch über die Emulation sorgt man dann natürlich nicht mehr für eine Optimierung auf der Architektur, die den Maschinencode nicht versteht.
Sollten alle Optimierungen fehlschlagen, lassen sich immerhin die meisten Anwendungen in der Emulation starten. Microsoft demonstrierte seine Präsentation auf einem ARM-Gerät mit Powerpoint. Office wird allerdings immer in der Emulation betrieben, nutzt aber eine sogenannte CHPE-Optimierung (Sprich: Tchippie). Die Anwendung wurde also etwas angepasst. Vorteil dieser Lösung: Auch Plugins, für die es noch eine ARM-Variante gibt, bleiben so kompatibel. Etwas seltsam mutete die Demonstration von Asphalt 8 als Spiel an. Auch das lief flüssig, ist aber wohl eher ein Verlegenheitskandidat. Das Starten eines alternativen Browsers gab es auch nicht zu sehen.
Microsoft sieht ein, dass alles eine gewisse Zeit braucht und verweist auf die Umstellung auf 64 Bit vor Jahren. Trotzdem ist es für die Plattform alles andere als ideal, wenn die notwendigen Werkzeuge auch nach der Verfügbarkeit noch nicht fertig sind. Den derzeitigen Stand können sich Entwickler auf der Windows-ARM-Webseite anschauen(öffnet im neuen Fenster) .

Offenlegung: Golem.de nimmt auf Einladung von Microsoft an der Microsoft Build in Seattle, Washington teil. Die Reisekosten wurden von Microsoft übernommen. Unsere Berichterstattung ist davon nicht beeinflusst und bleibt gewohnt neutral und kritisch. Der Artikel ist, wie alle anderen auf unserem Portal, unabhängig verfasst und unterliegt keinerlei Vorgaben Dritter; diese Offenlegung dient der Transparenz.



