PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : GDI ? Direct3D ? DirectDraw ?



Morast
29-01-2008, 19:57
Hi!
Ich habe meine Mamekiste zu 95% fertig.
Hatte ohne ende Brassel wegen des Monitors und habe mich letztendlich entschlossen einen LCD-Fernseher einzubauen.
Jetzt war ich mit dem Bild nicht ganz zufrieden, da der Fernseher nur eine Auflösung von 640x480 hat.
Z.B. sahen runde Objekte voll besch... aus... nicht richtig rund..irgendwie interpoliert.....
Habe wochenlang so rumgezoggelt...

Jetzt habe ich einfach mal ein wenig in den Optionen rumgefummelt und habe mal den Renderer(?) auf GDI umgeschaltet.
Siehe da, ein geiles Bild !
Zusätzlich noch den Scanlines-Effect reingekloppt und das Bild ist bei (fast) allen Games so wie ich es haben will ! Selbst Vektorspiele sind nahezu wie bei einem Original Automaten!

Habe deshalb nur der Interesse halber die Frage:

WHAT THE F*CK IS GDI ??? :D

SailorSat
29-01-2008, 23:47
Was GDI ist? Das Graphics Device Interface.

DIE Grafikschnittstelle vor DirectX (also vor Windows 95).
Mich wundert es ein wenig das du mit GDI ein "besseres" Bild kriegst als mit DirectDraw, da beide das selbe ausgeben müssten.

Aber mal außen vor... GDI ist als Failback Lösung zu betrachten wenn alle Stricke reissen und zudem sau langsam da sie keinerlei "Hardware"-Beschleunigung (ja selbst das malen eines Kreises oder einer Linie geht als Hardwarebeschleunigung durch...) besitzt.

Linulo
30-01-2008, 04:05
Das stimmt nicht so ganz. GDI besitzt sehr wohl Hardwareunterstützung (die erst mit Windows Vista wegen teilweise besserer Performance von Softwarerendering auf modernen CPUs) fallengelassen wurde.

Außerdem ist GDI gar nicht schlecht wenn es darum geht, Spielegrafik mit geringer Auflösung auf einen Monitor mit höherer Auflösung zu skalieren. GDI hat aber, wie Du richtig sagtst, auch Nachteile. Das sind:

Wenige Features
Tearing wegen fehlendem VSync
Geringere Performance als DirectX/OpenGLZu DirectX: Das muss beileibe nicht dasselbe Bild ergeben. Ich weiß nicht, wie es MAME genau macht, aber normalerweise wird zum Skalieren das Originalbild auf eine Textur gemappt und die dann mit Direct3D bildschirmfüllend vergrößert. Dabei können alle möglichen Gimmicks der GraKa genutzt werden (trilinear, anisotropisch, ...), was selten dasselbe ergibt wie GDIs bilineares Skalieren.

Morast
30-01-2008, 21:32
Also ich habe eine 2GHz CPU drin und bisher habe ich bei kaum einem Spiel Performanceprobleme gehabt.
Kann mir vorstellen, daß bei "neuen" Games so ab Anno 2000 oder so Probleme auftauchen könnten.

Hier mal zwei Vergleichsbilder:

Direct3D:
http://img232.imageshack.us/img232/7662/bild012no5.jpg

GDI:
http://img232.imageshack.us/img232/3249/bild011xt9.jpg

Ich denke der Unterschied ist ENORM !

Konrad
30-01-2008, 22:10
Jo. Weil deine Einstellungen falsch sind ;).

(Tipp: Scaling und AspectRatio ;P)

Morast
31-01-2008, 11:23
LOL?
Was heißt meine Einstellungen sind falsch ?
Also ich habe soweit alles ausprobiert was man machen kann.
Ich möchte natürlich, daß das Bild auf Bildschirmgröße hochskaliert wird.

Wenn ich das mit Direct3D mache entsteht so ein Bild wie das erste.
Das Seitenverhältnis natürlich eingehalten.

Was mache ich falsch ?

SailorSat
31-01-2008, 12:00
wenn du so scharf bist ;)

Filter 0
Switchres 0
Direct3D 9

Morast
31-01-2008, 19:14
R.O.F.L. !
Du hast Recht !
Ich hatte wohl einen kleinen Haken übersehen... Switchres ;)

Danke !