Sie sind auf Seite 1von 14

Liesmich zum GLIDE3-zu-OpenGL-Wrapper Version 1.

4e (c) 2010 by Sven Labusch


Aufbau:
1. Vorwort
2. "Lieferumfang"
3. Anforderungen
4. Installation/Deinstallation
5. Dateibeschreibungen
6. Hinweise/technische Aspekte
7. Versions-nderungen
8. Hufig gestellte Fragen
9. Sonstiges
1. Vorwort
Erstmal hallo allerseits!
um es kurz zu fassen: mich hat die Leistung, die Diablo2 unter Direct3D an den T
ag legt genervt.
Da Diablo2 mit der Glide-Schnittstelle eine bessere Figur macht, war es fr mich n
aheliegend, irgendwie zu versuchen, dass das Spiel auch auf meinem Rechner mit G
lide laufen kann. Dabei gab es zwei Probleme:
1. Glide-Treiber gibt es nur fr Voodoo-Karten. Diablo2 braucht Voodoo-Karten ab d
em Typ Voodoo-Rush, dummerweise hat mein Rechner aber 'ne Geforce2MX.
2. Glide-Wrapper gibt es viele, aber leider habe ich keinen finden knnen, der fr m
ich zufriedenstellend mit Diablo2 luft.
Nachdem auch der Patch 1.10 keine Besserung mit sich brachte, beschloss ich mich
selbst daran zu setzen. Das Ergebnis ist dieser Wrapper, bei dem ich nochmal ex
tra betonen mchte:
Dieser Glide-Wrapper ist explizit fr das Spiel Diablo2 programmiert, es ist davon
auszugehen, dass er mit anderen Programmen NICHT luft, oder zumindest keine korr
ekte Anzeige liefert.
Nachtrag:
Dies ist die Version 1.4e von dem Wrapper.
Und ein Dankeschn an "Seltsamuel", "Shabazza", "Luzi", "mindphlux", "UnserenToten
", "ChaosEnergy", "acesulfam", "Seltsamuel" und dem Staff aus dem inDiablo.de-Fo
rum, welche mir geholfen haben.
2. "Lieferumfang"
4 Dateien:
glide-liesmich.txt 34366 Byte
glide-readme.txt 29535 Byte
glide-init.exe 134144 Byte
glide3x.dll 138752 Byte
3. Anforderungen
Bentigt (="damit er berhaupt funktioniert"):
- OpenGL-konforme Grafikkarte
- ansonsten gleiche Anforderungen wie das Spiel selbst
Empfohlen (="damit man auch was von hat"):
- OpenGL1.3-konforme Grafikkarte
- Grafikkarte ab dem Kaliber einer Geforce256 mit 32MB Grafikspeicher
- mind. 256MB Hauptspeicher
NICHT empfohlen (=weil's damit u.U. schlechter luft als vorher):
- jedwede Art von Grafikkarte mit shared-memory-Architektur
kann man natrlich trotzdem versuchen, aber eine Verbesserung halte ich fr unwahrsc
heinlich
4. Installation/Deinstallation
Es gibt 2 Mglichkeiten zur Installation:
1. Die Datei "glide3x.dll" in das Windows-Systemverzeichnis (z.B. "c:\windows\sy
stem") kopieren
2. Die Datei "glide3x.dll" in das Spiele-Verzeichnis (z.B. "c:\spiele\diablo2")
kopieren
Da Dieser Wrapper ausschliesslich fr Diablo2 programmiert ist, empfehle ich den 2
.Weg
Sind die Dateien kopiert, muss im Anschluss noch der Vid-Test von Diablo2 ausgefh
rt und Glide ausgewhlt werden.
Fr die Deinstallation empfehle ich folgende Vorgehensweise:
1. Die glide-init.exe starten und dort unter "Std/Export" den Punkt "+Registry-E
intrge lschen" anwhlen.
2. Die Wrapper-Dateien lschen
3. Im Vid-Test von Diablo2 den Grafikmodus wechseln.
5.Dateibeschreibungen
glide-liesmich.txt:
Das ist die Datei die sie gerade lesen.
glide-readme.txt:
Wie die glide-liesmich.txt, nur auf englisch.
glide3x.dll:
Das ist der eigentliche Wrapper.
Sollte der Wrapper von sich aus einen Fehler bemerken, so wird eine Datei Namens
"gl32ogl.err" erstellt, in welcher der Fehler beschrieben wird.
glide-init.exe:
Hiermit knnen einige Einstellungen am Wrapper verndert werden. Das Programm ist da
bei in mehrere Bereiche aufgeteilt:
Links ist das Hauptmenu,
in der Mitte knnen die eigentlichen Parameter eingestellt werden,
Rechts ist ein Info-Screen, der evtl. Hilfen zu den Parameter-Einstellungen gebe
n kann
und Unten wird der Inhalt der glide-liesmich.txt(bzw. glide-readme.txt) angezeig
t.
nderungen an den Einstellungen werden in der Registry gespeichert.
Im Hauptmenu gibt es folgende Wahlmglichkeiten:
OpenGL-Infos
Einstellungen
Renderer
Wrapper-Anzeige
Extensions
Std/Export
Test
Deutsch/English
Beenden
Die Parameter-Einstellungsmglichkeiten sind abhngig davon, welches Menu man im Hau
ptmenu gewhlt hat:
OpenGL-Infos:
Hier kann nichts direkt eingestellt werden. Dieses Menu dient dazu, vom OpenGL-T
reiber Informationen einzuholen, wieviel Grafikspeicher installiert ist, wie gro
die Texturen maximal sein drfen und welche Extensions berhaupt untersttzt werden,..
.
Diese Informationen mssen bei Bedarf manuell eingeholt werden, indem man auf "Ope
nGL-Infos einholen" klickt.
Es ist mglich, dass nach Einholen der Infos der OpenGL-Treiber auf dem Rechner ev
tl. nachfolgende Testlufe nicht richtig durchfhrt, in dem Fall bitte das Programm
erst beenden, bevor ein erneuter Testlauf gestartet wird.
Einstellungen:
Hier knnen generelle Haupteinstellungen vorgenommen werden:
Fenstermodus:
Wenn aktiviert wird das Spiel im Fenstermodus dargestellt ansonsten im Vollbild
modus (unabhngig davon, ob bei der Spiel-Verknpfung der Parameter "-w" vorhanden i
st, oder nicht). Nichts desto trotz: ich empfehle den Start-Parameter "-w" bei d
er Spiel-Verknpfung anzufgen, wenn man im Fenstermodus spielen will, um ein Umhers
pringen des Mauszeigers bei Inventar-ffnen/Schliessen zu vermeiden.
Maus begrenzen:
Es wird verhindert, dass die Maus das Spiel-Fenster verlsst.
festes Seitenverhltnis:
Wenn aktiviert, wird bei skaliertem Fenster bzw. bei Desktopauflsung das Bild 4/
3-Seitenverhltnis gerendert. Eventuell zustzlicher Platz im Fenster/auf dem Bildsc
hirm wird mit schwarzen Balken aufgefllt.
vertikale Synchronisation(VSYNC):
Wenn aktiviert, wird der Bildwechsel vom Spiel mit dem Bildwechsel vom Monitor
gleichgeschaltet. Die Framerate von dem Spiel kann dann dadurch nicht hher werden
, als die Bildwiederholfrequenz vom Monitor, was auch vernnftig ist:
wenn der Monitor z.B. nur 100 Bilder pro Sekunde darstellen kann, warum sollte d
as Spiel dann z.B. 150 Bilder pro Sekunde berechnen? 50 davon landen dann doch u
ngesehen im "Mll".
Naja, man knnte sehen, wieviel Reserven der Computer noch hat, aber ansonsten....
.
FPS-Limit:
Hier kann angegeben werden, welche Framerate der Wrapper maximal liefern soll.
Ist eigentlich nur ntig, wenn VSYNC nicht funktioniert, man aber trotzdem Grafikk
arte und Prozessor schonen mchte.
feste Gre:
Hier kann angegeben werden, ob das Spiele-Fenster auf eine ganz bestimmte Gre gez
ogen werden soll. Wenn hier eine bestimmte Gre angegeben ist und der Fesntermodus
deaktivert ist, wird der Rest des Bildschirms schwarz dargestellt.
Fenster extras:
Wenn aktiviert, wird das Spiel-Fenster um die Mglichkeit erweitert, in der Gre gend
ert zu werden. Der Fensterinhalt wird dann dementsprechend vergrert oder verkleine
rt, was allerdings die Grafikqualitt nicht wirklich verbessert.
Zentriert: (nur im Fenstermodus)
Wenn aktiviert und im Fenstermodus gerendert wird, wird das Fenster automatisch
auf dem Bildschirm zentriert.
Position merken: (nur im Fenstermodus)
Wenn aktiviert, merkt sich der wrapper die Position des fensters, sodass es nac
h Programm-Neustart wieder dort erscheint, wo es vorher war.
Bildwiederholfrequenz: (nur im Vollbildmodus)
Wenn das Spiel im Vollbildmodus gerendert wird, kann hier eingestellt werden, m
it welcher Bildwiederholrate der Monitor betrieben werden soll. Welche Einstell-
Mglichkeiten zur Verfgung stehen hngt dabei ganz vom Betriebssystem, Grafikkarte, M
onitor usw. ab.
Desktopauflsung: (nur im Vollbildmodus)
Wenn aktiviert und das Spiel im Vollbildmodus Dargestellt wird, wird an der Bil
dschirm auflsung nichts verndert: das Spiel rendert also in der Desktopauflsung. Ei
ngefgt habe ich diese Funktion, da mir schon einige TFT-Bildschirme vor die Nase
gekommen sind, welche die Auflsung 800x600 nicht zufriedenstellend darstellen kon
nten. Wie auch fr "Fenster extras" gilt: die Bildqualitt wird dadurch im Normalfal
l nicht verbessert.
Renderer:
Hier werden Einstellungen vorgenommen, die die Render-Engine vom Wrapper selbst
betreffen:
Textur-Speicher:
Hier kann eingestellt werden, wieviel zur Verfgung stehender Textur-Speicher an
das Spiel gemeldet werden soll. Es ist zu beachten, keinen zu groen Wert einzuste
llen, da sonst der Grafikkarten-Treiber mit dem unntigen Auslagern von texturen B
eschftigt wird. Einige Treiber kommen damit sogar berhaupt nicht klar, und es komm
t zu Textur-Fehlern (z.B. schwarze Bereiche in der Landschaft).
Welcher Wert jetzt nun aber der Optimale Wert ist, ist ganz von dem Rechner, den
Einstellungen und auch den Treibern abhngig. Wurden OpenGL-Infos eingeholt wird
unter Parameter-Infos eine Schtzung abgegeben, welcher Wert wohl gut sein knnte, a
llerdings ist dieser Wert grozgig nach Unten hin abgeschtzt, sodass ein testweises
hhersetzen durchaus noch eine Verbesserung der Leistung bewirken kann.
Puffer-Textur-Gre:
Hier wird eingestellt, wie Gro die Puffer-Texturen des Wrappers sein sollen. Je
kleiner die Puffer-Texturen, desto mehr Spiel-Texturen passen auf die Grafikkart
e,
allerdings: je grer die Puffer-Texturen, desto mehr Spiel-Texturen passen gleichze
itig in eine Puffer-Textur.
welches der Beste Wert ist, hngt von der gre des Textur-Speichers auf der Grafikkar
te ab. Aber pauschal wrde ich mal sagen, das 1024x1024 ein brauchbarere Wert ist.
32 Bit Rendern:
Wenn aktiviert und im Vollbildmodus gerendert wird, wird der Monitor auf 32 Bit
Farbtiefe gestellt und der Wrapper rendert mit 32 Bit genauigkeit statt der Ans
onsten 16 Bit.
Ob nun 16 oder 32 Bit besser sind, hngt von der Grafikkarte ab, neuere Grafikkart
en kommen besser mit 32 Bit zurecht, ltere mit 16.
Textur fr Videos:
Wenn aktiviert, werden Videos nicht direkt auf dem Bildschirm dargestellt, sond
ern ber eine Textur. Bei einigen Grafikkarten-Treibern funktioniert das auch tatsc
hlich schneller.
Bilinearer Filter:
Wenn aktiviert , rendert der Wrapper erst in eine Textur und von dort dann auf
den Bildschirm. Dieser Zwischenschritt reduziert zwar die Framerate, sorgt bei D
esktop-Auflsung aber fr eine bessere Grafik.
Supersampling:
Wenn aktiviert und "WGL_ARB_render_texture" ebenfalls aktiviert, wird das Bild
erst in vierfacher Auflsung gerendert und danach auf die richtige Gre gestutzt. Red
uziert die Framerate zwar noch einmal, gibt dem Bild aber ein wenig mehr an Schrf
e.
Shader-Gamma:
Wenn aktiviert , wird die Gamma/Kontrast-Einstellung von dem Spiel ber Shader re
alisiert. Reduziert wiederrum die Framerate, hat aber auch Vorteile: Screenshots
sind gammakorrekt und im Fenstermodus wirkt sich die Gamma-Einstellung nur auf
das Fenster aus.
kein Gamma:
Wenn aktiviert, lsst der Wrapper die Gamma-Einstellung in Ruhe.
Desktopgestaltung erhalten:
Wenn aktiviert, lsst der Wrapper die Einstellung der Desktopgestaltung so wie si
e ist. Ansonsten wird sie deaktiviert, solange das Spiel luft.
Wrapper-Anzeige:
Hier knnen Einstellungen vorgenommen werden, die die Darstellung von Statusinform
ationen im Spiel betreffen:
Infos anzeigen:
Hier wird ausgewhlt in welcher Ecke des Bildschirms die Informationen gezeigt we
rden sollen.
Framerate:
Wenn aktiviert, zeigt der Wrapper die Framerate mit an, welche sekndlich aktuali
siert wird. Da der Wrapper die Framerate unabhngig vom Spiel ermittelt ist eine e
ventuelle Abweichung von der Frameraten-Anzeige des Spiels selbst nicht ungewhnli
ch.
Uhr:
Wenn ausgewhlt, wird die Uhrzeit mit angegeben (im entsprechenden Stil). Die Uhr
zeit-Angabe entspricht dabei dem Wert, der sonst auch in der Taskleiste angezeig
t wird.
Texturmasse:
Wenn aktiviert, gibt der Wrapper auch an, wieviel Textur-Speicher fr die Puffer-
Texturen gerade bentigt werden. Dieser Wert sollte stets unterhalb dessen bleiben
, was die Grafikkarte auch wirklich an Textur-Speicher besitzt. Wandert der Wert
doch mal zu hoch, so empfehle ich, den simulierten Textur-Speicher zu verringer
n.
Reihenfolge:
Ein Klick auf diesen Button verndert die Reihenfolge, in der die Daten auf dem B
ildschitm dargestellt werden (was ist Unten, was Oben,...). Rechts bei den Param
eter-Infos wird angezeigt, wie das dann in etwa spter aussieht. Wenn nur zwei Wer
te dargestellt werden sollen, muss man evtl. mehrfach klicken.
Extensions:
Hier kann eingestellt werden, welche Extensions vom Wrapper benutzt werden solle
n. Normalerweise braucht man hier nichts deaktivieren, es sei denn der OpenGL-Tr
eiber macht Probleme, oder man will explizit was austesten....
GL_EXT_vertex_array:
Wenn aktiviert und untersttzt, werden Vertex-Daten nicht umstndlich Stck fr Stck an
den OpenGL-Treiber bergeben, sondern zuerst "gesammelt" und dann in einem Rutsch b
ertragen.
GL_ATI_fragment_shader:
GL_ARB_fragment_program:
GL_EXT_paletted_texture:
Wenn eine dieser Extensions aktiviert ist und vom OpenGL-Treiber untersttzt wird
, kann der Wrapper die 8-Bit-Texturen vom Spiel direkt verwenden. Ansonsten mssen
sie in 16-Bit-Texturen konvertiert werden, was Zeit und Platz braucht.
Wenn mehrere dieser Extensions aktiviert sind, bekommt die EXT-Variante eine hher
e Gewichtung, als die ARB-Variante, welche wiederrum hher gewichtet wird als die
ATI-Variante.
GL_EXT_shared_texture_palette:
Wenn der Wrapper die 8-Bit-Texturen des Spiels mittels GL_EXT_paletted_texture
realisiert, kann hiermit eingestellt werden, ob alle Puffertexturen eine gemeins
ame Palette benutzen sollen, oder ob jede ihre eigene bekommt (welche am Ende da
nn doch immer denselben Inhalt haben).
GL_EXT_packed_pixels:
Wenn der Wrapper die 8-Bit-Texturen des Spiels ber 16-Bit-Texturen simulieren mu
ss, kann mit dieser Extension das Nachladen von Texturen beschleunigt werden.
GL_EXT_texture_env_combine:
Wenn der Wrapper die 8-Bit-Texturen des Spiels nicht mit Shadern realisiert, ka
nn hiermit eine korrekte Berechnung einiger Transparenz-Effekte erzielt werden.
Allerdings ist die sonstige Abweichung nur minimal.
WGL_EXT_swap_control:
Wenn aktiviert und vom Treiber untersttzt, kann hier das manuelle Einstellen von
der vertikalen Synchronisation ermglicht werden.
WGL_ARB_render_texture:
Wenn aktiviert und von OpenGL untersttzt, rendert der Wrapper erst in eine Textu
r und von dort dann auf den Bildschirm. Dieser Zwischenschritt reduziert zwar di
e Framerate, sorgt bei Desktop-Auflsung bzw. vergertem oder verkleinertem Fenster fr
eine bessere Grafik.
Std/Export:
In diesem Menu knnen die Standardwere wiederhergestellt werden. Auerdem knnen die E
instellungen in eine TXT-Datei exportiert werden.
Standardwerte wiederherstellen:
Stellt einfach nur alle Werte wieder auf Standard.
+Registry-Eintrge entfernen:
Zustzlich werden die Eintrge, die fr den Wrapper in der Registry vorgenommen wurde
n, gelscht.
Exportiere Einstellungen:
ffnet ein Dialogfenster zum speichern in eine Datei. Die Einstellungen werden da
nn in eine TXT-Datei exportiert.
Test:
Dies ist eigentlich kein Menu, sondern es startet einen Testlauf, mit dem der Wr
apper auf funktionalitt geprft werden kann, ohne dass man gleich das Spiel starten
muss. Der Test sollte nach Mglichkeit eine Framerate ber 50 FPS erzielen, was abe
r auch nicht so schwer sein drfte....
Deutsch/English
Hier kann ausgewhlt werden, in welcher Sprache der Wrapper (bzw. das Frontend) la
ufen sollen.
Beenden:
Beendet das Programm
6.Hinweise/technische Aspekte
hmm ja, wo soll ich anfangen? ja genau, ich fange mal damit an, was den Wrapper
vom Direct3D-Modus von Diablo2 unterscheidet:
1. Der Direct3D-Modus von Diablo2 erstellt wesentlich weniger Puffer-Texturen, a
ls der Glide-Modus, wodurch hufiger nachgeladen werden muss.
2. Der Wrapper benutzt OpenGL, der Direct3D-Modus DirectX6
Das Manko ist hierbei, dass DirectX6 keine 8-Bit-Paletten-Texturen untersttzt un
d Diablo2 daher 16-Bit-Texturen benutzen muss.
3. Desweiteren ist bei DirectX die Textur-Verwaltung anders als bei OpenGL und G
lide:
Der Verwaltungsoverhead bei DirectX ist immens im Vergleich zu OpenGL oder Glide
.
OpenGL und Glide haben also bei dynamisch zu ladenden Texturen einen Vorteil, un
d hier liegt der Hund begraben: bei den Texturmassen, die Diablo2 hat, mssen fast
alle Texturen dynamisch verwaltet werden. Und an dieser Stelle versagt Direct3D
: das dynamische Laden von Texturen dauert eine ganze Ewigkeit (bei OpenGL nur '
ne Halbe)
Um diese Probleme zu umgehen muss der Wrapper u.A. mehr Texturen erstellen, als
in Glide gerade bentigt werden: bei 16Mb simuliertem Textur-Speicher kann der Wra
pper durchaus 24MB Texturen in OpenGL erstellen, hngt aber auch von den Einstellu
ngen ab.
Fairerweise mchte ich aber erwhnen, dass man den Programmierern bei Blizzard keine
voreiligen Vorwrfe machen darf:
dreht man einfach mal die Zeit zurck und schaut sich den Stand der Technik an, wi
e er war, als das Spiel programmiert wurde, so war man vor das Problem gestellt,
dass man mit den wenigen Ressourcen, die die damalige Hardware bereitstellte, h
aushalten musste. So gesehen holt die Direct3D-Engine von Diablo2 tatschlich nahe
zu fast alles aus DirectX6 raus, was rauszuholen ist. Nur ist das halt nicht vie
l, bzw. die Technik hat sich soweit weiterentwickelt, dass man doch wieder mehr
draus machen knnte. Nur msste man die Direct3D-Engine neu schreiben.....oder auf O
penGL wechseln........ oder die Grafikkarten-Hersteller liefern echte Glide-Trei
ber fr ihre Grafikkarten (DAS wre optimal, dann knnte man auch auf den Wrapper verz
ichten, aber ob sie sich jemals diese Mhe machen werden?)
Aber zurck zum Wrapper
selbiger nutzt wie schon erwhnt OpenGL und stellt hier auch Ansprche:
Es werden folgende Extensions fr die korrekte Darstellung bentigt:
GL_EXT_texture_env_combine
GL_EXT_bgra
folgende Extensions sind vorteilhaft:
GL_EXT_vertex_array
GL_ATI_fragment_shader
GL_ARB_fragment_program
GL_EXT_paletted_texture
GL_EXT_shared_texture_palette
GL_EXT_packed_pixels
WGL_ARB_render_texture
Darum sollte der OpenGL-Treiber der Grafikkarte mindestens die OpenGL1.3-Spezifi
kation erfllen.
werden obendrein noch die Extensions GL_EXT_paletted_texture, GL_ATI_fragment_sh
ader und/oder GL_ARB_fragment_program untersttzt, so werden (wenn aktiviert) 8Bit
-Texturen verwendet, was das Nachladen von Texturen signifikant beschleunigt.
Da der Wrapper OpenGL benutzt, existiert hier auch der 60Hz-Bug, wenn als Betrie
bssystem Windows2000 oder WindowsXP installiert ist und die Bildwiederholfrequen
z nicht manuell eingestellt wurde. Lsungen zu diesem Bug gibt es im Internet zuha
uf: einfach in eine Suchmaschine eintippen oder mal bei den Internet-Seiten eini
ger PC-Zeitschriften reinsehen,
oder eben im Einrichtungsfrontend von dem Wrapper eine bestimmte Bildwiederholfr
equenz vorgeben.
7.Versionsnderungen:
Version 1.4e:
in der glide3x.dll
kleinere Bugs bzgl. Mausbegrenzen und Taskwechsel behoben
Bercksichtigung eingebaut, dass D2 das Fenster u.U. nicht mehr minimiert, wenn da
s Spiel nicht mehr im Vordergrund luft.
feste Gre von 1280x1024 auf 1280x960 korrigiert
in der glide-init.exe
die Einstellungen knnen nun in eine TXT-Datei exportiert werden
Version 1.4d:
in der glide3x.dll:
Frameraten-Begrenzung eingebaut.
Feste Fenster-Gre eingebaut.
der Wrapper merkt sich bei Bedarf die Fenster-Position.
32-Bit ist nun standard
GL_EXT_vertex_array ist nun per Standard deaktiviert.
32MB simulierter Grafikspeicher ist nun standard
in der glide-init.exe:
der Grafikkarten-Texturspeicher-Durchsatz wird nun auch in einem Diagramm darges
tellt. Anhand dieses Diagramms kann der Wrapper darauf eingestellt werden, von e
inem bestimmten Grafikkarten-Speicher auszugehen.
Version 1.4c:
in der glide3x.dll:
Bug behoben, GL_EXT_vertex_array betreffend. Diese Extension sollte nun auch mit
neueren Grafikkarten-Treibern funktionieren.
Breitbild-Anpassung separat einstellbar gemacht.
kleinere Bugs bzgl. der Status-Anzeige behoben.
Workaround fr den "Gidbinn-Bug" eingefgt
in der glide-init.exe:
der Grafikkarten-Textur-Speicher wird nun mittels OpenGL ermittelt
die Angabe fr den Textur-Speicher wird auf maximal 256MB begrenzt
der Testlauf wurde dahingehend gefixt, dass er nun auch auf echten 3dfx-Karten lu
ft
Version 1.4b
in der glide3x.dll:
Bug behoben, der auftrat, wenn Maus begrenzen aktiviert war und man ingame via A
LT-ENTER von Fenstermodus auf Desktopauflsung gewechselt hatte
render to texture aufgesplittet in WGL_ARB_render_texture und bilinearer Filter
in der glide-init.exe:
Fehler berichtigt
Version 1.4a
in der glide3x.dll:
bei Desktopauflsung wird das Seitenverhltnis in der Auflsung bercksichtigt.
bei den Shader-Texturen die Paletten-Textur modifiziert.
kleinere Fehler berichtigt.
in der glide-init.exe:
Fehler berichtigt
Version 1.4
in der glide3x.dll:
die Textur-Verwaltung komplett neu geschrieben: Die Texturen werden jetzt effizi
enter verwaltet.
8-Bit-Texturen knnen jetzt auch mit Shadern realisiert werden. Das Nachladen geht
dadurch schneller vonstatten, als wenn auf 16-Bit-Texturen zurckgegriffen werden
msste.
VSYNC kann jetzt vom Wrapper manuell eingestellt werden.
"DirectX fr Videos" entfernt.
in der glide-init.exe:
Fsaa/Multisampling entfernt : nutzlos bei D2
feste Gama-Tabelle entfernt
Render to texture hinzugefgt
Supersampling hinzugefgt
Shader-Gamma hinzugefgt
kein Gamma hinzugefgt
das Frontend komplett neu geschrieben.
Einstellungen werden jetzt in der Registry gespeichert.
OpenGL-Informationen knnen eingeholt werden, worauf auch kleinere Hilfestellungen
gegeben werden knnen.
Das Frontend kann den Inhalt der Readme-Dateien darstellen.
Ferner wurde auch ein Testlauf eingefgt, mit dem der Wrapper auf Funktionalitt gep
rft werden kann, ohne dass man das Spiel starten muss.
desweiteren: Dateinamen geringfgig gendert
Version 1.3c
in der glide3x.dll:
der Wrapper rendert jetzt immer in ein eigenes Fenster, welches direkt ber dem vo
n dem Spiel dargestellt wird. Dadurch ist es berhaupt erst mglich, Multisampling/F
SAA zu verwenden, bzw. die Fenstergre anpassbar zu machen. Als kleinen Vorteil erhl
t der Wrapper auch die Mglichkeit direkt zu erkennen, ob sich das Spiel minimiert
hat, wodurch der Parameter "weicher Auflsungswechsel" nicht mehr ntig ist.
DirectX wird jetzt nur noch fr Videos verwendet, wenn berhaupt.
An der Render-Engine selbst hat sich aber nichts verndert.
in der gl32oglinit.exe:
"weicher Auflsungswechsel" entfernt
"DirectX zum Einrichten" umbenannt in "DirectX fr Videos"
"Textur fr Videos" hinzugefgt
Einstellmglichkeit fr die Bildwiederholfrequenz hinzugefgt
"Fenster extras" hinzugefgt
"Desktopauflsung" hinzugefgt
Einstellmglichkeit fr Multisampling/FSAA hinzugefgt
in den "readme"s:
faq hinzugefgt
desweiteren: Dateinamen geringfgig gendert
Version 1.3b
in der glide3x.dll
nderungen an den Combiner-Modi vorgenommen. Das Problem mit den Textur-Umrandunge
n ist damit erledigt. Auch wird jetzt schneller zwischen den Combiner-Modi gewec
hselt.
Wenn GL_EXT_vertex_array vom Grafikkarten-Treiber nicht untersttzt wird, greift d
er Wrapper auf eigene Konstrukte zurck. Der Wrapper luft dann auch auf diesen Rech
nern, wenn auch nicht ganz so schnell. Ferner sind auch die Extensions GL_EXT_te
xture_env_combine und GL_EXT_bgra nicht mehr zwingend notwendig, allerdings wird
es zu Grafikfehlern kommen, wenn diese nicht vom Grafikkarten-Treiber zur Verfgu
ng gestellt werden.
nderungen an den Wrapper-Einstellungen werden jetzt auch on-the-fly bernommen: das
Spiel minimieren, nderungen vornehmen, Spiel wieder in den Vordergrund bringen,
fertig.
in der gl32oglinit.exe:
Frontend verndert
Schalter fr Info-Anzeige Reihenfolge hinzugefgt
Schalter fr Sprachen-Wechsel hinzugefgt
desweiteren gibt es jetzt eine deutsche "liesmich.txt" und eine englische "readm
e.txt"
Version 1.3a
in der glide3x.dll
kleine nderungen an den Combiner-Modi vorgenommen. Kompatibilittsprobleme sollten
jetzt seltener auftreten.
in der gl32oglinit.exe
Schalter hinzugefgt:
Uhr
zentriert
DirectX zum Einrichten
feste Gamma-Tabelle
Maus begrenzen
Version 1.3
in der glide3x.dll
Vertex-Arrays werden verwendet und auch vorrausgesetzt. Der Prozessor wird dadur
ch beim Rendern der Bodentexturen weniger stark belastet. Der Wrapper kann angew
iesen werden, beim Auflsungswechsel nicht vorher auf die Desktop-Auflsung zu wechs
eln. Der wechsel selbst geht dadurch schneller von statten, dafr wird beim Wechse
l der Anwendung allerdings die Auflsung auch nicht zurckgesetzt.
in der gl32oglinit.exe:
Schalter fr weichen Auflsungswechsel hinzugefgt.
Schreibfehler berichtigt.
Version 1.2
in der glide3x.dll :
Wrapperinterne Texturverwaltung modifiziert. Der Prozessor wird dadurch weniger
stark beansprucht, dafr werden aber noch mehr Texturen erstellt.
Neben der Framerate kann aber auch angezeigt werden, wieviel an Texturen durch d
en Wrapper tatschlich erstellt werden.
in der gl32oglinit.exe:
Schalter fr zustzliche Stats hinzugefgt.
Den Bereich fr den Textur-Speicher auf 8-108MB heraufgesetzt.
Version 1.1
in der glide3x.dll :
Die an Diablo2 gemeldete Textur-Speicher-Konfiguration gendert. Das Spiel verwalt
et die Texturen dadurch effizienter.
Das Aktualisieren von 16-Bit-Texturen gendert.
in der gl32oglinit.exe:
den Schalter 8-Bit-Texturen in die drei Schalter GL_EXT_palettized_textures, GL_
EXT_shared_texture_palette und GL_EXT_packed_pixels aufgespalten.
Den Standard-Wert fr den simulierten Textur-Speicher auf 16MB angehoben.
Den Bereich fr den Textur-Speicher auf 8-64MB gesetzt.
8.Hufig gestellte Fragen
Seit Erscheinen des Wrappers wurde schon die eine oder andere Frage an mich hera
ngetragen. An dieser Stelle mchte ich die wichtigsten schonmal im Vorraus abhande
ln.
1. Wenn ich den Wrapper unter Diablo2 benutze ist die Framerate miserabel (irgen
dwo bei 1FPS) und evtl. sogar in Fehlfarben.
Der Wrapper benutzt OpenGL und ist daher darauf angewiesen, dass der Computer au
ch mit korrekt laufenden OpenGL-Treibern eingerichtet ist. Warum jetzt kein korr
ekter OpenGL-Treiber vorliegt kann von Fall zu Fall unterschiedlich sein.
Mir sind bisher nur folgende Lsungsmglichkeiten bekannt:
- Grafikkarten-Treiber neu installieren
- bei vorhandensein mehrerer Grafikkarten oder Monitore: Sekundr-Anschlsse deaktiv
ieren
Ferner gibt es fr einige ltere Grafikkarten berhaupt keine OpenGL-Treiber, in dem F
all hilft dann nur der komplette Austausch der Grafikkarte.
2. der Wrapper luft, D2 liefert auch ein korrektes Bild, aber die Framerate ist n
icht besser, als vorher.
generell steht der Wrapper vor einem Problem: aus Sicht des Gesamt-Systems (also
des kompletten Rechners an sich) stellt der Wrapper nur eine zustzliche Belastun
g dar. Um jetzt die Framerate nicht schlechter zu machen, als sie vorher war, be
wirkt der Wrapper (im bertragenen Sinn) , dass die Last strker von der Grafikkarte
, als vom Prozessor abgearbeitet wird. Wenn jetzt aber nun in einem Rechner gera
de die Grafikkarte der Grund fr die schlechte Framerate ist (z.B. ein 3GHz-System
mit ner Riva128), dann ist das nicht verwunderlich, dass die Framerate MIT dem
Wrapper schlechter ist, als ohne. In solch einem Fall ist da der Vergleich mit d
em DDraw-Mode von D2 eher angebracht.
Lsungsmglichkeit:
Hardware-Ebene:
- Herausfinden, welches das schwchste Bauteil im Rechner ist, und um/aufrsten: ein
3GHz Prozessor und GF FX5900 sind nutzlos, wenn in dem Rechner nur 64MB Ram ein
gebaut sind (nur so als Beispiel).
Software-Ebene:
- neue/andere Treiber installieren. Fr mehrere Bauteile (zum Beispiel die Grafikk
arte) gibt es mehr als nur einen Treiber, und nicht immer ist der Neueste auch d
er Beste....
- Hintergrund-Programme knnen ebenso die Leistung des Rechners reduzieren, von Vi
ren,Wrmern,Trojanern usw. mal ganz zu schweigen.
- wenn das Spiel ber den "-w"-Parameter im Fenstermodus betrieben wird muss auch
der "-3dfx"-Parameter in der Verknpfung eingetragen sein: D2 benutzt sonst weder
Glide noch Direct3D
3. ich spiele im SP und die Framerate will partout nicht ber 25FPS gehen, egal we
lcher Grafikmodus!
Das ist im SP normal, und von Blizzard auch beabsichtigt.
Wenn man seine lokalen Helden auch mit maximalen FPS spielen knnen will, muss man
wohl oder bel ein Multiplayer-Game erstellen, wobei es dann allerdings egal ist,
ob es ein TCP/IP oder open/closed bnet-game ist.
4. ich spiele im Multiplayer, aber mit dem Wrapper geht die Framerate nicht ber 6
0FPS.
Aller wahrscheinlichkeit nach ist der Monitor auf 60Hz gestellt. Entweder kann d
er Monitor tatschlich nicht mehr, oder es handelt sich hier um den "60Hz-Bug", we
lcher unter Windows NT/2K/XP vorkommt.
Einige Grafikkarten-Treiber liefern von sich aus eine Mglichkeit, den Bug zu umge
hen, in anderen Fllen kommt man aber nicht umhin, einen "Refreshrate-fix" zu inst
allieren.
5. die Framerate ist zwar nicht bei 60FPS aber dafr konstant bei (z.B.) 90FPS. Be
i Anderen luft das Spiel aber auf wesentlich schlechteren Rechnern mit wesentlich
besserer Framerate (z.B.200FPS).
normalerweise wird die Framerate durch den Grafikkarten-Treiber bei der Monitorf
requenz gecapt. Was auch nicht unlogisch ist: wenn der Monitor nur 90 Bilder pro
Sekunde darstellen kann, warum sollte der Rechner dann 200 pro Sekunde berechne
n (110 davon wandern doch ungesehen in den Mll)? Auer zum Angeben hat das den Vort
eil, dass man an dieser hohen Framerate sehen kann, wieviel "Luft" der Rechner n
och hat, also wieviel zustzliche Belastung der Rechner noch aushlt, bevor es sicht
bare Einbuen (=Ruckeln) gibt.
dieses Begrenzen der Framerate kann man meistens in den Grafik-Optionen der Graf
ikkarte ein-/ausstellen und trgt den Namen "VSYNC" (Abkrzung fr "Vertikale SYNChron
isation").
6. manchmal ist die Grafik so dunkel.
Der Wrapper hat es nicht geschafft, die Gamma-Einstellung vorzunehmen.
mir bisher bekannte Lsungsmglichkeiten:
- im Spiel Gamma und Kontrast nachstellen
- feststellen, ob ein Hintergrund-Programm gelegentlich auf den Bildschirm zugre
ift (oder zumindest zugreifen mchte) und diese/s deaktivieren.
- evtl. Grafikkarten-Treiber neu installieren
- im Grafikarten-Treiber nachschauen, ob dort eine Helligkeits-Steuerung vorgege
ben werden kann.
- wenn vom Treiber untersttzt: shader-gamma im Frontend aktivieren
7. ich habe auch einige Mods zu dem Game installiert, luft der Wrapper auch damit
?
Primr habe ich den Wrapper fr die Original-Fassung von dem Spiel programmiert. Fer
ner habe ich auch nicht die Zeit und Mue alle Mods zu dem Spiel auf Vertglichkeit
hin zu testen. Das muss man dann schon selbst ausprobieren. Generell kann ich da
zu nur sagen:
eigentlich sollte der Wrapper mit jedem Mod klarkommen, oder anders ausgedrckt: d
ie Mods sollten mit Wrapper nicht mehr Probleme machen, als ohne.
Bisher habe ich den Wrapper nur in Kombination mit dem ChaosEmpire-Mod und Snej
getestet, und konnte da bisher keine Fehler feststellen, auch wurde mir bisher n
och kein Problem mit der Vertrglichkeit von "offizieller Seite" berichtet.
ich habe zwar auch den D2-Accelerator angetestet (und hier ebenfalls keine Fehle
r feststellen knnen), allerdings wurde schon mehrfach von Problemen mit dem Mod a
n sich berichtet.
8. ich habe den Wrapper jetzt installiert, luft auch gut, aber kann man da nicht
noch mehr rausholen?
besser geht's eigentlich immer, irgendwie;-)
wenn der Wrapper noch auf der Standard-Einstellung luft, kann man auf jeden Fall
noch was mit dem "Textur-Speicher" rausholen.
welche Einstellung hier jetzt nun optimal ist, wird wohl von Rechner zu Rechner
unterschiedlich sein, ich sehe hier folgende Faustformel als gute Nherung an:
Bei Grafikkarten, die die 8-Bit-Texturen untersttzen knnen (z.B. alle Geforces und
Radeons ab 8500):
Textur-Speicher = echter Grafikkarten-Speicher / 4 * 3
bei allen anderen Grafikkarten:
Textur-Speicher = echter Grafikkarten-Speicher / 8 * 3
9. Ich spiele mit dem Wrapper im Fenstermodus, aber jedes mal, wenn ich das Inve
ntar ffne springt die Maus an die falsche Stelle.
Das Problem basiert darauf, dass die Glide-Engine von dem Spiel eigentlich gar n
icht fr den Fensterbetrieb vorgesehen ist.
Das Problem kann aber glcklicherweise umgangen werden, indem man in der Spiel-Ver
knpfung die Start-Parameter -w und -3dfx anfgt. so dass da z.B.
"c:\spiele\Diablo II\Diablo II.exe" -w -3dfx
steht.
10. Vista, Wenn ich den Wrapper starte kommt nur ein schwarzes Bild/Fenster und
oben Links vom Monitor werden nur Zeichen langsam durchlaufen.
Bitte erstmal vergewissern, ob bei Vista die Aero-Glass-Oberflche aktiv ist. Wenn
ja, dann bitte testweise deaktivieren.
Der Wrapper nutzt die OpenGL-Schnittstelle. Unter Vista steht die echte OpenGL-S
chnittstelle nicht zur Verfgung, wenn Aero-Glass aktiviert ist.
In der Start-Verknpfung von Diablo2 lsst sich aber einstellen, dass bei Programmst
art Aero-Glass automatisch deaktiviert, und bei Verlassen des Programms auch wie
der automatisch aktiviert wird: dazu bitte in den Eigenschaften der D2-Startverk
npfung im Karteireiter 'Kompatibilitt' bei dem Kstchen 'Desktopgestaltung deaktivie
ren' den Haken setzen.
Der Wrapper kann auch selber Aero-glass temporr deaktivieren. Dafr unter renderer
den Haken bei "Desktopgestaltung erhalten" entfernen.
9.Sonstiges
Dieser Wrapper ist Freeware und darf somit frei kopiert und weitergegeben werden
, solange die Dateien selbst unverndert und beieinander bleiben.
Bei der Programmierung habe ich mein hchstes Augenmerk auf die Stabilitt gerichtet
, nichtsdestotrotz kann ich keinerlei Garantie dafr geben, dass der Wrapper auf j
edem System einwandfrei luft. Zu umfangreich sind die Mglichkeiten, die dafr sorgen
knnen, dass der Wrapper denn doch rger auslst.
Aber immerhin, auf den Rechnern, auf denen ich den Wrapper bisher eingesetzt hab
e, ist der Performance-Gewinn gegenber dem Direct3D-Mode doch recht ansehnlich.
bye
Sven Labusch