Diablo 2 Glide3-zu-OpenGL-Wrapper

  1. Vorwort
  2. Lieferumfang und Download
  3. Anforderungen
  4. Installation
  5. Dateibeschreibungen
  6. Hinweise/technische Aspekte
  7. Versionsänderungen
  8. Fragen oder Probleme
  9. Sonstiges

Seitenanfang

1. Vorwort

Erstmal hallo allerseits!
um es kurz zu fassen: mich hat die Leistung, die Diablo 2 unter Direct3D an den Tag legt genervt.
Da Diablo 2 mit der Glide-Schnittstelle eine bessere Figur macht, war es für mich naheliegend, irgendwie zu versuchen,
dass das Spiel auch auf meinem Rechner mit Glide laufen kann. Dabei gab es zwei Probleme:

  1. Glide-Treiber gibt es nur für Voodoo-Karten. Diablo 2 braucht Voodoo-Karten ab dem Typ Voodoo-Rush, dummerweise hat mein Rechner aber ’ne Geforce2MX.
  2. Glide-Wrapper gibt es viele, aber leider habe ich keinen finden können, der für mich zufriedenstellend mit Diablo 2 läuft.

    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 extra betonen möchte: Dieser Glide-Wrapper ist explizit für das Spiel Diablo 2 programmiert, es
    ist davon auszugehen, dass er mit anderen Programmen NICHT läuft, oder zumindest keine korrekte Anzeige liefert.

Nachtrag:Dies ist die Version 1.3c von dem Wrapper.
Und ein Dankeschön an „Shabazza“, „Luzi“, „mindphlux“, „UnserenToten“, „ChaosEnergy“, „acesulfam“ und dem staff aus dem inDiablo.de-Forum, welche mir geholfen haben.

Seitenanfang

2. Lieferumfang und Download

4 Dateien:

  • gl32ogl-liesmich.txt 25200 Byte
  • gl32ogl-readme.txt 20524 Byte
  • gl32ogl-init.exe 81920 Byte
  • glide3x.dll 99840 Byte

Downloaden könnt ihr euch den Glidewrapper hier

Seitenanfang

3. Anforderungen

Benötigt (=“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

Seitenanfang

4. Installation

Es gibt 2 Möglichkeiten:

  1. Die Datei „glide3x.dll“ in das Windows-Systemverzeichnis (z.B. „c:\windows\system“) kopieren
  2. Die Datei „glide3x.dll“ in das Spiele-Verzeichnis (z.B. „c:\spiele\diablo2“) kopieren

Die Datei „gl32oglinit.exe“ erstellt eine Datei „gl32ogl.ini“, welche in das Spiele-Verzeichnis kopiert werden muss, wenn
der Wrapper nicht mit den Standard-Parametern laufen soll.
Da Dieser Wrapper ausschliesslich für Diablo 2 programmiert ist, empfehle ich den 2.Weg Sind die Dateien kopiert, muss im
Anschluss noch der Vid-Test von Diablo 2 ausgeführt und Glide ausgewählt werden.

Seitenanfang

5. Dateibeschreibungen

liesmich.txt:

Das ist die Datei die sie gerade lesen.

readme.txt:

Wie die 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.

gl32oglinit.exe:

hiermit können einige Parameter vom Wrapper verändert werden:

Infos anzeigen:

gibt an, ob, und wenn ja, wo im Bild die Status-Informationen angezeigt werden sollen.
Standardeinstellung: keine Anzeige

Reihenfolge:

Mit dem Schalter kann die Reihenfolge geändert werden, in der die Status-Informationen angezeigt werden sollen.

Framerate:

zeigt an, wieviele Bilder das Spiel pro Sekunde darstellt.
Standardeinstellung: aktiviert(=Häkchen)

Uhr:

zeigt die Uhrzeit an
Auswahlmöglichkeiten:
  • keine
  • digitale
  • kleine analoge
  • große analoge

Standardeinstellung: keine

Texturmasse:

zeigt an, wieviel an Texturen von dem Wrapper tatsächlich erstellt werden.
Standardeinstellung: deaktiviert(=kein Häkchen)

MB Textur-Speicher:

gibt an, wieviel zur Verfügung stehender Textur-Speicher emuliert werden soll.
Es ist nicht ratsam zuviel zu wählen, da ein Teil dieses Textur-Speichers vom Hauptspeicher abgezweigt werden muss. Wieviel jetzt nun
„zuviel“ ist hängt ganz vom jeweiligen Rechner und dem darauf installierten Betriebssystem ab. Pi mal Daumen empfehle ich folgende Werte:
bei Rechnern mit:
weniger als 256MB Hauptspeicher: 8MB-16MB Textur-Speicher
genau 256 MB Hauptspeicher : 16MB-32MB Textur-Speicher
mehr als 256MB Hauptspeicher : 32MB Textur-Speicher oder mehr
Es sollte aber auch nicht so viel eingestellt werden, dass der Wrapper mehr Texturen erstellt, als die Grafikkarte selbst an Speicher
hat (kann mit dem Schalter „Texturmasse“ überprüft werden).
Standardeinstellung: 16MB Textur-Speicher

GL_EXT_paletted_texture:

gibt an, ob der Wrapper 8-Bit-Paletten-Texturen benutzen soll, oder nicht.
Unterstützt die Grafikkarte keine 8-Bit-Paletten-Texturen (oder ist die Einstellung deaktiviert) benutzt der Wrapper statt
dessen 16-Bit-Texturen. 16-Bit-Texturen verbrauchen doppelt so viel Speicherplatz wie 8-Bit-Texturen, außerdem müssen die
8-Bit-Texturen von Diablo2 erst in 16-Bit-Texturen umgewandelt werden, was noch eine zusätzliche Belastung für den Rechner
verursacht. Es ist daher Ratsam die 8-Bit-Texturen auch zu benutzen, wenn sie unterstützt werden.
Standardeinstellung: aktiviert(=Häkchen)

GL_EXT_shared_texture_palette:

wenn aktiviert und unterstützt, wird eine Palette erstellt, die für alle Texturen gleichzeitig gilt.
Ansonsten muss für jede einzelne Textur eine eigene Palette erstellt werden, was Ressourcen frisst. Nur relevant, wenn
GL_EXT_paletted_texture aktiviert UND unterstützt.
Standardeinstellung: aktiviert(=Häkchen)

GL_EXT_packed_pixels:

Wenn GL_EXT_paletted_texture nicht aktiv oder unterstützt, muss der Wrapper auf 16-Bit-Texturen ausweichen.
Mit diesem Schalter kann das Nachladen von ebendiesen Texturen beschleunigt werden.
Standardeinstellung: aktiviert(=Häkchen)

DirectX für Videos:

Wenn aktiviert, wird DirectX anstatt OpenGL benutzt, um die Video-Sequenzen des Spiels darzustellen.
Diese Videos werden dann auch immer im Vollbild dargestellt. Nichts desto trotz wird auch weiterhin OpenGL zum Rendern verwendet.
Standardeinstellung: deaktiviert(=kein Häkchen)

Textur für Videos:

Wenn aktiviert, werden die Videos mittels Texturen realisiert, ansonsten über die Funktion glDrawPixels. Je
nach Rechner kann das Eine, oder das Andere die bessere Lösung sein. Wenn also Probleme mit den Videos bestehen, empfehle ich
erstmal bei diesem Parameter den Hebel anzusetzen.
Standardeinstellung: aktiviert(=Häkchen)

feste Gamma-Tabelle:

Wenn aktiviert, übernimmt der Wrapper das Einrichten der Gamma-Einstellung. Bei erstmaliger Aktivierung
muss aber im Spiel erst noch Gamma und Kontrast manuell eingestellt werden. Der Wrapper erstellt dabei die Datei „gl32ogl.gma“,
in der diese Einstellung gespeichert wird.
Standardeinstellung: deaktiviert(=kein Häkchen)

Hz maximale Bildwiederholfrequenz:

Wenn unterstützt, kann mit diesem Parameter angegeben werden, mit welcher Bildwiederholfrequenz der Monitor
möglichst betrieben werden soll. Vorsicht: das Betriebssystem meldet normalerweise zwar, welche Bildwiederholfrequenzen von dem
angeschlossenen Monitor unterstützt werden, aber es kann trotzdem zu Problemen kommen, wenn man hier einen zu hohen Wert angibt.
Standardeinstellung: auto

Fenstermodus:

Wenn aktiviert rendert der Wrapper in ein Fenster und nicht auf den ganzen Bildschirm.
Nichtsdestotrotz: ein Klick außerhalb vom Fenster minimiert das Spiel nachwievor.
Standardeinstellung: deaktiviert(=kein Häkchen)

Zentriert:

Wenn aktiviert, wird im Fenstermodus das Diablo2-Fenster in der Mitte vom Bildschirm dargestellt, ansonsten
links oben in der Ecke. Hierbei tritt in der derzeitigen Diablo2/LOD-Version (v1.10) ein Fehler auf, wenn ein halbseitiges Info-Fenster
geöffnet wird (z.B. das Inventar): Der Mauszeiger springt dann an eine falsche Stelle.
Standardeinstellung: deaktiviert(=kein Häkchen)

Maus begrenzen:

Wenn aktiviert kann der Mauszeiger das Diablo2-Fenster nicht mehr verlassen.
Für diese Einstellung sollte der Wrapper eigentlich gar nicht zuständig sein, allerdings existiert ein Bug:
bei Mehrschirm-Betrieb kann der Mauszeiger auch im Vollbild-Modus das Diablo2-Fenster verlassen (der Mauszeiger
wechselt zum anderen Monitor), was mitunter unangenehm werden kann : ein Klick ausserhalb des Fensters minimiert das Spiel.
Standardeinstellung: deaktiviert(=kein Häkchen)

Fenster extras:

Wenn aktiviert, und Fenstermodus ebenfalls aktiv, kann das Fenster in seiner Größe verändert werden.
Dies führt allerdings nur dazu, dass alles im Fenster größer gerendert wird, als sonst. Man sieht also nicht mehr, als
früher. Auch wird die Grafik dadurch nicht verbessert.
Standardeinstellung: deaktiviert(=kein Häkchen)

Desktopauflösung:

wenn aktiviert, und Fenstermodus deaktivert, wird für den Vollbildbetrieb die Monitorauflösung nicht
verändert. Der Wrapper rendert dann also in derselben Auflösung, wie der Desktop eingestellt ist. Wie für „Fenster extras“
gilt: das macht die Grafik nicht unbedingt besser, kann aber u.U. dafür sorgen, dass auf dem einen oder anderen TFT-Display
das Bild so immernoch besser aussieht, als sonst: bei einigen TFTs sehen die Auflösungen 800×600 und 640×480 nicht sonderlich
gut aus. Sei es, weil das Display schlecht interpoliert, oder weil es sogar überhaupt nicht interpoliert.
Standardeinstellung: deaktiviert (=kein Häkchen)

Multisampling/FSAA:

Wenn aktiviert und unterstützt, sorgt dieser Parameter dafür, dass für jeden Bildpunkt mehrere eng
beieinander liegende virtuelle Punkte berechnet werden. Dies führt bei normalen 3d-Anwendungen dazu, dass die Bildqualität
steigt. Bei der Grafik von „Diablo2″/“Lord of Destruction“ ist dies allerdings verhältnismässig sinnfrei. Echte Vorteile
bringt FSAA hier nur dann, wenn der Wrapper nicht in der echten Auflösung rendert, „Desktopauflösung“ oder „Fenster
extras“ also aktiviert sind.
Standardeinstellung: kein Multisampling/FSAA

Deutsch/english:

wechselt die Sprache vom Initialisierungs-Programm.
Standardeinstellung: Deutsch

Speichern:

speichert die gemachten Einstellung in die Datei „gl32ogl.ini“.
Existiert die Datei bereits, wird sie überschrieben, existiert sie noch nicht, wird sie neu erstellt. Benutzt man den
Wrapper, ohne dass eine „gl32ogl.ini“ existiert, so nimmt der Wrapper die Standardeinstellungen.

beenden:

erklärt sich von selbst, oder? 😉
Ach ja, bei beenden wird NICHT gespeichert! Abspeichern muss man manuell.

Seitenanfang

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, als der Glide-Modus, wodurch häufiger nachgeladen werden muss.
2. Der Wrapper benutzt OpenGL, der Direct3D-Modus DirectX6
Das Manko ist hierbei, dass DirectX6 keine 8-Bit-Paletten-Texturen unterstützt und Diablo2 daher 16-Bit-Texturen benutzen muss.
3. Desweiteren ist bei DirectX die Textur-Verwaltung anders als bei OpenGL und Glide: Der Verwaltungsoverhead bei DirectX ist immens
im Vergleich zu OpenGL oder Glide. OpenGL und Glide haben also bei dynamisch zu ladenden Texturen einen Vorteil, und hier liegt der
Hund begraben: bei den Texturmassen, die Diablo2 hat, müssen 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. wesentlich mehr Texturen erstellen, als in Glide gerade benötigt werden: bei
16Mb simuliertem Textur-Speicher kann der Wrapper durchaus 64MB Texturen in OpenGL erstellen.

Fairerweise möchte ich aber erwähnen, dass man den Programmierern bei Blizzard keine voreiligen Vorwürfe machen darf:
dreht man einfach mal die Zeit zurück und schaut sich den Stand der Technik an, wie 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, haushalten musste. So
gesehen holt die Direct3D-Engine von Diablo2 tatsächlich nahezu fast alles aus DirectX6 raus, was rauszuholen ist. Nur ist das halt
nicht viel, bzw. die Technik hat sich soweit weiterentwickelt, dass man doch wieder mehr draus machen könnte. Nur müsste man die
Direct3D-Engine neu schreiben…..oder auf OpenGL wechseln…….. oder die Grafikkarten-Hersteller liefern echte Glide-Treiber für
ihre Grafikkarten (DAS währe optimal, dann könnte man auch auf den Wrapper verzichten, aber ob sie sich jemals diese Mühe machen werden?)

Aber zurück zum Wrapper, selbiger nutzt wie schon erwähnt OpenGL und stellt hier auch Ansprüche. Es werden folgende Extensions für die
korrekte Darstellung benötigt:

  • GL_EXT_texture_env_combine
  • GL_EXT_bgra
    folgende Extensions sind vorteilhaft:
  • GL_EXT_vertex_array
  • GL_EXT_paletted_texture
  • GL_EXT_shared_texture_palette
  • GL_EXT_packed_pixels

Darum sollte der OpenGL-Treiber der Grafikkarte mindestens die OpenGL1.3-Spezifikation erfüllen.

Wird obendrein noch die Extension GL_EXT_paletted_texture unterstützt, so werden (wenn aktiviert) 8Bit-Texturen verwendet,
was das Nachladen von Texturen signifikant beschleunigt.
br/>
Da der Wrapper OpenGL benutzt, existiert hier auch der 60Hz-Bug, wenn als Betriebssystem Windows2000 oder WindowsXP
installiert ist und die Bildwiederholfrequenz nicht manuell eingestellt wurde. Lösungen zu diesem Bug gibt es im Internet
zuhauf: einfach in eine Suchmaschine eintippen oder mal bei den Internet-Seiten einiger PC-Zeitschriften reinsehen,
oder eben im Einrichtungsfrontend von dem Wrapper eine bestimmte Bildwiederholfrequenz vorgeben.

Seitenanfang

7. Versionsänderungen:

Version 1.3c
In der glide3x.dll: der Wrapper rendert jetzt immer in ein eigenes Fenster, welches direkt über dem von dem Spiel dargestellt
wird. Dadurch ist es überhaupt erst möglich, Multisampling/FSAA zu verwenden, bzw. die Fenstergröße anpassbar zu machen.
Als kleinen Vorteil erhält der Wrapper auch die Möglichkeit direkt zu erkennen, ob sich das Spiel minimiert hat, wodurch
der Parameter „weicher Auflösungswechsel“ nicht mehr nötig ist.
DirectX wird jetzt nur noch für Videos verwendet, wenn überhaupt.
An der Render-Engine selbst hat sich aber nichts verändert.

In der gl32oglinit.exe:

  • „weicher Auflösungswechsel“ entfernt
  • „DirectX zum Einrichten“ umbenannt in „DirectX für Videos“
  • „Textur für Videos“ hinzugefügt
  • Einstellmöglichkeit für die Bildwiederholfrequenz hinzugefügt
  • „Fenster extras“ hinzugefügt
  • „Desktopauflösung“ hinzugefügt
  • Einstellmöglichkeit für Multisampling/FSAA hinzugefügt

In den „readme“s: faq hinzugefügt
desweiteren: Dateinamen geringfügig geändert

Version 1.3b
In der glide3x.dll: Änderungen an den Combiner-Modi vorgenommen. Das Problem mit den Textur-Umrandungen ist damit erledigt.
Auch wird jetzt schneller zwischen den Combiner-Modi gewechselt. Wenn GL_EXT_vertex_array vom Grafikkarten-Treiber nicht unterstützt
wird, greift der Wrapper auf eigene Konstrukte zurück. Der Wrapper läuft dann auch auf diesen Rechnern, wenn auch nicht ganz so
schnell. Ferner sind auch die Extensions GL_EXT_texture_env_combine und GL_EXT_bgra nicht mehr zwingend notwendig, allerdings wird
es zu Grafikfehlern kommen, wenn diese nicht vom Grafikkarten-Treiber zur Verfügung 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 verändert
  • Schalter für Info-Anzeige Reihenfolge hinzugefügt
  • Schalter für Sprachen-Wechsel hinzugefügt
  • desweiteren gibt es jetzt eine deutsche „liesmich.txt“ und eine englische „readme.txt“

Version 1.3a
In der glide3x.dll: kleine Änderungen an den Combiner-Modi vorgenommen. Kompatibilitätsprobleme sollten jetzt seltener auftreten.

In der gl32oglinit.exe: Schalter hinzugefügt:

  • 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 dadurch beim Rendern der Bodentexturen
weniger stark belastet. Der Wrapper kann angewiesen werden, beim Auflösungswechsel nicht vorher auf die Desktop-Auflösung zu wechseln.
Der Wechsel selbst geht dadurch schneller von statten, dafür wird beim Wechsel der Anwendung allerdings die Auflösung auch nicht zurückgesetzt.

In der gl32oglinit.exe:

  • Schalter für weichen Auflösungswechsel hinzugefügt.
  • Schreibfehler berichtigt.

Version 1.2
In der glide3x.dll: Wrapperinterne Texturverwaltung modifiziert. Der Prozessor wird dadurch weniger stark beansprucht, dafür werden
aber noch mehr Texturen erstellt. Neben der Framerate kann aber auch angezeigt werden, wieviel an Texturen durch den Wrapper
tatsächlich erstellt werden.

In der gl32oglinit.exe:

  • Schalter für zusätzliche Stats hinzugefügt.
  • Den Bereich für den Textur-Speicher auf 8-108MB heraufgesetzt.

Version 1.1
In der glide3x.dll: Die an Diablo2 gemeldete Textur-Speicher-Konfiguration geändert. Das Spiel verwaltet die Texturen dadurch effizienter.
Das Aktualisieren von 16-Bit-Texturen geändert.

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 für den simulierten Textur-Speicher auf 16MB angehoben.
  • Den Bereich für den Textur-Speicher auf 8-64MB gesetzt.

Seitenanfang

8. Fragen und Probleme

Seit Erscheinen des Wrappers wurde schon die eine oder andere Frage an mich herangetragen.
An dieser Stelle möchte ich die wichtigsten schonmal im Vorraus abhandeln.

1. Wenn ich den Wrapper unter Diablo2 benutze ist die Framerate miserabel (irgendwo bei 1FPS) und evtl. sogar in Fehlfarben.

Der Wrapper benutzt OpenGL und ist daher darauf angewiesen, dass der Computer auch mit korrekt laufenden OpenGL-Treibern eingerichtet ist.
Warum jetzt kein korrekter OpenGL-Treiber vorliegt kann von Fall zu Fall unterschiedlich sein.
Mir sind bisher nur folgende Lösungsmöglichkeiten bekannt:
  • Grafikkarten-Treiber neu installieren
  • bei vorhandensein mehrerer Grafikkarten oder Monitore: Sekundär-Anschlüsse deaktivieren
  • Ferner gibt es für einige ältere Grafikkarten überhaupt keine OpenGL-Treiber, in dem Fall hilft dann nur der komplette Austausch der Grafikkarte.

    2. der Wrapper läuft, D2 liefert auch ein korrektes Bild, aber die Framerate ist nicht besser, als vorher.

    Generell steht der Wrapper vor einem Problem: aus Sicht des Gesamtsystems (also des kompletten Rechners an sich) stellt der Wrapper
    nur eine zusätzliche Belastung dar. Um jetzt die Framerate nicht schlechter zu machen, als sie vorher war, bewirkt der
    Wrapper (im übertragenen Sinn) , dass die Last stärker von der Grafikkarte, als vom Prozessor abgearbeitet wird. Wenn jetzt aber nun
    in einem Rechner gerade die Grafikkarte der Grund für 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
    dem DDraw-Mode von D2 eher angebracht.
    Lösungsmöglichkeit:
    Hardware-Ebene:

    • Herausfinden, welches das schwächste Bauteil im Rechner ist, und um/aufrüsten: ein 3GHz Prozessor und GF FX5900 sind nutzlos, wenn in dem Rechner nur 64MB Ram eingebaut sind (nur so als Beispiel).
      Software-Ebene:
    • neue/andere Treiber installieren. Für mehrere Bauteile (zum Beispiel die Grafikkarte) gibt es mehr als nur einen Treiber, und nicht immer ist der Neueste auch der Beste….
    • Hintergrundprogramme können ebenso die Leistung des Rechners reduzieren, von Viren,Würmern,Trojanern usw. mal ganz zu schweigen.
    • Wenn das Spiel über den „-w“-Parameter im Fenstermodus betrieben wird muss auch der „-3dfx“-Parameter in der Verknüpfung eingetragen sein: D2
      benutzt sonst weder Glide noch Direct3D
    3. Ich spiele im SP und die Framerate will partout nicht über 25FPS gehen, egal welcher Grafikmodus!

    Das ist im SP normal, und von Blizzard auch beabsichtigt.
    Wenn man seine lokalen Helden auch mit maximalen FPS spielen können 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 60FPS.

    Aller Wahrscheinlichkeit nach ist der Monitor auf 60Hz gestellt. Entweder kann der Monitor tatsächlich nicht mehr, oder es handelt
    sich hier um den „60Hz-Bug“, welcher unter Windows NT/2K/XP vorkommt. Einige Grafikkartentreiber liefern von sich aus eine Möglichkeit,
    den Bug zu umgehen, in anderen Fällen kommt man aber nicht umhin, einen „Refreshrate-fix“ zu installieren.

    5. Die Framerate ist zwar nicht bei 60FPS aber dafür konstant bei (z.B.) 90FPS. Bei Anderen läuft das Spiel aber auf
    wesentlich schlechteren Rechnern mit wesentlich besserer Framerate (z.B.200FPS).

    Normalerweise wird die Framerate durch den Grafikkartentreiber bei der Monitorfrequenz gecapt. Was auch nicht unlogisch ist: wenn der Monitor
    nur 90 Bilder pro Sekunde darstellen kann, warum sollte der Rechner dann 200 pro Sekunde berechnen (110 davon wandern doch ungesehen in den Müll)?
    Außer zum Angeben hat das den Vorteil, dass man an dieser hohen Framerate sehen kann, wieviel „Luft“ der Rechner noch hat, also wieviel
    zusätzliche Belastung der Rechner noch aushält, bevor es sichtbare Einbußen (=Ruckeln) gibt.
    Dieses Begrenzen der Framerate kann man meistens in den Grafikoptionen der Grafikkarte ein-/ausstellen und trägt den
    Namen „VSYNC“ (Abkürzung für „Vertikale SYNChronisation“).

    6. Manchmal ist die Grafik so dunkel.

    Der Wrapper hat es nicht geschafft, die Gamma-Einstellung vorzunehmen.
    Mir bisher bekannte Lösungsmöglichkeiten:

    • im Spiel Gamma und Kontrast nachstellen
    • für den Wrapper „feste Gamma-Tabelle“ aktivieren (im Spiel muss dann einmalig Gamma/Kontrast nachgestellt werden)
    • feststellen, ob ein Hintergrund-Programm gelegentlich auf den Bildschirm zugreift (oder zumindest zugreifen möchte) und diese/s deaktivieren.
    • evtl. Grafikkarten-Treiber neu installieren
    7. Ich habe auch einige Mods zu dem Game installiert, läuft der Wrapper auch damit?

    Primär habe ich den Wrapper für die Originalfassung von dem Spiel programmiert. Ferner habe ich auch nicht die Zeit und Muße alle
    Mods zu dem Spiel auf Vertäglichkeit hin zu testen. Das muss man dann schon selbst ausprobieren. Generell kann ich dazu nur sagen:
    eigentlich sollte der Wrapper mit jedem Mod klarkommen, oder anders ausgedrückt: die Mods sollten mit Wrapper nicht mehr Probleme machen, als ohne.
    Bisher habe ich den Wrapper nur in Kombination mit dem ChaosEmpire-Mod getestet, und konnte da bisher keine Fehler feststellen, auch wurde
    mir bisher noch kein Problem mit der Verträglichkeit von „offizieller Seite“ berichtet.
    ich habe zwar auch den D2-Accelerator angetestet (und hier ebenfalls keine Fehler feststellen können), allerdings wurde schon mehrfach
    on Problemen mit dem Mod an sich berichtet.

    8. Ich habe den Wrapper jetzt installiert, läuft auch gut, aber kann man da nicht noch mehr rausholen?

    Besser geht’s eigentlich immer, irgendwie;-) wenn der Wrapper noch auf der Standard-Einstellung läuft, 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 Näherung an: Bei Grafikkarten, die die 8-Bit-Texturen unterstützen (z.B. alle Geforces außer den neuen 6-Tausendern):

    • Textur-Speicher = echter Grafikkarten-Speicher / 2
      bei allen anderen Grafikkarten (also auch die Gf6800):
    • Textur-Speicher = echter Grafikkarten-Speicher / 4
    9. Ich spiele mit dem Wrapper im Fenstermodus, aber jedes mal, wenn ich das Inventar öffne springt die Maus an die falsche Stelle.

    Das Problem basiert darauf, dass die Glide-Engine von dem Spiel eigentlich gar nicht für den Fensterbetrieb vorgesehen ist.
    Das Problem kann aber glücklicherweise umgangen werden, indem man in der Spielverknüpfung die Startparameter -w und -3dfx anfügt.
    so dass da z.B.

    „c:\spiele\Diablo II\Diablo II.exe“ -w -3dfx steht.

    Seitenanfang

    9. Sonstiges

    Dieser Wrapper ist Freeware und darf somit frei kopiert und weitergegeben werden, solange die Dateien selbst
    unverändert und beieinander bleiben. Bei der Programmierung habe ich mein höchstes Augenmerk auf die Stabilität gerichtet, nichtsdestotrotz
    kann ich keinerlei Garantie dafür geben, dass der Wrapper auf jedem System einwandfrei läuft. Zu umfangreich sind die Möglichkeiten,
    die dafür sorgen können, dass der Wrapper dann doch Ärger auslöst.

    Aber immerhin, auf den Rechnern, auf denen ich den Wrapper bisher eingesetzt habe, ist der Performancegewinn gegenüber
    dem Direct3D-Mode doch recht ansehnlich.
    bye
    Sven Labusch

    Autor:
    Kaligula
    HTML-Übersetzung: MasterChief
    Stand: Februar 2005