AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Windows 10 Bildskalierungsalgorithmus aufbohren/ersetzen (systemweit)
Thema durchsuchen
Ansicht
Themen-Optionen

Windows 10 Bildskalierungsalgorithmus aufbohren/ersetzen (systemweit)

Ein Thema von mael · begonnen am 23. Dez 2021 · letzter Beitrag vom 28. Dez 2021
Antwort Antwort
Benutzerbild von mael
mael

Registriert seit: 13. Jan 2005
391 Beiträge
 
Delphi XE3 Professional
 
#1

Windows 10 Bildskalierungsalgorithmus aufbohren/ersetzen (systemweit)

  Alt 23. Dez 2021, 19:52
Hallo,

Mittlerweile sind ja viele Displays nur noch sinnvoll mit DPI-Skalierung zu betreiben.

Trotzdem wird es immer Anwendungen geben die nicht aktualisiert werden und nicht mit DPI-Skalierung harmonieren.

Hier skaliert Windows 10 selbst (also Bild/pixelbasiert), und macht die App sehr unscharf.

Es gibt hier deutlich bessere Algorithmen (z.B. wie auch aus Emulatoren bekannt). Wo wäre denn der Ansatzpunkt/die Funktionen in der WinAPI wo man da ansetzen kann?

Vielleicht haben sich einige der Low-Level-Enthusiasten schon mal damit beschäftigt oder weiterführende Links?
HxD, schneller Hexeditor:
http://mh-nexus.de/hxd
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.139 Beiträge
 
Delphi 12 Athens
 
#2

AW: Windows 10 Bildskalierungsalgorithmus aufbohren/ersetzen (systemweit)

  Alt 24. Dez 2021, 00:30
Im App-Manifest kannst du Windows sagen, dass du Dieses machen willst, dann macht Windows hier nichts mehr.

In aktuelleren Delphis gibt es direkt in den Projektoptionen was,
aber wenn jemand unbedingt mit einem fast 10 Jahren altem Delphi arbeiten will, welches neuere Windowse noch nicht kennen kann, dann muß er es eben selbt machen.

https://docs.microsoft.com/de-de/win...tion-manifests
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.009 Beiträge
 
Delphi 12 Athens
 
#3

AW: Windows 10 Bildskalierungsalgorithmus aufbohren/ersetzen (systemweit)

  Alt 24. Dez 2021, 09:13
Im App-Manifest kannst du Windows sagen, dass du Dieses machen willst, dann macht Windows hier nichts mehr.
Wenn ich ihn richtig verstanden habe, möchte er den internen Windows-Skalierer durch einen eigenen ersetzen, so dass alle Anwendungen davon profitieren, nicht nur die selbst geschriebenen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Windows 10 Bildskalierungsalgorithmus aufbohren/ersetzen (systemweit)

  Alt 27. Dez 2021, 09:06
Wenn die Anwendung nichts kann, dann kann man nur pixelbasiert skalieren. Es gibt andere Skalierungsalgorithmen, oder Post Processing-Filter die man nochmal drüber laufen lassen könnte um das Bild nachträglich versuchen zu schärfen, aber ich glaube kaum dass das ein Feld ist wo Leute (außer dir) oder Microsoft groß Aufwand reinstecken wollen würde. Der richtige Ansatz ist, der Anwendung DPI-Skalierung beizubringen.

Um ehrlich zu sein kenne ich persönlich außer Delphi < 10.4 und unserem 30 Jahre alten ERP-System keine Anwendung die heute nicht mehr richtig High DPI-fähig ist.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.009 Beiträge
 
Delphi 12 Athens
 
#5

AW: Windows 10 Bildskalierungsalgorithmus aufbohren/ersetzen (systemweit)

  Alt 27. Dez 2021, 10:42
Wenn die Anwendung nichts kann, dann kann man nur pixelbasiert skalieren.
Windows bietet ja immerhin die GDI-Skalierung an. Dabei werden dann (die meisten) Text-Inhalte mit höherer Auflösung dargestellt. Die Icons z.B. bleiben aber weiterhin verwaschen. Ein paar Beispiele kann man hier sehen: Improving the high-DPI experience in GDI based Desktop Apps
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: Windows 10 Bildskalierungsalgorithmus aufbohren/ersetzen (systemweit)

  Alt 27. Dez 2021, 14:44
Stimmt, das hatte ich gar nicht mehr auf dem Schirm (Wortwitz beabsichtigt).

Toller Artikel mit vielen anschaulichen Bildern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.139 Beiträge
 
Delphi 12 Athens
 
#7

AW: Windows 10 Bildskalierungsalgorithmus aufbohren/ersetzen (systemweit)

  Alt 28. Dez 2021, 17:04
Und wenn Grafiken nur in wenigen Pixeln vorliegen, dann könnten da aus dem Nichts auch nicht mehr nichtorhandene Details der Icons auftauchen.

Da wo Windows (GDI) das Zeichnen übernimmt, wie z.B. bei Fnts, da kann dann auch "nach" dem Saklieren auf die deteilreichere Ausgabe auch mit mehr Pixeln der Font ausgegeben werden.
Außer, wenn z.B. über sowas wie DoubleBuffering erst unskaliert geschrieben wird, wo beim Hochskalieren dann auch bei der Schrift nicht mehr mehr rauskommen kann.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (28. Dez 2021 um 17:06 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz