Windows 8.1 DPI pro Monitor: In welchen Situationen wird interpoliert?

2

Ich bin gespannt auf die neue Funktion "DPI pro Monitor" von Windows 8.1.

Meine Frage betrifft ältere Anwendungen, die eine globale DPI-Einstellung unterstützen, aber noch nicht "DPI-fähig pro Monitor" sind. Diese Anwendungen können sich mit jedem DPI-Wert rendern, daher sollten sie bei Verwendung nur eines Monitors immer mit der Bildschirmauflösung gerendert werden.

Bei mehreren Monitoren mit unterschiedlichen DPI-Einstellungen muss Windows diese manchmal durch einfache Bildinterpolation skalieren. In welchen Situationen tritt diese Interpolation auf?

Ich habe widersprüchliche Informationen gefunden:

  1. Der Entwickler von VirtualDub [1] schreibt, dass es eine "Globale DPI" -Einstellung gibt. Alle älteren Anwendungen werden mit dieser Auflösung gerendert und dann nur auf die jeweilige Monitorgröße interpoliert. Dies würde bedeuten, dass ältere Anwendungen auf einem Monitor immer interpoliert und verschwommen sind.
  2. AnandTech [2] schreibt, dass diese Anwendungen "zunächst mit der DPI-Einstellung des Monitors skaliert werden, auf dem sie geöffnet sind". Nur wenn Sie sie auf einen anderen Monitor verschieben, werden sie interpoliert. Das scheint eine viel bessere Lösung zu sein - wenn Sie Programme auf einem Bildschirm öffnen und dort belassen, sollten sie immer mit der nativen Auflösung gerendert werden.

Wer hat Recht?

[1]: http://www.virtualdub.org/blog/pivot/entry.php?id=384 unter "Die globale DPI-Einstellung"

[2]: http://www.anandtech.com/show/7939/scaling-windows-the-dpi-arms-race/5 zweiter Absatz

LTR
quelle

Antworten:

2

Meine Frage betrifft ältere Anwendungen, die eine globale DPI-Einstellung unterstützen, aber noch nicht "DPI-fähig pro Monitor" sind. Diese Anwendungen können sich mit jedem DPI-Wert rendern, daher sollten sie bei Verwendung nur eines Monitors immer mit der Bildschirmauflösung gerendert werden.

System–DPI Aware Applicationswerden nicht mit einer DPI gerendert - die Apps werden mit einer DPI gerendert system DPIund - wenn sich a von a monitor DPIunterscheidet system DPI- mit virtualisiert monitor DPI. Selbst wenn Sie einen Monitor haben und dieser Monitor eine andere DPI hat, system DPI System–DPI Aware Applicationwird diese skaliert.

Bei mehreren Monitoren mit unterschiedlichen DPI-Einstellungen muss Windows diese manchmal durch einfache Bildinterpolation skalieren. In welchen Situationen tritt diese Interpolation auf?

Virtualisierung und Rendering für:

  • Not DPI–aware Applications: 96 DPIAuf jedem Monitor mit einer anderen DPI als 96 DPI.
  • System–DPI Aware Applications: system DPIAuf jedem Monitor mit einer anderen DPI als system DPI.
  • Per Monitor–DPI Aware Applications: monitor DPIWird am (WM_DPICHANGED-Nachricht) gerendert , ist nicht virtualisiert.

Ich habe widersprüchliche Informationen gefunden:

Der Entwickler von VirtualDub schreibt, dass es eine "Globale DPI" -Einstellung gibt. Alle älteren Anwendungen werden mit dieser Auflösung gerendert und dann nur auf die jeweilige Monitorgröße interpoliert. Dies würde bedeuten, dass ältere Anwendungen auf einem Monitor immer interpoliert und verschwommen sind.

AnandTech schreibt, dass diese Anwendungen "zunächst mit der DPI-Einstellung des Monitors skaliert werden, auf dem sie geöffnet sind". Nur wenn Sie sie auf einen anderen Monitor verschieben, werden sie interpoliert. Das scheint eine viel bessere Lösung zu sein - wenn Sie Programme auf einem Bildschirm öffnen und dort belassen, sollten sie immer mit der nativen Auflösung gerendert werden.

Wer hat Recht?

Wenn ich es richtig verstehe:

  • VirtualDub Entwickler bedeutet System–DPI Aware Applications

während

  • AnandTech bedeutet Per Monitor–DPI Aware Applications

also sind beide richtig.

Es gibt - ganz richtig - Microsoft-Informationen, die - glaube ich - eine Quelle für AnandTech-Artikel waren.

g2mk
quelle
1

Dies wird von Microsoft in diesem TechNet-Artikel dokumentiert

Bildbeschreibung hier eingeben

Screenshots, weil Tabellen.

qasdfdsaq
quelle