Brueggi hat geschrieben:Also warum die Lucasarts-Adventures auf EGA langsamer laufen weiss ich bzw. denke ich zu wissen. Weil die 320*200 VGA-Auflösung in 640*350 emuliert wird. Da sind schonmal mehr Grafikdaten zu transportieren, außerdem müssen die 256 Farben erstmal in ein entsprechendes Raster umgerechnet werden. Bis auf 2-3 Stellen bei MI2 bzw. IJ4 läufts aber auch auf einem 286 mit 1 MB und EGA gut, hab damals beide Games auf einem Schneider Tower AT 286 mit EGA durchgespielt.
Ich vermute mal, das Wing Commander eine ähnliche umrechnerei macht?
Ich denke nicht, dass die Games von VGA 320x200 auf 640x350 (EGA) umgerechnet wurden. Ich habe die genannten Games hierauf nicht getestet, halte es aber für nahezu ausgeschlossen.
Grund dürfte eher sein, wie es DosFeratu schon sagte: EGA hat eine komplizierte Pixeladressierung, was den Geschwindigkeitsverlust trotz halber Datenmenge bereits erklärt. Die kleinste Zugriffseinheit auf den 80x86-ern ist ein Byte bestehend aus 8 Bit. Bei VGA kann man daher auf eine Pixeladresse unschwer zugreifen, weil die 256 Farben eben genau in ein Byte passen. Will man bei VGA einen Bildpunkt lesen, muss man nur die entsprechende Speicherstelle auslesen. Will man einen Bildpunkt setzen, muss man nur die entsprechende Speicherstelle mit dem Farbwert beschreiben.
Bei EGA ist das ganze viel komplizierter. Dort befinden sich 8 Bildpunkte an einer Speicherstelle, was dazu führt, dass ein Bildpunkt nur durch ein einziges Bit repräsentiert wird. Zusätzlich ist die Farbinformation des jeweiligen Bildpunkts dann über vier unabhängige Speicherbereiche verteilt (quasi einer für rot, einer für grün, einer für blau und einer für intensiv).
Will man bei EGA einen Bildpunkt lesen, muss man die vier Speicherbereiche einlesen und jedesmal das relevante Bit isolieren. Dies bedeutet vier Lesezugriffe und vier Bitmanipulationsroutinen um bei EGA einen Bildpunkt zu lesen. Im Vergleich dazu: VGA (s.o.) benötigt man nur einen einzigen Lesezugriff und gar keinen Bitmanipulationsaufwand. Ähnlich erhöht ist bei EGA auch der Aufwand für das Setzen einzelner Pixel oder das Kopieren von Bitmaps (auch, wenn hier der Aufwand nicht ganz so hoch ist).
Ich denke das ist, was DosFeratu vorher meinte:
DOSferatu hat geschrieben:drzeissler hat geschrieben:Die Erfahrung WC1 auf EGA langsamer als VGA habe ich auch gemacht.
Man kann WC1 auf so einer Kiste spielen aber richtig Spass macht es
natürlich nicht.
Doc
Ja, das liegt wohl daran, daß EGA-Modi eher "aufgebohrte Hercules-Mono" Modi sind und die Adressierung (und damit Ansteuerung der Pixel) der EGA-Modi dadurch relativ abenteuerlich umgesetzt wurde - um's mal milde auszudrücken.
Hinzu kommt noch, dass die meisten EGA-Karten nur eine Bndbreite von 150-300 kb/s hatten, wohingegen auch die langsamsten VGA (OAK, IBM) schon bei 500-600kb/s lagen.
Ich halte es daher für ausgeschlossen, dass MI 2, Indiana IV für EGA 640x350 verwendet haben. Meine Erfahrungen mit anderen Games (z.B. Eye of Beholder, Ultima VI) ist eigentich immer, dass EGA 320x200 verwendet wurde, wenn man nicht VGA ausgewählt hatte.