Bildschirm mit hoher DPI und Windows: Wie verhalten sich Programme wie auf Bildschirmen mit niedriger Auflösung?

11

Ich verwende Windows 10 auf einem hochauflösenden Laptop-Bildschirm. Einige Programme unterstützen den hochauflösenden Bildschirm und sehen scharf aus. Einige sehen nicht und sehen verschwommen aus, erscheinen aber immer noch in der richtigen Größe. Ich bin mit beiden zufrieden.

Aber dann gibt es solche Programme, die nur eine halbherzige Unterstützung für eine hohe DPI-Einstellung haben: Sie erscheinen entweder winzig oder einige Fensterelemente sind winzig, während andere normal groß sind. Dies macht einige dieser Programme einfach unbrauchbar, andere sehr unangenehm zu bedienen.

Gibt es eine Möglichkeit, Windows zu bitten, diese Programme zu täuschen, dass sie auf einem Bildschirm mit niedriger Auflösung ausgeführt werden, und sie dann proportional zu skalieren ? Ich würde es sehr bevorzugen, wenn alle Fensterelemente in der richtigen Größe gerendert werden, auch wenn dies bedeutet, dass sie verschwommen werden.

Um Verwirrung zu vermeiden: Mir ist die Kompatibilitätseinstellung "Anzeigeskalierung bei hohen DPI-Einstellungen deaktivieren" in den Anwendungseigenschaften bekannt, aber dies ist nicht das, was ich brauche. Ich fordere das Gegenteil davon: Aktivieren Sie verschwommenes Upscaling und lassen Sie die Anwendung glauben, dass sie auf einem Bildschirm mit niedriger Auflösung ausgeführt wird.

Szabolcs
quelle

Antworten:

11

Lassen Sie uns die großen Waffen ausbrechen.

Laden Sie das Application Compatibility Toolkit herunter und installieren Sie es . Dazu gehört ein Programm namens Compatibility Administrator, das in zwei Versionen erhältlich ist, einer 32-Bit-Version und einer 64-Bit-Version. Führen Sie die mit der gleichen Bitigkeit wie die Anwendung aus, die Sie schlagen möchten.

Hintergrund : Viele Anwendungen behaupten, dass sie eine bestimmte Funktion unterstützen, aber dann die Implementierung durcheinander bringen. Microsoft kümmert sich ständig darum und hat eine Kompatibilitätsinfrastruktur erstellt, um Korrekturen für häufig auftretende Probleme wiederzuverwenden. Diese Korrekturen werden als Shims implementiert und fangen Aufrufe der Windows-API ab. Wir werden eine Unterlegscheibe verwenden, die die Erklärung des DPI-Bewusstseins der Anwendung effektiv aufhebt. Andere Shims machen schickere / konfigurierbare Dinge (siehe CorrectFilePaths), während einige die Anwendung nur über ihre Umgebung belügen (wie ForceAdminAccess).

Am unteren Rand des linken Bereichs des Kompatibilitätsadministrators sehen Sie einen neuen Eintrag in Benutzerdefinierte Datenbanken. Klicken Sie mit der rechten Maustaste darauf und wählen Sie Neu erstellenKompatibilitätsmodus . Nennen Sie es etwas (ich habe verwendet DpiMisbehavior). Suchen DPIUnawareund klicken Sie in der linken Liste auf die >Schaltfläche, um sie zu aktivieren. Klicken Sie anschließend auf OK.

Erstellen des Kompatibilitätsmodus

Klicken Sie erneut mit der rechten Maustaste auf die benutzerdefinierte Datenbank und wählen Sie Neu erstellenAnwendungsfix . Geben Sie den Programmnamen und den Hersteller ein (diese sind nicht allzu wichtig) und wählen Sie die Haupt-EXE-Datei der Anwendung aus. (Hier ist die Bitness des Kompatibilitätsadministrators wichtig.) Drücken Sie anschließend auf Weiter.

Fix erstellen

Scrollen Sie unter Zusätzliche Kompatibilitätsmodi nach unten und suchen Sie den Kompatibilitätsmodus, den Sie vor kurzem erstellt haben. Aktivieren Sie das Kontrollkästchen. Führen Sie einen Testlauf durch, wenn Sie möchten, und klicken Sie dann auf Weiter.

Anwenden des Fixes

Genau genommen mussten Sie keinen Kompatibilitätsmodus erstellen, da Sie hier bestimmte Korrekturen anwenden können. Ich habe Sie das tun lassen, falls Sie später zusätzliche Korrekturen für diesen Modus hinzufügen müssen, damit sie für alle Apps gelten, die Sie in diesen Modus versetzen. Sie können also einfach auf Weiter klicken, ohne im Schritt Kompatibilitätskorrekturen etwas zu tun .

Keine zusätzlichen Korrekturen erforderlich

Übereinstimmende Informationen werden verwendet, um zu identifizieren, welche App ein Programm (EXE) darstellt. (Es wäre ziemlich unglücklich, wenn Korrekturen auf Programme angewendet würden, die sie nicht benötigen.) Alle aktivierten Einträge müssen übereinstimmen, damit ein Programm die Korrektur erhält. Der Kompatibilitätsadministrator hat diese Kriterienwerte aus der zuvor angegebenen EXE-Datei abgerufen. Die Standardeinstellungen sind in Ordnung, oder Sie können sie ändern, wenn Sie sich für solche Dinge stark fühlen. Wenn Sie zufrieden sind, klicken Sie auf Fertig stellen.

Es sind keine Maßnahmen zum Abgleichen von Informationen erforderlich

Wiederholen Sie die Erstellung von Application Fix für jedes Programm, das sie benötigt. Drücken Sie dann in der Symbolleiste auf Speichern. Gib ihm einen beliebigen Namen; Ich habe benutzt DPI Repair. Speichern Sie es dann an einer beliebigen Stelle im gewünschten Dateisystem. Sie können das Symbolleistenelement Öffnen verwenden und diese Datei auswählen, wenn Sie sie in Zukunft ändern müssen.

Klicken Sie abschließend mit der rechten Maustaste auf die neu benannte benutzerdefinierte Datenbank und wählen Sie Installieren .

Erfolg

Oh ja.

Wenn Sie in Zukunft die Kompatibilitätsdatenbank ändern müssen, öffnen Sie sie einfach, nehmen Sie die entsprechenden Änderungen vor, klicken Sie auf Speichern und führen Sie die Neuinstallation durch. es wird einfach direkt über die alte Version gehen. Tatsächlich können Sie diese Datenbank auf einen anderen Computer kopieren und mit dem Kompatibilitätsadministrator dort installieren, ohne sie neu erstellen zu müssen.

Optionale Unterhaltung : Erweitern Sie den Eintrag Anwendungen unter Systemdatenbank , um eine Liste der Programme anzuzeigen, die Microsoft mit dieser Infrastruktur reparieren musste. Wenn Sie auf den Eintrag eines Programms klicken, sehen Sie, welche Korrekturen und Kompatibilitätsmodi angewendet wurden. Unter Kompatibilitätskorrekturen sehen Sie eine vollständige Liste der Korrekturen, die Ihr Computer verwenden kann.

Ben N.
quelle
Unter Windows 10 kann ich die Datenbank nicht speichern, wenn ich einen benutzerdefinierten Kompatibilitätsmodus erstelle, aber alles funktioniert einwandfrei, wenn ich nur Anwendungskorrekturen vornehme.
Gwen