Wer sich in letzter Zeit ein Windows-10-Gerät mit hoher Pixeldichte (also hoher Auflösung auf geringer Bildschirmgröße) gekauft hat, der wird das Problem kennen: einige Anwendungen sind darauf quasi unbedienbar! Der Grund ist, dass sie auf diesen High-DPI-Displays nicht vernünftig mitskalieren, was sich in viel zu kleinen Dialogen und Schriftgrößen bemerkbar macht. Nehmen wir z.B. paint.net:
Dialoge sind nur mit der Bildschirmlupe lesbar, da die Schriftgröße so extrem klein ist. Bei mir ist dies auf meinem neuen Surface Pro 4 der Fall, das eine Auflösung von 2736×1824 px auf 12,3″ Bildschirmdiagonale besitzt. Doch auch auf anderen High-DPI-Geräten ist dieses Problem identisch. Bei einem solchen Darstellungsverhalten nützt dann auch das schärfste Display nichts…
Dabei gibt es durchaus auch Anwendungen, die wunderbar skalieren: Visual Studio 2015 zum Beispiel. Doch als Endanwender will man natürlich, dass alles reibungsfrei funktioniert und derzeit ist das einfach noch ein großes Dilemma… auch für Entwickler, wenn man sich die „Skalierung“ des SQL Server Management Studio 2014 (SSMS) anschaut:
Auch hier ist der Dialog so klein, dass er sich ohne Bildschirmlupe nicht bedienen lässt. Windows 10 ist zwar bereits um Welten besser geworden, was die Skalierung von Anwendungen anbelangt, es gibt jedoch noch jede Menge Probleme mit Anwendungen, die nicht auf High DPI ausgelegt sind. Mit Windows-Standardeinstellungen ist das Skalierungsproblem bei diesen Anwendungen leider nicht lösbar. Weder die Windows-weite Skalierungsstufe noch die Aktivierung/Deaktivierung der Skalierung bei hohem DPI-Wert für die Anwendung bringen einen Erfolg.
Zum Glück ist das Problem lösbar – wenn es auch zwei manuelle Schritte erfordert! Wie das geht, steht hier. Technische Grundlage dafür ist das sogenannte „Bitmap Scaling“, welches Anwendungen pixelweise 1:1 in ihrem vorgefertigten Layout hochskaliert, anstatt zu versuchen die grafischen Komponenten einzeln zu skalieren (DPI Scaling).
Um für eine Anwendung das Bitmap Scaling zu aktivieren, sind folgende Schritte erforderlich:
- Registry anpassen (einmalig):
Unter dem BezeichnerHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide
ist ein DWORD-SchlüsselPreferExternalManifest
mit dem Wert1
anzulegen:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide] "PreferExternalManifest"=dword:00000001
- Manifest-Datei anlegen (pro Anwendung):
Für die jeweilige Anwendung ist im Installationsverzeichnis parallel zur<Anwendung>.exe
eine Datei<Anwendung>.exe.manifest
mit folgendem Inhalt anzulegen, wodurch das DPI Scaling deaktiviert wird (was wiederum das Bitmap Scaling aktiviert):<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3"> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*"> </assemblyIdentity> </dependentAssembly> </dependency> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.21022.8" processorArchitecture="amd64" publicKeyToken="1fc8b3b9a1e18e3b"> </assemblyIdentity> </dependentAssembly> </dependency> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> <security> <requestedPrivileges> <requestedExecutionLevel level="asInvoker" uiAccess="false"/> </requestedPrivileges> </security> </trustInfo> <asmv3:application> <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings"> <ms_windowsSettings:dpiAware xmlns:ms_windowsSettings="http://schemas.microsoft.com/SMI/2005/WindowsSettings">false</ms_windowsSettings:dpiAware> </asmv3:windowsSettings> </asmv3:application> </assembly>
Das Ergebnis für paint.net und SSMS? Ordentlich skalierte Anwendungen mit lesbaren Dialogen:
18 Kommentare
-
Funktioniert leider nicht mit LOGO Soft Comfort V8.0 auf meinem Surface Pro 4 🙁
-
Autor
Ja, leider gibt es Anwendungen, die das nicht erlauben. WISO Steuer-Sparbuch ist auch so ein Kandidat. Hier kann man evtl. in den Anwendungs-Optionen noch die Skalierung einstellen.
-
bei mir auf meinem SurfaceBook auch nicht….
-
Navigate to LOGOComfort.exe in your C: drive, right click and select properties/compatibility, tick the box ‚override high DPI scaling behavior. Scaling performed by‘ and select ’system‘ in the drop down box. click ‚Apply‘ and open LOGOComfort soft.
-
-
Vielen Dank, der Binreader und VLC funktionieren einwandfrei. War schon am überlegen das SP4 wieder zurück zu schicken.
-
Hallo, klappt recht gut, vielen Dank (MS Surface Pro 4):
IBM Notes interessiert es leider nicht, gerade da ist es aber für unsere Nutzer das größte Problem. Jemand hier eine Idee?
-
Autor
Evtl. das Manifest an der falschen Stelle angepasst? Für ihn hier hat’s auf dem SP4 geklappt: http://www.polymorph.co.uk/content/blog-posts/fix-for-lotus-notes-display-issues-on-surface-pro-high-dpi/
-
Vielen Dank für den weiteren Link.
Jetzt klappt es auch bei mir, sind etwas viele .exe im Notes Umfeld. Ich hatte immer nur die notes.exe und nlnotes.exe geändert – muss aber auch noch die notes2.exe sein – und ggf. sametime.exe wenn das installiert ist.
-
-
-
danke für den Post, allerdings gibt es in meiner Registry keinen „Side by Side“ Ordner. Irgendwelche Idee? 🙁
-
Hm, evtl. den „SideBySide“-Key manuell erstellen? Einen Versuch ist es wert…
Welche Windows-Version hast du denn (Win 10 Home, Pro, …)?-
Windows 10 home, ich probiere heute Abend mal den key manuell einzustellen.
-
-
-
Hallo,
funktioniert leider mit Photoshop Elements 9 unter Win 10 Pro nicht (Surface Pro 4) … was mach ich falsch ?? Anwendung wird mit Fehler gestartet, wenn ich o.st. Anleitung befolge.
lg
A -
Hallo, aktuell ist das Anniversery Update installiert (Vorher leider nicht getestet) Surface Pro 4 und es kommt die Fehlermeldung:
Der Datenträger einer Datei wurde extern so geändert, dass die geöffnete Datei nicht mehr gültig ist. (Kommt nur, wenn die manifest Datei im Installationspfad liegt)
Eine Idee wie man das lösen kann klingt ja prinzipiell nur nach einer Sicherheitsfunktion von W10.-
Vor diesem Problem stehen wir auch. Gibt es eine Lösung?
-
-
Sehr cool! Danke für den Tipp 🙂
-
Hallo,
es gibt in Windows 10 in den Eigenschaften der Programme (*.exe) unter Kompatibilität einen neuen Eintrag „Verhalten bei hoher DPI-Skalierung überschreiben“. (Keine Ahnung seit wann oder mit welchem Update der aufgetaucht ist.Hab das für die Java.exe aktiviert und Skalierung für System durchführen angewählt.
Jetzt kann ich endlich alle Javaanwendungen auf meinem 15Zoll UHD Display wieder verwenden.
-
So danke an Matthias Jauernig und Jamie (hier aus den Komentaren) ich habe es bei LOGO!Soft Comfort so gemacht das ich ersteinmal die Anleitung von Matthias Jauernig genutzt habe und danch bei der LOGOComfort.exe „Rechts klick“ dann auf „Eigenschaften“ Reiter „Kompatibilität“ dann Hacken bei „Verhalten bei hoher DPI-Skalierung überschreiben. Skalierung durchgeführt von:“ und System ausgewählt. Siehe da bei meinem Surface 4 Pro kann ich jetzt auch endlich LOGO!Soft Comfort nutzen. Vielen dank für die Anleitung
Pingbacks
-
[…] I managed to solve it following these instructions: Link. […]