Archiv verlassen und diese Seite im Standarddesign anzeigen : TFT: Interpolation trotz halber Auflösung?
Knötchen
2006-03-28, 13:16:18
Moin! Habe im Treiber (84.25) meiner GF 6800 GT auf "Skalierung mit festen Seitenverhältnis" gestellt. Die native Auflösung meines TFTs ist 1280x1024. Wenn ich ein old skool game starte mit einer Auflösung mit 640x480, habe ich
1.) volle Breite (dh. jeder der 640 Pixel einer Zeile verteilt sich auf zwei Pixel des Monitors -> 1280)
2.) nicht ganz volle Höhe (schwarze Balken oben und unten), weil die 480 Spielepixel sich auf 960 TFT-Pixel verteilen, anstatt auf die 1024.
Soweit so gut. ABER das Komische ist, das trotzdem interpoliert wird. :confused: Das kann man zB. besonders gut an der Schrift im Spiel sehen, bzw. an der zermatchten Grafik. Frage: Wie kann das sein? Eigentlich müsste sich doch jedes Spielepixel auf exakt 4 TFT-Pixel verteilen, so dass das Bild zwar grösser und grobpixeliger wird, aber NICHT interpoliert.
PS: Am Monitor kann ich nicht den Bildschirmmodus (skaliert usw.) einstellen, sondern ich muss es im Grafikkartentreiber machen.
NeoTiger
2006-03-28, 16:42:20
Ist halt so. Der TFT interpoliert dann jeden Zwischenpixel aus den jeweils 2 oder vier angrenzenden Pixeln. Warum auch nicht? Für Video-Wiedergabe ist das sinnvoll. Für Text-Ausgabe oder Retro-Gaming vielleicht nicht - aber woher soll der TFT denn wissen, was du von ihm erwartest?
Knötchen
2006-03-28, 16:59:14
vielleicht indem ich ihn ganz lieb streichle und gut zurede? (Habs probiert, hat nicht geklappt)
Aber "Ist halt so." finde ich jetzt irgendwie nicht befriedigend.
Ist halt so. Der TFT interpoliert dann jeden Zwischenpixel aus den jeweils 2 oder vier angrenzenden Pixeln. Warum auch nicht? [...]
Weils vermatscht aussieht und ausserdem finde ich das auch nicht logisch. Wenn ein Grafikpixel exakt auf vier LCD-Pixel passt, dann muss man ja nicht interpolieren. hmmmm ... gibt es evtl. eine Software, die ein 640x480 Bild auf 1280x960 hochrechnet (ohne zu interpolieren!) und als native 1280x1024 Auflösung an den Monitor schickt? Das wäre doch die Lösung. Eigentlich dachte ich sogar, das könnte der Grafikkartentreiber machen.
PatkIllA
2006-03-28, 17:06:48
Ist aber Standard und in fast allen Fällen ist eine ordentliche Interpolation deutlich besser als ein aufblähen der Pixel, was eh bestenfalls bei ganzen Vielfachen funktioniert.
Die Apple Displays machen das glaub ich so, wie du es haben willst.
Spasstiger
2006-03-28, 17:17:40
Du könntest für solche Fälle Doublescan im Treiber aktivieren, dann macht die Grafikkarte genau das was du möchtest, nämlich 1 Pixel auf 4 Pixel verteilen. Funktioniert bis 800x600 (woraus dann 1600x1200 wird).
Knötchen
2006-03-28, 17:32:03
aha, na dann gucke ich mal wo ich dieses doublescan im Treiber finde ...
PatkIllA: das ist der Punkt! Mein tft interpoliert nicht sonderlich gut, da wäre mir ein vierfacher Pixel einfach lieber.
Schnappi
2006-03-28, 17:51:21
Wie sieht eigentlich eine gute Interpolation aus?
So als wenn die interpolierte Auflösung die native wäre?
Wie sieht eigentlich eine gute Interpolation aus?
So als wenn die interpolierte Auflösung die native wäre?
das wäre aber eine sehr gute interpolation ;)
PatkIllA
2006-03-28, 18:03:11
nö
da kommt man nicht ran.
Mach einen Screenshot in der niedrigen AUflösung und bringe es mit einer Bildverarbeitung auf die Auflösung deines Bildschirmes. Bei Video/Fotos fällt das kaum auf, aber bei feinen scharfen Strukturen wie Schriften ist es dann doch immer noch matschig.
Um Text besser zu skalieren bräuchte man deutlich höhere Auflösungen je Flächeeinheit.
Bei den 15" Notebookdisplays mit 1920x1200 geht das schon deutlich besser als bei einem Desktop-TFT.
Knötchen
2006-03-28, 18:10:28
Hallo Schnappi. Ich glaube dass das nicht geht, weil die Infos von zwei oder mehr Pixeln auf ein Pixel runtergerechnet werden müssen. Dass es dabei zu einer gewissen "Schwammigkeit" kommt ist sicher so gewollt. Als Alternative könnte man die Pixel einfach clippen lassen, also entweder das eine, oder das andere Pixel anziegen. Das sieht dann aber bestimmt so richtig doof aus, weil dadruch ganz einfach Bildinformationen verworfen werden.
Aber es gibt sicher gute und weniger gute Interpolationen, genauso wie es gutes und weniger gutes Antialiasing gibt. Im Prinzip ist die Interpolation eines niedriger aufgelösten Bildes auf eine höhere Auflösung doch nichts anderes als das was bei AA passiert, bzw. im Grunde ist es AA. Es werden Samples von benachbarten Pixel/Werten genommen und deren Information auf ein neues Pixel / einen neuen Wert runtergerechnet. Je nach Güte des Algorithmus und nach Menge der ausgewerteten Informationen kann dies gut oder schlecht aussehen.
Wie auch immer. Ich hatte bisher zwei andere TFTs und die haben wahrnehmbar besser interpoliert, hatten dabei aber lange nicht so ein geschmeidiges Bild bei nativer Auflösung.
Knötchen
2006-03-28, 18:18:57
@Spasstiger: Wegen der Coolbitsfreischaltung hat mein Treiberpanel gefühlte 250 Seiten, könntest du grob beschreiben, wo man dieses doublescan feature findet?
PatkIllA
2006-03-28, 18:19:56
Bei AA werden mehr Pixel berechnet und zu einer Information zusammengefasst.
Hier ist es ja eher andersrum.
Deine gewollte Methode heisst übrigens PointSampling, aber das ist nur bei ganzzahligen Faktoren ansatzweise brauchbar und dann auch eigentlich nur in speziellen Fällen. Dafür ist halt sehr schnell und man braucht nur Ganzzahlarithmi. Es gab/gibt sogar Geräte die das machen. Werden aber immer weniger
Besser ist da bikubisch oder Lanczos-Resize. Und es gibt noch dutzende andere Methoden und fast alle lassen sich noch über Parameter steuern.
Knötchen
2006-03-28, 18:27:03
Bei AA werden mehr Pixel berechnet und zu einer Information zusammengefasst.
Hier ist es ja eher andersrum.
Das war auch nur als Beispiel gemeint, es geht natürlich in beide Richtungen, beides ist Antialiasing. oder etwa nicht?
Deine gewollte Methode heisst übrigens PointSampling, aber das ist nur bei ganzzahligen Faktoren ansatzweise brauchbar und dann auch eigentlich nur in speziellen Fällen.
Hmm .. dann haben wir hier wohl gerade so einen speziellen Fall. Ich würde wirklich leibend gerne mit übergrossen Pixeln leben als mit schlecht interpolierten Matschpixeln.
Dafür ist halt sehr schnell und man braucht nur Ganzzahlarithmi. Es gab/gibt sogar Geräte die das machen. Werden aber immer weniger
Besser ist da bikubisch oder Lanczos-Resize. Und es gibt noch dutzende andere Methoden und fast alle lassen sich noch über Parameter steuern.
Ja, ich habe geahnt, dass es unterschiedliche Algos gibt, als ich über die Güte eines Algos schrub.
Muh-sagt-die-Kuh
2006-03-28, 18:42:32
Moin! Habe im Treiber (84.25) meiner GF 6800 GT auf "Skalierung mit festen Seitenverhältnis" gestellt. Die native Auflösung meines TFTs ist 1280x1024.
[...]
PS: Am Monitor kann ich nicht den Bildschirmmodus (skaliert usw.) einstellen, sondern ich muss es im Grafikkartentreiber machen.In diesem Fall wird die Skalierung immer von der Grafikkarte und nicht vom Display durchgeführt (sprich das Display bekommt von der Grafikkarte immer ein Bild in der nativen Auflösung geliefert) => Wenn jemand schuld ist, dann die nVidia Treiberprogrammierer.
Knötchen
2006-03-28, 19:00:22
Ahh, das macht Sinn, Kuh. Das erklärt auch, warum die interpolierten 1280x1024 meines Monitors besser aussehen als die noch übler interpolierten 1280x960 des Grafikkartentreibers. Wieso der Treiber nun auch noch interpolieren muss, wenn eine einfache Vervielfältigung der Pixel ausgereicht hätte (und ca 20 mal besser aussehen würde), weiss Nvidia allein.
Meine Hoffung ist immernoch dieses doublescan, bzw. eine andere Software, die das kann. Kann mir da jemand helfen?
vBulletin®, Copyright ©2000-2025, Jelsoft Enterprises Ltd.