Jump to content

Falsche Fenstergrösse auf 2. Bildschirm


Recommended Posts

Ich teste gerade den Betrieb von DVBViewer mit 2 Monitoren. Mir ist folgendes aufgefallen:

 

Hauptmonitor.

Auflösung: 2560x1440

Windows Skalierung: 150%

DVBViewer Vollbildfenster: 2560x1440

 

Zewitmonitor.

Auflösung: 3840x2160

Windows Skalierung: 150%

DVBViewer Vollbildfenster: 3840x2160

Windows Skalierung: 175%

DVBViewer Vollbildfenster: 3291x1851

Windows Skalierung: 200%

DVBViewer Vollbildfenster: 2880x1620

 

Der Hauptmonitor scheint immer das korrekte Fenster zu zeigen, egal welche Auflösung er hat und Windows-Skalierung ich wähle.

Der Zweitmonitor scheint immer das falsche Fenster zu zeigen, sobald die Windows skalierung >150% ist.
 

 

 

support.zip

Link to comment

Ich habe versucht, es (unter Wiindows 7) mit 200% Schriftgröße nachzuvollziehen, aber ohne Befund. Ich fürchte, ich habe gar nicht das richtige Setup dafür. Zwar stehen hier zwei Monitore, aber die haben eine wesentlich geringere Auflösung (1920 x 1200 und 1280 x 1024).

 

Vielleicht tritt es nur unter Windows 10 auf? Sind für den DVBViewer unter Eigenschaften -> Kompatibilität spezielle Einstellungen aktiv? Habe ich es richtig verstanden, dass das Vollbild auf dem zweiten Monitor bei Schriftgrößen > 150% nicht den gesamten Bildschirm bedeckt? Je mehr Skalierung, um so kleiner?

 

Im Code sehe ich nur, dass der DVBViewer sich über das Windows API die Auflösung des Monitors besorgt, auf dem sich das Fenster größtenteils befindet, und das Vollbild entsprechend dimensioniert.

Link to comment

Hmm, offenbar meint Windows, dem DVBViewer auf dem zweiten Monitor eine falsche Auflösung vorspielen zu müssen. Vermutlich irgendeine Form von Display-Virtualisierung.

 

Ich habe etwas in der Richtung recherchiert... ab Windows 8.1 gibt es "per-monitor DPI awareness" (siehe hier). Haben die Monitore in dem geschilderten Szenario eine verschiedene Schriftgrößen-Einstellung?

 

Der DVBViewer weist sich gegenüber Windows als "system DPI aware" aus, aber nicht als "per-monitor DPI aware". Womöglich liegt da die Ursache. Das müsste man einfach mal probieren. Ich wüsste da auch schon ein Versuchskaninchen :)

Link to comment

Ich hab's mal unter Windows 10 probiert (nicht dem Anniversary Update, das sich bei mir nicht installieren lassen will, sondern dem Vorgänger). Erster Monitor auf 100%, zweiter auf 150%.

 

Offenbar reicht das nicht, um Probleme mit dem Vollbild zu provozieren (oder es handelt sich um ein neues "Feature" des Anniversary Updates). Probleme hatten nur Windows-Dialoge, nicht der DVBViewer. Der DVBViewer wird aber von Windows grafisch hochskaliert, sobald ich ihn auf den zweiten Monitor ziehe, und damit etwas unscharf - wahrscheinlich, weil er sich nicht als "per-monitor DPI aware" ausweist. Das lässt sich in den Eigenschaften der Verknüpfung oder EXE abschalten (-> Kompatibilität -> Skalierung bei hohem DPI-Wert deaktivieren). Probiere das mal. Ich nehme an, wenn sich der DVBViewer als "per-monitor DPI aware" ausweisen würde, wäre das automatisch deaktiviert.

Link to comment

Danke Griga für deine Bemühungen. Ich beantworte hier deine Fragen.

 

Unter DVBViewer -> Eigenschaften -> Kompatibilität... da ist nichts markiert. Alles Standard-Einstellungen.

Das Vollbild im zweiten Monitor bedeckt den gesamten Bildschirm in allen von mir geschilderten Fällen. Nur die Dimensionen des Vollbildfensterns ändern sich (Das sieht man im EVR-OSD, bzw im madVR-OSD)

 

Schriftgrössen habe ich per Monitor mit den Windows 10 Zoom-Eistellungen (Was ich im ersten Post "Windows Skalierung" nenne) geändert. Das klappt sogar on-the-fly.

 

Zwei Kommentare am Rande:
-Immer wenn Vollbilfenster ungleich gross wie die Auflösung ist, lässt der madVR den Betrieb im FSE (fullscreen exclusive) nicht zu.
-MPC-HC funktioniert wie erwartet.

 

Ich habe die Kompatibilitätsoptionen ausprobiert.
Kompatibilität -> nichts gepflegt -> wie oben beschrieben.
Kompatibilität -> Skalierung bei hohem DPI-Wert deaktiviert, Skalierung durch Anwendung -> korrekte Ausgabe!!
Kompatibilität -> Skalierung bei hohem DPI-Wert deaktiviert, Skalierung durch System -> falsche Vollbild-Ausgabe in beiden Monitoren
Kompatibilität -> Skalierung bei hohem DPI-Wert deaktiviert, Skalierung durch System (Erweitert) -> falsche Fenster-Ausgabe in beiden Monitoren

Edited by blasgl
Link to comment
3 hours ago, blasgl said:

Das Vollbild im zweiten Monitor bedeckt den gesamten Bildschirm in allen von mir geschilderten Fällen. Nur die Dimensionen des Vollbildfensterns ändern sich (Das sieht man im EVR-OSD, bzw im madVR-OSD)

 

Das heißt, bei einem flüchtigen Blick ist alles in Ordnung (auch der Aspect Ratio stimmt), aber die Video Renderer geben eine Ausgabe-Auflösung an, die nicht der des Monitors entspricht. Soweit richtig?

 

Falls ja: Das deckt sich auch mit meinen Beobachtungen unter Windows 10 bei verschiedenerer Schriftgröße für die beiden Monitore. Der Video Renderer skaliert auf eine vermeintliche Vollbild-Auflösung, und Windows dann noch mal auf die richtige. Sowas tut dem TV-Bild nicht unbedingt gut ;)

 

3 hours ago, blasgl said:

Ich habe die Kompatibilitätsoptionen ausprobiert.

 

Drei Checkboxen? :blink: Die gibt es bei mir nicht. Das muss im Anniversary Update neu sein, oder hast du das vorher bereits gesehen? Es dürfte dem hier entsprechen (nein, ich habe das auch nicht alles gelesen).

 

3 hours ago, blasgl said:

Kompatibilität -> Skalierung bei hohem DPI-Wert deaktiviert, Skalierung durch Anwendung -> korrekte Ausgabe!!

 

Das ist für dich der Wunschzustand, den du durch manuelle Konfiguration erreichen kannst, soweit richtig?

 

Das hieße also, man muss Windows dazu bringen, sich aus der Sache rauszuhalten, ohne dass erst der Anweder tätig werden muss. Die Frage ist, ob eine Deklaration des DVBViewers  als "per-monitor DPI aware" das leistet.

 

Am besten ließe sich das mit TransEdit erproben, da ich von dem Programm leicht eine modifizierte Testversion zur Verfügung stellen kann. Der erste Schritt wäre, festzustellen, ob das Vollbild der Preview Funktion aus TransEdit 4.1 (-> Downloadbereich -> Beta Sektion) auf gleiche Weise wie der DVBViewer Pro betroffen ist. Weitere Erläuterungen dazu bei Bedarf.

Link to comment
12 minutes ago, Griga said:

Das heißt, bei einem flüchtigen Blick ist alles in Ordnung (auch der Aspect Ratio stimmt), aber die Video Renderer geben eine Ausgabe-Auflösung an, die nicht der des Monitors entspricht. Soweit richtig?

richtig

 

12 minutes ago, Griga said:

Drei Checkboxen? :blink: Die gibt es bei mir nicht. Das muss im Anniversary Update neu sein, oder hast du das vorher bereits gesehen?

Keine Ahnung wie es vorher war, mittlerweile habe ich die Creators Update, und es sieht so aus:

Kompat.PNG.59617766e002980561f1e644a0f781bc.PNG

Also eine Checkbox und ein dropdown-Menü mit 3 Optionen.

 

15 minutes ago, Griga said:

Das ist für dich der Wunschzustand, den du durch manuelle Konfiguration erreichen kannst, soweit richtig?

richtig

 

TransEdit probiere ich etwas später und berichte hier dann

Link to comment
28 minutes ago, Griga said:

Am besten ließe sich das mit TransEdit erproben, da ich von dem Programm leicht eine modifizierte Testversion zur Verfügung stellen kann. Der erste Schritt wäre, festzustellen, ob das Vollbild der Preview Funktion aus TransEdit 4.1 (-> Downloadbereich -> Beta Sektion) auf gleiche Weise wie der DVBViewer Pro betroffen ist. Weitere Erläuterungen dazu bei Bedarf

 

Ein Vollbild bekomme ich auf beide Monitore, aber wie kann ich die Grösse des Ausgabebereiches bestimmen? Gibt´s hier ein EVR-OSD?

Link to comment
14 minutes ago, blasgl said:

Ein Vollbild bekomme ich auf beide Monitore, aber wie kann ich die Grösse des Ausgabebereiches bestimmen? Gibt´s hier ein EVR-OSD?

 

Mist, daran habe ich nicht gedacht. Ich habe eine erweiterte EVR-Eigenschaftsseite für Entwickler, die zeigt das an. Aber ich weiß nicht, wo und wie man die für Windows 10 bekommt.

 

Also musst du doch den DVBViewer Pro testen. Die 6.0, die sich in den Startlöchern befindet, kann ich dir nicht zur Verfügung stellen, weil dafür zu viel Drumherum aktualisiert werden müsste. Also muss ich auf den Code für die 5.6.4 zurückgreifen. Ich melde mich dann per PM.

 

Bei TransEdit verhindert hier jedenfalls die Deklaration als "per-monitor DPI aware", dass Windows 10 die Anwendung auf dem zweiten Monitor skaliert.

Link to comment

Man kann es eventuell mit Gefühl lösen...:D

Die Bildqualität ist mit TransEdit so mies, dass man ein richtiges Skalieren quasi ausschliessen kann.

 

Der DVBViewer mit der falschen Ausgabe nochmal getestet (Kompatibilitätsoptionen alle raus) und das Bild sieht genauso aus wie beim TransEdit. Also beide Anwendungen scheinen betroffen zu sein.

 

Jetzt Kompatibilitätsoptionen beim Transedit rein und alles paletti.

 

Ich glaube, auch ohne OSD kann man mit TransEdit testen

Edited by blasgl
Link to comment

Antwort von blasgl per PM nach Probieren der Testversion:

 

Quote

Diese Version funktioniert ohne Kompatibilitätsoptionen wie es soll. Ausgabeauflösung = Monitorauflösung

 

Gut und schön. :) Danke für den Test.

 

Aaaaber: Angenommen, jemand möchte die Skalierung durch Windows auf dem zweiten Monitor, vielleicht weil es einen krassen Unterschied der Monitorauflösungen gibt, so dass auf dem zweiten Monitor die vom DVBViewer selbst durchgeführte Skalierung gemäß der Schriftgröße des primären Monitor unpassend ist. Lässt sich der vorherige Zustand mit den Windows-Optionen wieder herstellen?

 

Die Frage ist halt, was der DVBViewer standardmäßig machen soll. Deine Meinung dazu?

Link to comment

IMHO ist der jetzige Verhalten fehlerhaft. Nicht nur ist die Ausgabeauflösung falsch sondern auch:

 

-die Schriften in den Menüs sind schön gross aber verzerrt (einfach hochskaliert, nicht mit der richtigen Schriftgrösse gemacht)

-die Fenstergrösse auf 40%, 50%, 75%, 100% einzustellen geht mächtig in die Hose. Entweder ist das Fenster winzig und man sieht nur eine Ecke vom Bild oder es ist nicht gross genug (100% entsprich eher 75%)

 

Meiner Meinung nach sollte man der eingestellten Skalierung im Windows folgen. So stimmen Fenstergrössen und Ausgabeauflösung (worum es primär gehen sollte). MPC-HC macht das so und das war auch der Sinn hinter der DVBViewer Umstellung auf dpi-Aware vor einigen Monaten.

 

Nur müssten die Text-Felder in der Anwendung an den gewählten Skalierungswert orientiert werden. Ich teste gerade mit folgender Konstellation:

1er Monitor: 27", 2560x1440, 150%

2er Monitor: 27", 3840x2160, 225%

 

Mit der Kompatibilitätsoption sind die Texte auf dem 4K Monitor ein Tick zu klein, aber man kann damit leben.

Ich kann auch mit dem Workaround in den Kompatibilitätsoptionen gut leben, man müsste es aber irgendwo Dokumentieren.

Link to comment
9 hours ago, blasgl said:

Meiner Meinung nach sollte man der eingestellten Skalierung im Windows folgen.

 

Aber wenn es zwei verschiedene für zwei Monitore gibt?

 

Die Einstellung, an die sich der DVBViewer anpasst, ist immer die für den primären Monitor, soweit ich sehen kann. D.h. der DVBViewer passt sich an eine abweichende Schriftgröße auf dem zweiten Monitor nicht an. Entweder skaliert dann Windows grafisch (ohne echte Anpassung der Schrift/Fenstergröße), oder es unterbleibt. Das im DVBViewer implementierte System ist nicht in der Lage, sich zur Laufzeit umzustellen, und dies lässt sich auch nicht ohne größeren Aufwand einrichten. Also echtes "per-monitor DPI aware" ist erst mal nicht drin.

 

Deshalb sind auch Fälle denkbar, in denen jemand die von Windows durchgeführte Skalierung haben möchte, die die Testversion unterbindet. Deshalb (noch mal) meine Frage: Lässt sich das mit den Einstellungen unter Eigenschaften -> Kompatibilität bei der Testversion wieder herstellen?

 

9 hours ago, blasgl said:

Ich teste gerade mit folgender Konstellation:

1er Monitor: 27", 2560x1440, 150%

2er Monitor: 27", 3840x2160, 225%

 

Demnach müssten bei der Testversion Fenster und Schrift auf dem zweiten Monitor deutlich kleiner sein, weil sie dort nur 150% realisiert, richtig?

 

Übrigens kann man mit Resizer.exe (Teil der DVBViewer-Installation) die DVBViewer-Schrift/Fenstergröße unabhängig von der Windows-Vorgabe einstellen. Womöglich lässt sich damit noch was ausgleichen.

Link to comment

 

1 hour ago, Griga said:

Also echtes "per-monitor DPI aware" ist erst mal nicht drin

Wäre es denn wenigstens machbar, dass man den Monitor auswählen kann, wonach sich der DVBViewer für die Skalierung richtet?

 

1 hour ago, Griga said:

Demnach müssten bei der Testversion Fenster und Schrift auf dem zweiten Monitor deutlich kleiner sein, weil sie dort nur 150% realisiert, richtig?

Richtig. Ist wie gesagt kein Beinbruch.

 

59 minutes ago, Griga said:

Deshalb (noch mal) meine Frage: Lässt sich das mit den Einstellungen unter Eigenschaften -> Kompatibilität bei der Testversion wieder herstellen?

Das teste ich heute Abend und berichte dann.

Wenn der Test negativ ausfällt kann man die Anwendung so lassen wie sie im aktuellen Pro ist, und mein Fall muss halt mit den Kompatibilitätsoptionen behandelt werden.

Link to comment
24 minutes ago, blasgl said:

Wäre es denn wenigstens machbar, dass man den Monitor auswählen kann, wonach sich der DVBViewer für die Skalierung richtet?

 

Vielleicht. Ist etwas unübersichtlich. Werde ich vor dem Release nicht angehen. Außerdem kann man das notfalls selbst mit Resizer.exe herstellen. Die neue Version für die Pro 6.0 wird bis 300% ermöglichen.

Link to comment

Mit der Testversion kann ich folgendes Feststellen:

Kompatibilität -> nichts gepflegt -> korrekte Ausgabe. Text auf 150%, nicht grafisch eskaliert
Kompatibilität -> Skalierung bei hohem DPI-Wert deaktiviert, Skalierung durch Anwendung -> korrekte Ausgabe. Text auf 150%, nicht grafisch eskaliert
Kompatibilität -> Skalierung bei hohem DPI-Wert deaktiviert, Skalierung durch System -> falsche Vollbild-Ausgabe in beiden Monitoren
Kompatibilität -> Skalierung bei hohem DPI-Wert deaktiviert, Skalierung durch System (Erweitert) -> falsche Fenster-Ausgabe in beiden Monitoren.

 

Der ursprüngliche Verhalten von DVBViewer lässt sich nicht herstellen.

Link to comment
1 hour ago, blasgl said:

Der ursprüngliche Verhalten von DVBViewer lässt sich nicht herstellen.

 

Also zusammengefasst: Windows skaliert die Testversion entweder auf keinem oder auf allen Monitoren.

 

Damit stellt sich die Frage, ob die höhere Flexibilität der bisherigen Variante oder die in der Testversion durchgeführte Festlegung besser ist. Beim bisherigen DVBViewer kann man die grafische Skalierung durch Windows auf dem zweiten Monitor wegkonfigurieren, muss aber wissen, dass das geht und wie es geht. Bei der Testversion ist sie von vornherein unterbunden, aber man kann eine auf den zweiten Monitor beschränkte Skalierung durch Windows nicht mehr aktivieren.

 

Sowas ist schwer zu entscheiden, weil man nicht weiß, in welchen und wievielen Nutzungsszenarien das welche Rolle spielt ;)

Link to comment

Ich bin Einverstanden, dass die Testversion wenigere Möglichkeiten anbietet, was die Skalierung anbelangt. Mich stört nur das falsche Ausgabefenster im 2. Monitor "out-of-the-box". Schön ist was anderes.

 

Ich habe im Moment 2 Workarounds:
-Windows-Skalierung auf dem 2. Monitor wie auf dem 1. einstellen.
-Kompatibilitätsoptionen für den Viewer so anpassen: Skalierung bei hohem DPI-Wert deaktiviert, Skalierung durch Anwendung.

 

Für mich die Situation ist so OK, man muss sich nur merken, an welchen Rädchen wir alles gedreht haben, um es hinzubekommen.

 

Danke Griga nochmal für die Mühe!

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...