Problembehandlung für die Programmkompatibilität auf ARM

Emulation zur Unterstützung von x86-Apps ist ein neues Feature, das für Windows arm64 erstellt wurde. Manchmal führt die Emulation Optimierungen durch, die nicht zur besten Benutzererfahrung führen. Sie können die Programmkompatibilitätsproblembehandlung verwenden, um emulationseinstellungen für Ihre x86-App umschalten, um die Standardoptimierungen zu reduzieren und möglicherweise die Kompatibilität zu erhöhen.

Starten der Problembehandlung für die Programmkompatibilität

Sie starten die Problembehandlung für die Programmkompatibilität auf jedem Windows-PC manuell: Klicken Sie mit der rechten Maustaste auf eine ausführbare Datei (.exe), und wählen Sie Problembehandlung bei der Kompatibilität aus. Dieser Bildschirm wird angezeigt.

Screenshot der Kompatibilitätsoptionen zur Problembehandlung

Wenn Sie auf Problembehandlungsprogramm klicken, werden die folgenden Optionen angezeigt.

Screenshot der Optionen "What problems do you notice" (Welche Probleme werden ihnen aufgefallen)

Alle Optionen aktivieren die Einstellungen, die auf Desktop-PCs Windows angewendet werden. Darüber hinaus werden mit der ersten, zweiten und vierten Option die Emulationseinstellungen Anwendungscache deaktivieren und Hybridausführungsmodus deaktivieren angewendet.

Umkniffen von Emulationseinstellungen

Warnung

Das Ändern der Emulationseinstellungen kann dazu führen, dass Ihre Anwendung unerwartet abstürzt oder überhaupt nicht gestartet wird.

Sie können emulationseinstellungen umschalten, indem Sie mit der rechten Maustaste auf die ausführbare Datei klicken und Eigenschaften auswählen.

Auf ARM ist ein Abschnitt mit dem Windows 10 auf ARM auf der Registerkarte Kompatibilität verfügbar. Klicken Sie auf Emulationseinstellungen ändern, um wie hier ein zweites Fenster zu starten.

Screenshot: Ändern der Emulationseinstellungen

Dieses Fenster bietet zwei Möglichkeiten zum Ändern von Emulationseinstellungen. Sie können eine vordefinierte Gruppe von Emulationseinstellungen auswählen oder auf die Option Erweiterte Einstellungen verwenden klicken, um die Auswahl einzelner Einstellungen zu aktivieren.

Die einstellungen für die gruppierungsgesteuerte Emulation verringern Leistungsoptimierungen zugunsten der Qualität. Im Folgenden finden Sie einige gruppenierte Einstellungen, die Sie auswählen können.

Screenshot: Ändern der Emulationseinstellungen2

Wählen Sie Erweiterte Einstellungen verwenden aus, um einzelne Einstellungen auszuwählen, wie in dieser Tabelle beschrieben.

Emulationseinstellung Ergebnis

Deaktivieren des Anwendungscaches

Das Betriebssystem speichert kompilierte Codeblöcke zwischen, um den Emulationsaufwand bei nachfolgenden Ausführungen zu reduzieren. Diese Einstellung erfordert, dass der Emulator den app-Code zur Laufzeit neu kompilieren muss.

Deaktivieren des Hybridausführungsmodus

Kompilierte portable Hybrid Executable (CHPE), Binärdateien sind x86-kompatible Binärdateien, die nativen ARM64-Code enthalten, um die Leistung zu verbessern, aber möglicherweise nicht mit einigen Apps kompatibel sind. Diese Einstellung erzwingt die Verwendung von binären x86-Binärdateien.
Strenge Unterstützung für selbstverfingenden Code Aktivieren Sie diese Option, um sicherzustellen, dass selbst ändernden Code bei der Emulation ordnungsgemäß unterstützt wird. Die gängigsten Szenarios für selbstverfeinerenden Code werden durch das Standardverhalten des Emulators abgedeckt. Wenn Sie diese Option aktivieren, wird die Leistung des selbstverfingenden Codes während der Ausführung erheblich reduziert.
Deaktivieren der RWX-Seitenleistungsoptimierung Diese Optimierung verbessert die Leistung von Code auf lesbaren, beschreibbaren und ausführbaren Seiten (RWX), ist aber möglicherweise nicht mit einigen Apps kompatibel.

Sie können auch Einstellungen für mehrere Kerne auswählen, wie hier gezeigt.

Screenshot der Einstellungen für mehrere Kerne

Diese Einstellungen ändern die Anzahl der Arbeitsspeicherbarrieren, die zum Synchronisieren von Speicherzugriffen zwischen Kernen in Apps während der Emulation verwendet werden. Schnell ist der Standardmodus, aber die strengen und sehr strengen Optionen erhöhen die Anzahl der Barrieren. Dadurch wird die App verlangsamt, aber das Risiko von App-Fehlern verringert. Die Einzelkernoption entfernt alle Barrieren, erzwingt jedoch, dass alle App-Threads auf einem einzelnen Kern ausgeführt werden.

Wenn das Ändern einer bestimmten Einstellung Ihr Problem behebt, senden Sie eine E-Mail mit Details, damit wir woafeedback@microsoft.com Ihr Feedback integrieren können.